Skip to content
Description

RFID has an RFID chip MFRC522 inside.

The MFRC522 operates in the 13.56MHz frequency band and uses the modulation and demodulation principle to interact with the proximity RF card. This unit can realize the function of the card reading and writing device, to identify and record multiple card information, to encode and authority a RF card.

It is able tp establish applications such as access control system, punching system, warehouse goods storage and community vehicle access registration.

Connect this Unit to GROVE PORTA on M5Core, IIC adress is 0x28.

Product Features

  • Operating frequency: 13.56 MHz
  • I2C data rate: Fast mode: up to 400 Kbit/s; High-speed mode: up to 3400 Kbit/s
  • RC522 Transceiver Buffer: 64 bytes
  • Supported protocol: ISO14443A, MIFARE and NTAG
  • Operate temperature: -20℃-85℃
  • How long data be saved for: > 10 years
  • Reading and writing distance: < 8 cm
  • Program Platform: Arduino, UIFlow(Blockly, Python)
  • Two Lego installation holes

Kit includes

  • 1x RFID unit
  • 1x GROVE Cable

Application

  • Smart home access control system
  • Vehicle management
  • Smart transportation
  • Smart bookshelf
Documents
Learn

Example

1. Arduino IDE

The code below is incomplete. To get complete code, please click here.

After programming the RFID.ino, the IC card or the mobile phone NFC, close to the unit, moves back and forth around the unit, and the UID of the IC card or the RFID chip in the mobile phone will be printed on the screen of the M5Core.

/*     RFID.ino */ #include <Wire.h> #include "MFRC522_I2C.h" #include <M5Stack.h>  // 0x28 is i2c address on SDA. Check your address with i2cscanner if not match. MFRC522 mfrc522(0x28);   // Create MFRC522 instance.  // initialization M5.begin(); Serial.begin(115200); Wire.begin(); /* Init MFRC522 */ mfrc522.PCD_Init(); /* Show details of PCD - MFRC522 Card Reader details */ ShowReaderDetails();  // get the uid of available card mfrc522.PICC_IsNewCardPresent();// scan for a new card mfrc522.PICC_ReadCardSerial();// read data // a new card is selected. The UID and SAK is saved at mfrc522.uid structor. for (byte i = 0; i < mfrc522.uid.size; i++) {   Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");   Serial.print(mfrc522.uid.uidByte[i], HEX); }  // other function void ShowReaderDetails() {   /* Get the MFRC522 software version */   byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg);   if (v == 0x91) Serial.print(F(" = v1.0"));   else if (v == 0x92) Serial.print(F(" = v2.0"));   else Serial.print(F(" (unknown)")); } 

2. UIFlow

To get complete code, please click here.

After opening and burning this example using UIFlow, place the proximity card on the Unit surface and the screen displays “True” and the UID number of the card.

 

More information

Schematic

PinMap

M5Core ( GROVE A ) GPIO22 GPIO21 5V GND RFID Unit SCL SDA 5V GND

The Mini RFID Unit (MFRC522) appears in the following collections:

SKU M5-U031