Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use RC522 RFID Module: Examples, Pinouts, and Specs

Image of RC522 RFID Module
Cirkit Designer LogoDesign with RC522 RFID Module in Cirkit Designer

Introduction

The RC522 RFID Module, manufactured by NXP Semiconductors (Part ID: MFRC522-based RC522 Module), is a compact and cost-effective device designed for reading and writing RFID tags. Operating at a frequency of 13.56 MHz, it supports communication with a variety of RFID cards and tags, including MIFARE cards. This module is widely used in applications such as:

  • Access control systems (e.g., door locks, attendance systems)
  • Inventory management (e.g., tracking assets or goods)
  • Contactless payment systems
  • IoT projects requiring RFID-based identification

Its small size, low power consumption, and SPI communication interface make it an excellent choice for integration into microcontroller-based systems, including Arduino projects.


Explore Projects Built with RC522 RFID Module

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino UNO and RFID-RC522 Based RFID Reader System
Image of attendance: A project utilizing RC522 RFID Module in a practical application
This circuit integrates an Arduino UNO with an RFID-RC522 module to enable RFID-based identification. The Arduino provides power and SPI communication to the RFID module, allowing it to read RFID tags and potentially perform actions based on the tag data.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO and RFID-RC522 Based RFID Reader System
Image of RFID ATTENDANCE SYSTEM: A project utilizing RC522 RFID Module in a practical application
This circuit integrates an Arduino UNO with an RFID-RC522 module to enable RFID tag reading functionality. The Arduino provides power and SPI communication to the RFID module, allowing it to read and process RFID tags.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO RFID Access Control System with I2C LCD Feedback and Keypad Input
Image of eduVents_NFC: A project utilizing RC522 RFID Module in a practical application
This circuit is designed to read RFID tags using the RFID-RC522 module, display information on an I2C LCD screen, and accept user input via a 4x4 membrane matrix keypad. It is controlled by an Arduino UNO, which is powered by a 3xAA battery pack, and communicates with the RFID module and LCD screen using SPI and I2C protocols, respectively.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO and RFID-RC522 Based RFID Reader System
Image of compartment: A project utilizing RC522 RFID Module in a practical application
This circuit consists of an Arduino UNO microcontroller connected to an RFID-RC522 module. The Arduino provides power and handles communication with the RFID module, enabling it to read RFID tags for identification or access control purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with RC522 RFID Module

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of attendance: A project utilizing RC522 RFID Module in a practical application
Arduino UNO and RFID-RC522 Based RFID Reader System
This circuit integrates an Arduino UNO with an RFID-RC522 module to enable RFID-based identification. The Arduino provides power and SPI communication to the RFID module, allowing it to read RFID tags and potentially perform actions based on the tag data.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of RFID ATTENDANCE SYSTEM: A project utilizing RC522 RFID Module in a practical application
Arduino UNO and RFID-RC522 Based RFID Reader System
This circuit integrates an Arduino UNO with an RFID-RC522 module to enable RFID tag reading functionality. The Arduino provides power and SPI communication to the RFID module, allowing it to read and process RFID tags.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of eduVents_NFC: A project utilizing RC522 RFID Module in a practical application
Arduino UNO RFID Access Control System with I2C LCD Feedback and Keypad Input
This circuit is designed to read RFID tags using the RFID-RC522 module, display information on an I2C LCD screen, and accept user input via a 4x4 membrane matrix keypad. It is controlled by an Arduino UNO, which is powered by a 3xAA battery pack, and communicates with the RFID module and LCD screen using SPI and I2C protocols, respectively.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of compartment: A project utilizing RC522 RFID Module in a practical application
Arduino UNO and RFID-RC522 Based RFID Reader System
This circuit consists of an Arduino UNO microcontroller connected to an RFID-RC522 module. The Arduino provides power and handles communication with the RFID module, enabling it to read RFID tags for identification or access control purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

Key Technical Details

Parameter Value
Operating Frequency 13.56 MHz
Communication Protocol SPI, I2C, UART (default: SPI)
Operating Voltage 2.5V to 3.3V (logic level)
Power Supply Voltage 3.3V
Current Consumption 13-26 mA (active mode)
Maximum Data Rate 10 Mbps
Supported RFID Standards ISO/IEC 14443 A/MIFARE
Reading Distance Up to 5 cm (depending on tag type)
Dimensions 40mm x 60mm

Pin Configuration and Descriptions

The RC522 RFID Module has 8 pins for interfacing. Below is the pinout and description:

Pin Name Pin Number Description
VCC 1 Power supply input (3.3V).
RST 2 Reset pin. Active LOW. Used to reset the module.
GND 3 Ground connection.
IRQ 4 Interrupt pin. Can be used to signal events to the microcontroller.
MISO 5 SPI Master-In-Slave-Out (data output from the module).
MOSI 6 SPI Master-Out-Slave-In (data input to the module).
SCK 7 SPI Clock. Synchronizes data transfer between the module and microcontroller.
SDA/SS 8 SPI Slave Select. Used to enable communication with the module.

Usage Instructions

How to Use the RC522 RFID Module in a Circuit

  1. Power the Module: Connect the VCC pin to a 3.3V power source and the GND pin to ground.
  2. Connect to a Microcontroller: Use the SPI interface to connect the module to a microcontroller (e.g., Arduino UNO). The typical connections are:
    • MISO → Arduino Pin 12
    • MOSI → Arduino Pin 11
    • SCK → Arduino Pin 13
    • SDA/SS → Arduino Pin 10
    • RST → Arduino Pin 9
  3. Install Required Libraries: For Arduino, install the "MFRC522" library from the Arduino IDE Library Manager.
  4. Write Code: Use the library functions to initialize the module, read RFID tags, and process data.

Example Arduino Code

Below is an example Arduino sketch to read RFID tags using the RC522 module:

#include <SPI.h>
#include <MFRC522.h>

// Define RC522 module pins
#define RST_PIN 9  // Reset pin connected to Arduino pin 9
#define SS_PIN 10  // Slave Select pin connected to Arduino pin 10

MFRC522 rfid(SS_PIN, RST_PIN); // Create an instance of the MFRC522 class

void setup() {
  Serial.begin(9600); // Initialize serial communication
  SPI.begin();        // Initialize SPI bus
  rfid.PCD_Init();    // Initialize the RC522 module
  Serial.println("Place your RFID card near the reader...");
}

void loop() {
  // Check if an RFID card is present
  if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) {
    return; // Exit if no card is detected
  }

  // Print the UID of the detected card
  Serial.print("Card UID: ");
  for (byte i = 0; i < rfid.uid.size; i++) {
    Serial.print(rfid.uid.uidByte[i], HEX); // Print each byte in hexadecimal
    Serial.print(" ");
  }
  Serial.println();

  // Halt the card to stop further communication
  rfid.PICC_HaltA();
}

Important Considerations and Best Practices

  • Power Supply: Ensure the module is powered with 3.3V. Using 5V may damage the module.
  • Reading Distance: The effective reading distance depends on the tag type and orientation. Keep the tag within 5 cm of the antenna for reliable operation.
  • Interference: Avoid placing the module near metal objects or other electronic devices that may cause interference.
  • Reset Pin: Use the RST pin to reset the module if it becomes unresponsive.

Troubleshooting and FAQs

Common Issues and Solutions

Issue Possible Cause Solution
Module not responding Incorrect wiring or loose connections Double-check all connections and ensure proper pin mapping.
Unable to read RFID tags Tag is out of range or incompatible Ensure the tag is within 5 cm and supports ISO/IEC 14443 A/MIFARE standards.
Serial monitor shows garbled output Incorrect baud rate in the Arduino sketch Set the correct baud rate (e.g., 9600) in both the sketch and serial monitor.
Module overheating Powered with 5V instead of 3.3V Use a 3.3V power supply to avoid damage.
Multiple tags not detected simultaneously Module supports only one tag at a time Ensure only one tag is within the reading range at a time.

FAQs

  1. Can the RC522 module write data to RFID tags?

    • Yes, the module supports both reading and writing to compatible RFID tags.
  2. What is the maximum range of the RC522 module?

    • The maximum range is approximately 5 cm, depending on the tag type and environmental conditions.
  3. Can I use the RC522 module with a 5V microcontroller?

    • Yes, but you must use a logic level shifter to convert the 5V signals to 3.3V to avoid damaging the module.
  4. Does the module support NFC?

    • The RC522 module supports ISO/IEC 14443 A, which is a subset of NFC standards. However, it is not a full NFC module.

By following this documentation, you can effectively integrate the RC522 RFID Module into your projects and troubleshoot common issues.