Skip to main content
MFRC522 RFID/NFC reader module with SPI interface for reading 13.56 MHz MIFARE cards and tags.

Pins

power
Voltage supply (3.3V)
input
Reset (active low)
ground
Ground
output
Interrupt request (active low)
spi
SPI data out
spi
SPI data in
spi
SPI clock
spi
SPI chip select (active low)

Attributes

string
default:""
Custom UID (for Blue Card only)

UID format

The UID can be specified in the following lengths:
  • 4 bytes: 01:02:03:04 (MIFARE Classic)
  • 7 bytes: 04:11:22:33:44:55:66 (MIFARE Ultralight)
Each byte must be two hexadecimal characters (00-FF), separated by colons.

Card presets

The simulator provides built-in card presets for quick testing. Click on the MFRC522 to open the control panel where you can select a card: The uid attribute only affects the Blue Card (index 0). Other cards always use their preset UIDs. This lets you customize your main card while keeping the others for multi-user testing.

Controlling the reader

The control panel provides two ways to present a card:
  • Tap button - Presents the card briefly (500ms), simulating a quick tap
  • Hold switch - Keeps the card presented until you toggle it off
This allows testing both tap-and-go scenarios and scenarios where the card needs to stay on the reader.

Keyboard shortcuts

Click on the control panel to focus it, then use these shortcuts:

Using the MFRC522

The MFRC522 communicates via SPI (Mode 0) and is commonly used with the MFRC522 library by Miguel Balboa or the Arduino_MFRC522v2 library. Common use cases:
  • Access control systems
  • Attendance tracking (multi-user)
  • Smart home door locks
  • NFC tag reading projects

Arduino code example

The example below uses the MFRC522 library to detect and read card UIDs. On ESP32, the default SPI pins are used with GPIO 5 for chip select and GPIO 21 for reset.

Arduino Uno wiring

ESP32 wiring

Automation controls

The MFRC522 reader can be controlled using Automation Scenarios. It exposes the following controls:

Example scenario: Multi-user attendance

The following scenario tests an attendance system with multiple cards:

Simulator examples