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

How to Use RC522: Examples, Pinouts, and Specs

Image of RC522
Cirkit Designer LogoDesign with RC522 in Cirkit Designer

Introduction

The RC522 is a highly integrated RFID reader/writer module designed by MH-ET LIVE. Operating at a frequency of 13.56 MHz, it is widely used for reading and writing RFID tags and cards. This module supports various RFID protocols, including ISO/IEC 14443A/MIFARE, making it a versatile choice for wireless communication applications.

Explore Projects Built with RC522

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 RFID Access Control System with Servo Motor
Image of lavero: A project utilizing RC522 in a practical application
This circuit is an RFID-based access control system using an Arduino UNO, an RFID-RC522 reader, and a servo motor. The Arduino reads RFID tags via the RC522 module and controls the servo motor to grant access based on the detected tag's UID.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO and RFID-RC522 Based RFID Reader System
Image of attendance: A project utilizing RC522 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 RFID Access Control System with LED Notification
Image of ATTENDANCE SYSTEM: A project utilizing RC522 in a practical application
This circuit consists of an Arduino UNO connected to an RFID-RC522 module. The Arduino reads RFID tags and identifies specific users based on their card UID, providing feedback via the serial monitor and an LED indicator.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO and RFID-RC522 Based RFID Reader System
Image of compartment: A project utilizing RC522 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

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 lavero: A project utilizing RC522 in a practical application
Arduino RFID Access Control System with Servo Motor
This circuit is an RFID-based access control system using an Arduino UNO, an RFID-RC522 reader, and a servo motor. The Arduino reads RFID tags via the RC522 module and controls the servo motor to grant access based on the detected tag's UID.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of attendance: A project utilizing RC522 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 ATTENDANCE SYSTEM: A project utilizing RC522 in a practical application
Arduino UNO RFID Access Control System with LED Notification
This circuit consists of an Arduino UNO connected to an RFID-RC522 module. The Arduino reads RFID tags and identifies specific users based on their card UID, providing feedback via the serial monitor and an LED indicator.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of compartment: A project utilizing RC522 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

Common Applications

  • Access control systems (e.g., door locks, attendance systems)
  • Contactless payment systems
  • Inventory and asset management
  • Smart card-based authentication
  • IoT projects requiring RFID integration

Technical Specifications

The RC522 module is compact, efficient, and easy to interface with microcontrollers like Arduino. Below are its key technical details:

Key Technical Details

Parameter Specification
Operating Voltage 2.5V to 3.3V (logic level: 3.3V)
Operating Current 13-26mA
Operating Frequency 13.56 MHz
Communication Interface SPI, I2C, UART
Maximum Data Rate 10 Mbps
Supported Protocols ISO/IEC 14443A/MIFARE
Reading Distance Up to 5 cm (depending on tag type)
Dimensions 40mm x 60mm

Pin Configuration and Descriptions

The RC522 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)
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 (optional, not always needed).
MISO 5 SPI Master-In-Slave-Out (data output from RC522 to microcontroller)
MOSI 6 SPI Master-Out-Slave-In (data input from microcontroller to RC522)
SCK 7 SPI Clock signal
SDA/SS 8 SPI Slave Select (chip select) or I2C address selection

Usage Instructions

The RC522 module is commonly used with microcontrollers like Arduino. Below are the steps to use it in a circuit:

Connecting the RC522 to an Arduino UNO

  1. Wiring the Module: Connect the RC522 module to the Arduino UNO as follows:

    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
  2. Install Required Libraries: Download and install the MFRC522 library from the Arduino Library Manager.

  3. Upload Example Code: Use the following example code to read RFID tags:

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

// Define RC522 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 RC522 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 card
  Serial.print("Card UID: ");
  for (byte i = 0; i < rfid.uid.size; i++) {
    Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");
    Serial.print(rfid.uid.uidByte[i], HEX);
  }
  Serial.println();

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

Important Considerations

  • Power Supply: The RC522 operates at 3.3V. Do not connect it directly to a 5V power source to avoid damage.
  • Signal Level: Ensure that the logic level of the microcontroller matches the RC522's 3.3V logic. Use a level shifter if necessary.
  • Antenna Placement: For optimal performance, ensure that the RFID tag is placed flat and close to the antenna.

Troubleshooting and FAQs

Common Issues and Solutions

  1. The module is not detected by the microcontroller.

    • Check the wiring and ensure all connections are secure.
    • Verify that the RC522 is powered with 3.3V and not 5V.
    • Ensure the correct pins are defined in the code.
  2. The RFID tag is not being read.

    • Ensure the tag is compatible with the RC522 (e.g., MIFARE cards).
    • Place the tag closer to the antenna for better signal reception.
    • Check for electromagnetic interference from nearby devices.
  3. The module resets unexpectedly.

    • Verify that the RST pin is properly connected and not floating.
    • Ensure the power supply is stable and capable of providing sufficient current.

FAQs

Q: Can the RC522 read multiple tags simultaneously?
A: No, the RC522 can only read one tag at a time. If multiple tags are present, it may fail to detect any.

Q: Can I use the RC522 with a 5V microcontroller?
A: Yes, but you must use a level shifter to convert the 5V logic signals to 3.3V to avoid damaging the module.

Q: What is the maximum reading distance of the RC522?
A: The maximum reading distance is approximately 5 cm, depending on the size and type of the RFID tag.

Q: Does the RC522 support writing to RFID tags?
A: Yes, the RC522 can write data to compatible RFID tags, such as MIFARE cards.

By following this documentation, you can effectively integrate the RC522 module into your projects for reliable RFID-based communication.