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

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

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

Introduction

The RFID-RC522 is a compact and cost-effective RFID reader/writer module that operates at a frequency of 13.56 MHz. It is widely used for reading and writing RFID tags and cards, enabling wireless communication in various applications. This module is based on the MFRC522 IC, which supports ISO/IEC 14443A/MIFARE protocols. Its small size, low power consumption, and ease of integration make it a popular choice for projects involving access control, inventory management, attendance systems, and identification systems.

Explore Projects Built with RFID-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 UNO and RFID-RC522 Based RFID Reader System
Image of compartment: A project utilizing RFID-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
Arduino UNO and RFID-RC522 Based RFID Reader System
Image of attendance: A project utilizing RFID-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 Reader with MFRC522 Module
Image of ARSITEKTUR SISTEM : A project utilizing RFID-RC522 in a practical application
This circuit consists of an Arduino UNO microcontroller connected to an RFID-RC522 module. The Arduino UNO reads RFID tags using the RFID-RC522 and outputs the tag information via the serial monitor.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO-Based RFID and Bluetooth Access Control System
Image of IOT: A project utilizing RFID-RC522 in a practical application
This circuit integrates an Arduino UNO with an RFID-RC522 module and an HC-05 Bluetooth module. The Arduino UNO reads RFID tags via the RFID-RC522 and communicates the data wirelessly through the HC-05 Bluetooth module.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with RFID-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 compartment: A project utilizing RFID-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
Image of attendance: A project utilizing RFID-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 ARSITEKTUR SISTEM : A project utilizing RFID-RC522 in a practical application
Arduino UNO RFID Reader with MFRC522 Module
This circuit consists of an Arduino UNO microcontroller connected to an RFID-RC522 module. The Arduino UNO reads RFID tags using the RFID-RC522 and outputs the tag information via the serial monitor.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of IOT: A project utilizing RFID-RC522 in a practical application
Arduino UNO-Based RFID and Bluetooth Access Control System
This circuit integrates an Arduino UNO with an RFID-RC522 module and an HC-05 Bluetooth module. The Arduino UNO reads RFID tags via the RFID-RC522 and communicates the data wirelessly through the HC-05 Bluetooth module.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

The RFID-RC522 module is designed to provide reliable and efficient RFID communication. Below are its key technical details:

General Specifications

  • Operating Voltage: 2.5V to 3.3V (logic level), 5V (via onboard regulator)
  • Operating Current: 13-26mA (typical)
  • Operating Frequency: 13.56 MHz
  • Communication Protocol: SPI, I2C, UART (default: SPI)
  • Reading Distance: Up to 5 cm (depending on tag type and environment)
  • Supported RFID Standards: ISO/IEC 14443A/MIFARE
  • Dimensions: 40mm x 60mm

Pin Configuration and Descriptions

The RFID-RC522 module has an 8-pin interface for communication and power. Below is the pinout:

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

Usage Instructions

The RFID-RC522 module is easy to integrate into microcontroller-based systems, such as Arduino. Below are the steps to use the module in a circuit:

Connecting the RFID-RC522 to an Arduino UNO

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

    RFID-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 or GitHub.
  3. 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 RFID 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();
    
      rfid.PICC_HaltA(); // Halt communication with the card
    }
    

Important Considerations and Best Practices

  • Power Supply: Ensure the module is powered with 3.3V. If using 5V, verify that the onboard regulator is functioning.
  • Antenna Placement: Avoid placing the module near metal objects, as they can interfere with the RFID signal.
  • Tag Compatibility: Use tags/cards that comply with ISO/IEC 14443A standards for best results.
  • SPI Configuration: Ensure no other SPI devices are using the same Slave Select (SS) pin.

Troubleshooting and FAQs

Common Issues and Solutions

  1. The module is not detected by the microcontroller:

    • Verify the wiring connections, especially the SPI pins.
    • Ensure the correct pins are defined in the code (SS_PIN and RST_PIN).
  2. The RFID tag is not being read:

    • Check the distance between the tag and the module. It should be within 5 cm.
    • Ensure the tag is compatible with the module (ISO/IEC 14443A).
  3. Interference or poor performance:

    • Avoid placing the module near metal surfaces or other electronic devices.
    • Use a stable power supply to prevent voltage fluctuations.
  4. Error: "MFRC522 library not found":

    • Install the MFRC522 library from the Arduino Library Manager.

FAQs

Q: Can the RFID-RC522 write data to RFID tags?
A: Yes, the module supports both reading and writing to compatible RFID tags.

Q: Can I use the RFID-RC522 with a 5V microcontroller?
A: Yes, the module has an onboard voltage regulator, but the logic level for communication must be 3.3V.

Q: What is the maximum range of the RFID-RC522?
A: The maximum reading distance is approximately 5 cm, depending on the tag and environmental conditions.

Q: Can I connect multiple RFID-RC522 modules to a single microcontroller?
A: Yes, you can connect multiple modules by assigning unique Slave Select (SS) pins for each module.