

The RFID RC522 I2C is a compact and cost-effective RFID reader/writer module designed for 13.56 MHz contactless communication. It communicates with microcontrollers via the I2C interface, making it easy to integrate into various embedded systems. This module is widely used for reading RFID tags and cards, enabling applications such as access control, inventory management, attendance systems, and contactless payment systems. Its small size, low power consumption, and reliable performance make it a popular choice for RFID-based projects.








Below are the key technical details and pin configuration for the RFID RC522 I2C module:
| Parameter | Specification |
|---|---|
| Operating Voltage | 2.5V to 3.3V (logic level) |
| Power Supply Voltage | 3.3V |
| Current Consumption | 13-26 mA (active mode) |
| Communication Interface | I2C |
| Operating Frequency | 13.56 MHz |
| Maximum Data Rate | 424 kbps |
| Supported RFID Protocols | ISO/IEC 14443A |
| Reading Distance | Up to 5 cm (depending on tag) |
| Dimensions | 40mm x 60mm |
The RFID RC522 I2C module has 8 pins. Below is the pinout and description:
| Pin Name | Pin Number | Description |
|---|---|---|
| SDA | 1 | Serial Data Line for I2C communication. Connect to the microcontroller's SDA pin. |
| SCL | 2 | Serial Clock Line for I2C communication. Connect to the microcontroller's SCL pin. |
| IRQ | 3 | Interrupt pin (optional). Can be used to signal events to the microcontroller. |
| GND | 4 | Ground. Connect to the ground of the power supply. |
| RST | 5 | Reset pin. Used to reset the module. Active LOW. |
| VCC | 6 | Power supply pin. Connect to a 3.3V power source. |
| MISO | 7 | Not used in I2C mode. |
| MOSI | 8 | Not used in I2C mode. |
VCC pin to a 3.3V power source and the GND pin to ground.SDA pin to the SDA pin of your microcontroller and the SCL pin to the SCL pin of your microcontroller.RST pin to a GPIO pin on your microcontroller for software-controlled resets.IRQ pin to a GPIO pin on your microcontroller to handle interrupt-driven events.Below is an example code snippet to read RFID tags using the RFID RC522 I2C module with an Arduino UNO:
#include <Wire.h>
#include <MFRC522_I2C.h> // Include the MFRC522 library for I2C communication
#define RST_PIN 9 // Define the reset pin
#define SDA_PIN 0x28 // I2C address of the RC522 module (default is 0x28)
MFRC522_I2C rfid(SDA_PIN, RST_PIN); // Create an instance of the RFID module
void setup() {
Serial.begin(9600); // Initialize serial communication
Wire.begin(); // Initialize I2C communication
rfid.PCD_Init(); // Initialize the RC522 module
Serial.println("Place an RFID tag 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 the card cannot be read
}
// 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();
rfid.PICC_HaltA(); // Halt the card to stop communication
}
Module Not Responding:
Unable to Read RFID Tags:
I2C Address Conflict:
0x28. Ensure no other devices on the I2C bus use the same address.Q: Can the RFID RC522 I2C module work with 5V microcontrollers?
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 range of the RFID RC522 I2C module?
A: The maximum reading distance is approximately 5 cm, depending on the size and type of the RFID tag.
Q: Can I use multiple RC522 modules on the same I2C bus?
A: Yes, but each module must have a unique I2C address. Refer to the module's datasheet for instructions on changing the address.
Q: Does the module support writing to RFID tags?
A: Yes, the RC522 module can write data to compatible RFID tags in addition to reading them. Use the appropriate library functions for writing operations.