

The RC522 RFID Module, manufactured by NXP Semiconductors (Part ID: MFRC522), 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. Its versatility and affordability make it a popular choice for applications such as:
The module is widely used in hobbyist and professional projects due to its compatibility with microcontrollers like the Arduino UNO.








| Parameter | Value |
|---|---|
| Operating Voltage | 2.5V to 3.3V (logic level) |
| Power Supply Voltage | 3.3V |
| Operating Current | 13-26mA |
| Operating Frequency | 13.56 MHz |
| Communication Interface | SPI, I2C, UART |
| Maximum Data Rate | 10 Mbps (SPI) |
| Supported RFID Protocols | ISO/IEC 14443A/MIFARE |
| Reading Distance | Up to 5 cm |
| Dimensions | 40mm x 60mm |
The RC522 RFID Module has an 8-pin interface for communication and power. Below is the pinout:
| Pin Name | Pin Number | Description |
|---|---|---|
| VCC | 1 | Power supply input (3.3V). Do not connect to 5V to avoid damaging the module. |
| RST | 2 | Reset pin. Used to reset the module. Active LOW. |
| GND | 3 | Ground connection. |
| IRQ | 4 | Interrupt pin. Can be used for event signaling (optional). |
| 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. Used for synchronizing data transfer. |
| SDA/SS | 8 | SPI Slave Select. Used to enable communication with the module. |
To use the RC522 RFID Module with an Arduino UNO, follow these steps:
Wiring the Module: Connect the module to the Arduino UNO as shown in the table below:
| RC522 Pin | Arduino UNO Pin |
|---|---|
| VCC | 3.3V |
| GND | GND |
| RST | Pin 9 |
| IRQ | Not connected |
| MISO | Pin 12 |
| MOSI | Pin 11 |
| SCK | Pin 13 |
| SDA/SS | Pin 10 |
Install Required Libraries:
MFRC522 library from the Arduino Library Manager.Upload Example Code: Use the following example code to read RFID tags:
#include <SPI.h>
#include <MFRC522.h>
#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 a new card is present
if (!rfid.PICC_IsNewCardPresent()) {
return; // Exit if no card is detected
}
// Check if the card can be read
if (!rfid.PICC_ReadCardSerial()) {
return; // Exit if reading fails
}
// Print the UID of the 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();
}
Test the Setup:
MFRC522 library updated to ensure compatibility with the latest Arduino IDE versions.The module is not detected by the Arduino:
No output in the Serial Monitor:
MFRC522 library is correctly installed.The module cannot read RFID cards:
The module resets unexpectedly:
Q: Can the RC522 module write data to RFID cards?
A: Yes, the RC522 module supports both reading and writing data to compatible RFID cards and tags.
Q: Can I use the RC522 module with a 5V microcontroller?
A: Yes, but you must use a logic level shifter to convert the 5V signals to 3.3V to avoid damaging the module.
Q: What is the maximum number of RFID cards the module can handle simultaneously?
A: The RC522 module can only communicate with one RFID card or tag at a time.
Q: Can the module work with other microcontrollers besides Arduino?
A: Yes, the RC522 module can be used with other microcontrollers like ESP32, Raspberry Pi, and STM32, provided the appropriate libraries and connections are used.
This concludes the documentation for the RC522 RFID Module. For further assistance, refer to the official datasheet or community forums.