Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

The concept of 37 types of sensors and actuators has circulated widely on the internet, but in fact, Arduino is compatible with many more sensor modules than just these 37. Given that I have accumulated some sensor and actuator modules, I am preparing to conduct a series of experiments based on the principle of “learning by doing” (it is essential to get hands-on) for the purpose of learning and sharing. I will attempt to document each experiment, regardless of whether it is successful (program runs smoothly) or not, recording small progress or challenging problems, hoping to inspire others.

[Arduino] Series of Experiments with 168 Types of Sensor Modules (Data Code + Simulation Programming + Graphical Programming) Experiment 98: MFRC-522 RC522 RFID Reader Module for S50 Fudan Card Keychain

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

MF RC522

is a member of the highly integrated read/write card series chips used in 13.56MHz non-contact communication. It is a low-voltage, low-cost, compact non-contact read/write card chip launched by NXP for “three-table” applications, making it a good choice for the development of smart meters and portable handheld devices.

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Features and Advantages of MF RC522

Highly integrated analog circuits to demodulate and decode responses

Buffered output driver for connecting a minimum number of antennas

External components

Supports ISO / IEC 14443 A / MIFARE

Typical operating distance can reach up to 50mm in read/write mode depending on the size and tuning of the antenna

Supports MF1xxS20, MF1xxS70, and MF1xxS50 encrypted in read/write mode

Supports higher transmission speeds of communication up to 848 kBd for ISO / IEC 14443

Supports MFIN / MFOUT

Additional internal power IC smart card connected via MFIN / MFOUT

Supported host interfaces

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

MFRC522 is a highly integrated reader/writer IC suitable for non-contact communicationat 13.56MHz. The MFRC522 reader supports ISO / IEC 14443 A / MIFARE mode.The internal transmitter of the MFRC522 can drive a read/write antenna designthat is compliant with ISO / IEC 14443 A / MIFARE cards and transponders without additional communicationactive circuits. The receiver module provides a powerful and efficient implementationfor demodulating and decoding signals from ISO / IEC 14443 A / MIFARE compatible cardstransponders. The digital module manages a complete ISO / IEC 14443 A and viewingerror detection (parity and CRC) functionality.The MFRC522 supports MF1xxS20, MF1xxS70, and MF1xxS50 products. The MFRC522supports non-contact communication and uses MIFARE with higher transmission speeds up to848 kBd in both directions.It provides the following host interfaces:• Serial Peripheral Interface (SPI)• Serial UART (similar to RS232 level depending on pin voltage source)• I2C-BUS interface

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

The MF522-AN module uses the original Philips MFRC522 chip to design the card reading circuit, which is easy to use, cost-effective, and suitable for users developing devices, card readers, and other advanced applications, as well as users needing to design/produce RF card terminals. This module can be directly installed into various card reader molds. The module operates at a voltage of 3.3V and can be connected to any CPU motherboard through a few simple lines via the SPI interface, ensuring stable and reliable operation of the module with a long reading distance.[Electrical parameters summary]Operating current: 13—26mA/DC 3.3VIdle current: 10-13mA/DC 3.3VSleep current: <80uAPeak current: <30mAOperating frequency: 13.56MHzSupported card types: mifare1 S50, mifare1 S70, mifare UltraLight, mifare Pro, mifare DesfirePhysical characteristics: Size: 40mm×60mmOperating temperature: Celsius -20—80 degreesStorage temperature: Celsius -40—85 degreesRelative humidity: Relative humidity 5%—95%[Module Interface SPI Parameters]Data transmission rate: up to 10Mbit/s

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

MFRC-522 RC522 RFID Reader Module for S50 Fudan Card Keychain

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Module reference electrical schematic

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

RFID cardsNon-contact IC cards, also known as RFID cards, consist of an IC chip and an induction antenna, encapsulated in a standard PVC card, with no exposed parts of the chip and antenna. This is a new technology that has developed in recent years, successfully combining RFID technology with IC card technology, ending the dilemma of passive (no power supply in the card) and non-contact, marking a significant breakthrough in the field of electronic devices. The card performs data reading and writing operations through radio waves when placed within a certain distance range (usually 5—10cm) from the reader’s surface.Working PrincipleThe RFID reader sends a set of electromagnetic waves at a fixed frequency to the IC card. The card contains an LC series resonant circuit, whose frequency matches the frequency emitted by the reader. Under the excitation of electromagnetic waves, the LC resonant circuit resonates, causing charge to accumulate in the capacitor; at the other end of this capacitor is a unidirectional conducting electronic pump that transfers the charge to another capacitor for storage. When the accumulated charge reaches 2V, this capacitor can serve as a power source to provide operating voltage for other circuits, transmitting data from the card or receiving data from the reader.Transmission PrincipleNon-contact IC cards complete reading and writing operations through radio waves between the card and the reader. The communication frequency between the two is 13.56MHZ. Non-contact IC cards are passive cards; when the reader reads or writes to the card, the signal emitted by the reader consists of two superimposed parts: one part is the power signal, which is received by the card and generates instantaneous energy with its own L/C to power the chip. The other part is the command and data signal, instructing the chip to perform tasks such as reading, modifying, and storing data, and return signals to the reader, completing a read/write operation. The reader typically consists of a microcontroller, a dedicated intelligent module, and an antenna, equipped with communication interfaces to PC, printing ports, I/O ports, etc., for application in various fields.

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Mifare 1 S50 Inductive IC Card◇ Chip: Philips Mifare 1 S50◇ Storage capacity: 8Kbit, 16 partitions, two passwords per partition◇ Operating frequency: 13.56MHZ◇ Communication speed: 106Kboud◇ Reading distance: 2.5—10CM◇ Reading time: 1-2MS◇ Operating temperature: -20℃-85℃◇ Write cycles: >100000 times◇ Data retention: >10 years◇ Specifications: 0.87×85.5×54/ Non-standard card◇ Packaging materials: PVC, PET, 0.13 copper coin◇ Packaging process: Ultrasonic automatic planting line/automatic welding◇ Manufacturing standards: ISO 14443, ISO 10536◇ Application range: Enterprise/campus one-card system, public transport stored-value cards, highway tolls, parking lots, community management, etc.

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Experiment PrincipleComposition of RFID SystemRFID technology uses wireless radio frequency for non-contact bidirectional data transmission between the reader and the RFID card, achieving target identification and data exchange. The most basic RFID system consists of three parts:1. Tag (RFID card): Composed of coupling elements and chips, the tag contains a built-in antenna for communication with the radio frequency antenna.2. Reader: A device that reads (and writes in read/write cards) tag information.3. Antenna: Transmits radio frequency signals between the tag and the reader.Working PrincipleThe MCU controls the reader chip by reading and writing to the registers within the chip. Upon receiving a command from the MCU, the reader chip sends out a set of fixed frequency modulated signals (13.56 MHz) through the antenna and its matching circuit to search for cards. If a card is present within this range, the LC resonant circuit inside the card (whose resonant frequency matches the frequency of the electromagnetic wave sent by the reader) resonates, continuously charging its other end’s capacitor under the action of the voltage pump, thereby obtaining energy. When the capacitor voltage reaches 2V, it can serve as a power source for the card’s other circuits. When a card is within the effective working range of the reader, the MCU sends a card search command, and the card replies with its type, establishing the first contact between the card and the reader. If multiple cards are present within the antenna’s working range, the reader activates an anti-collision mechanism, selecting a card based on its serial number. The selected card then undergoes password verification to ensure the reader has permission to operate on the card and that the card is legitimate, while the unselected cards remain idle, waiting for the next search command. After successful password verification, the card can be read or written to.RC522 ModuleThe RF reading and writing chip of the module should be Philips’ MF RC522. In the previous article, I should have attached both the English and Chinese manuals. The MF RC522 provides three interface modes: SPI up to 10 Mb/s, I2C bus mode (up to 400 kb/s in fast mode and up to 3.4 Mb/s in high-speed mode), and UART mode up to 1228.8 kb/s. The purchased module uses the first mode—four-wire SPI, with the clock signal generated by Arduino, and the MF RC522 chip set to slave mode, receiving data from Arduino to set registers and responsible for the transmission and reception of related data in radio frequency interface communication. The data transmission path is: Arduino sends data to MF RC522 via the MOSI line, and MF RC522 sends back data to Arduino via the MISO line.

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Function of Each Pin of the RC522 Module SDA — Serial data line (I/O line when using IIC interface); in SPI interface it is NSS (slave select pin); SCK — Connects to MCU’s SCK signal;MOSI — MCU output, RC522 receives (i.e., master device output, slave device input);MISO — RC522 output, MCU receives (i.e., slave device output, master device input); IRQ — Interrupt request output;GND — Ground; RST — Reset;3.3V — VSS, operating voltage; if using a 5V MCU, be cautious of voltage division.

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Experiment Open Source Code

  1. /*

  2. [Arduino] Series of Experiments with 168 Types of Sensor Modules (Data Code + Simulation Programming + Graphical Programming)

  3. Experiment 98: MFRC-522 RC522 RFID Reader Module for S50 Fudan Card Keychain

  4. 1. Tools – Manage Libraries – Search for “MFRC522” library – Install

  5. 2. Project: Use MFRC522 RFID and Arduino to read and write tags

  6. 3. Wiring between RFID and Arduino Uno

  7. SDA————————Digital 10

  8. SCK————————Digital 13

  9. MOSI———————-Digital 11

  10. MISO———————-Digital 12

  11. IRQ————————Not connected

  12. GND———————–GND

  13. RST————————Digital 9

  14. 3.3V————————3.3V (Do not connect to 5V interface!!!)

  15. */

  16. #include <SPI.h>

  17. #include <MFRC522.h>

  18. #define SS_PIN 10

  19. #define RST_PIN 9

  20. MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.

  21. void setup() {

  22. Serial.begin(9600); // Initialize serial communications with the PC

  23. SPI.begin(); // Init SPI bus

  24. mfrc522.PCD_Init(); // Init MFRC522 card

  25. Serial.println(“Scan PICC to see UID and type…”);

  26. }

  27. void loop() {

  28. // Look for new cards

  29. if ( ! mfrc522.PICC_IsNewCardPresent()) {

  30. return;

  31. }

  32. // Select one of the cards

  33. if ( ! mfrc522.PICC_ReadCardSerial()) {

  34. return;

  35. }

  36. // Dump debug info about the card. PICC_HaltA() is automatically called.

  37. mfrc522.PICC_DumpToSerial(&(mfrc522.uid));

  38. }

Experiment Serial Return Situation

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Experiment Scene Diagram

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Open Source Code of the Experiment Part Two

  1. /*

  2. [Arduino] Series of Experiments with 168 Types of Sensor Modules (Data Code + Simulation Programming + Graphical Programming)

  3. Experiment 98: MFRC-522 RC522 RFID Reader Module for S50 Fudan Card Keychain

  4. 1. Tools – Manage Libraries – Search for “MFRC522” library – Install

  5. 2. Project Two: Read UID and output it in both decimal and hexadecimal formats to the serial port

  6. 3. Wiring between RFID and Arduino Uno

  7. SDA————————Digital 10

  8. SCK————————Digital 13

  9. MOSI———————-Digital 11

  10. MISO———————-Digital 12

  11. IRQ————————Not connected

  12. GND———————–GND

  13. RST————————Digital 9

  14. 3.3V————————3.3V (Do not connect to 5V interface!!!)

  15. */

  16. #include <SPI.h>

  17. #include <MFRC522.h>

  18. #define SS_PIN 10

  19. #define RST_PIN 9

  20. MFRC522 rfid(SS_PIN, RST_PIN); // Instantiate class

  21. // Initialize array to store the read NUID

  22. byte nuidPICC[4];

  23. void setup() {

  24. Serial.begin(9600);

  25. SPI.begin(); // Initialize SPI bus

  26. rfid.PCD_Init(); // Initialize MFRC522

  27. }

  28. void loop() {

  29. // Find card

  30. if ( ! rfid.PICC_IsNewCardPresent())

  31. return;

  32. // Verify if NUID is readable

  33. if ( ! rfid.PICC_ReadCardSerial())

  34. return;

  35. MFRC522::ICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);

  36. // Check if it is a MIFARE card type

  37. if (piccType != MFRC522::ICC_TYPE_MIFARE_MINI &&

  38. piccType != MFRC522::ICC_TYPE_MIFARE_1K &&

  39. piccType != MFRC522::ICC_TYPE_MIFARE_4K) {

  40. Serial.println(“This card type is not supported for reading”);

  41. return;

  42. }

  43. // Save NUID to nuidPICC array

  44. for (byte i = 0; i < 4; i++) {

  45. nuidPICC[i] = rfid.uid.uidByte[i];

  46. }

  47. Serial.print(“Hex UID:”);

  48. printHex(rfid.uid.uidByte, rfid.uid.size);

  49. Serial.println();

  50. Serial.print(“Decimal UID:”);

  51. printDec(rfid.uid.uidByte, rfid.uid.size);

  52. Serial.println();

  53. // Put the IC card placed in the reading area into sleep mode, to avoid reading repeatedly

  54. rfid.PICC_HaltA();

  55. // Stop card reader encoding

  56. rfid.PCD_StopCrypto1();

  57. }

  58. void printHex(byte *buffer, byte bufferSize) {

  59. for (byte i = 0; i < bufferSize; i++) {

  60. Serial.print(buffer[i] < 0x10 ? ” 0″ : “”);

  61. Serial.print(buffer[i], HEX);

  62. }

  63. }

  64. void printDec(byte *buffer, byte bufferSize) {

  65. for (byte i = 0; i < bufferSize; i++) {

  66. Serial.print(buffer[i] < 0x10 ? ” 0″ : “”);

  67. Serial.print(buffer[i], DEC);

  68. }

  69. }

Experiment Serial Return Situation

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Experiment Open Source Code Part Three

  1. /*

  2. [Arduino] Series of Experiments with 168 Types of Sensor Modules (Data Code + Simulation Programming + Graphical Programming)

  3. Experiment 98: MFRC-522 RC522 RFID Reader Module for S50 Fudan Card Keychain

  4. 1. Install library: IDE – Tools – Manage Libraries – Search for “MFRC522” library – Install

  5. 2. Project Three: Read and write operations of the RC522 module

  6. 3. Wiring between RFID and Arduino Uno

  7. SDA————————Digital 10

  8. SCK————————Digital 13

  9. MOSI———————-Digital 11

  10. MISO———————-Digital 12

  11. IRQ————————Not connected

  12. GND———————–GND

  13. RST————————Digital 9

  14. 3.3V————————3.3V (Do not connect to 5V interface!!!)

  15. */

  16. #include <SPI.h>

  17. #include <MFRC522.h>

  18. #define RST_PIN 9 // Configure pins

  19. #define SS_PIN 10

  20. MFRC522 mfrc522(SS_PIN, RST_PIN); // Create new RFID instance

  21. MFRC522::MIFARE_Key key;

  22. void setup() {

  23. Serial.begin(9600); // Set serial baud rate to 9600

  24. while (!Serial); // If the serial port is not open, loop indefinitely and do not proceed

  25. SPI.begin(); // Start SPI

  26. mfrc522.PCD_Init(); // Init MFRC522 card

  27. for (byte i = 0; i < 6; i++) {

  28. key.keyByte[i] = 0xFF;

  29. }

  30. Serial.println(F(“Start scanning the card for reading or writing”));

  31. Serial.print(F(“Use A and B as keys”));

  32. dump_byte_array(key.keyByte, MFRC522::MF_KEY_SIZE);

  33. Serial.println();

  34. Serial.println(F(“Note: Data will be written to card #1”));

  35. }

  36. void loop() {

  37. // Find new card

  38. if ( ! mfrc522.PICC_IsNewCardPresent())

  39. return;

  40. // Select a card

  41. if ( ! mfrc522.PICC_ReadCardSerial())

  42. return;

  43. // Display detailed information about the card

  44. Serial.print(F(“Card UID:”));

  45. dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);

  46. Serial.println();

  47. Serial.print(F(“Card Type: “));

  48. MFRC522::ICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak);

  49. Serial.println(mfrc522.PICC_GetTypeName(piccType));

  50. // Check compatibility

  51. if ( piccType != MFRC522::ICC_TYPE_MIFARE_MINI

  52. && piccType != MFRC522::ICC_TYPE_MIFARE_1K

  53. && piccType != MFRC522::ICC_TYPE_MIFARE_4K) {

  54. Serial.println(F(“Only suitable for reading and writing Mifare Classic cards”));

  55. return;

  56. }

  57. // We only use the second sector

  58. // Overwrite sector 4

  59. byte sector = 1;

  60. byte blockAddr = 4;

  61. byte dataBlock[] = {

  62. 0x01, 0x02, 0x03, 0x04, // 1, 2, 3, 4,

  63. 0x05, 0x06, 0x07, 0x08, // 5, 6, 7, 8,

  64. 0x00, 0x00, 0x00, 0x00, // 0, 0, 0, 0

  65. 0x00, 0x00, 0x00, 0x00 // 0, 0, 0, 0

  66. }; // Data to be written definition

  67. byte trailerBlock = 7;

  68. MFRC522::StatusCode status;

  69. byte buffer[18];

  70. byte size = sizeof(buffer);

  71. // Original data

  72. Serial.println(F(“Displaying original data…”));

  73. status = (MFRC522::StatusCode) mfrc522.PCD_Authenticate(MFRC522::ICC_CMD_MF_AUTH_KEY_A, trailerBlock, &key, &(mfrc522.uid));

  74. if (status != MFRC522::STATUS_OK) {

  75. Serial.print(F(“Authentication failed? Or card link failed”));

  76. Serial.println(mfrc522.GetStatusCodeName(status));

  77. return;

  78. }

  79. // Display entire sector

  80. Serial.println(F(“Displaying all sector data”));

  81. mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector);

  82. Serial.println();

  83. // Read data from the block

  84. Serial.print(F(“Reading data from block: “)); Serial.print(blockAddr);

  85. Serial.println(F(” block …”));

  86. status = (MFRC522::StatusCode) mfrc522.MIFARE_Read(blockAddr, buffer, &size);

  87. if (status != MFRC522::STATUS_OK) {

  88. Serial.print(F(“Reading failed, not connected “));

  89. Serial.println(mfrc522.GetStatusCodeName(status));

  90. }

  91. Serial.print(F(“Data content at block “)); Serial.print(blockAddr); Serial.println(F(” is:” ));

  92. dump_byte_array(buffer, 16); Serial.println();

  93. Serial.println();

  94. // Start preparing for writing

  95. Serial.println(F(“Starting preparation for writing…”));

  96. status = (MFRC522::StatusCode) mfrc522.PCD_Authenticate(MFRC522::ICC_CMD_MF_AUTH_KEY_B, trailerBlock, &key, &(mfrc522.uid));

  97. if (status != MFRC522::STATUS_OK) {

  98. Serial.print(F(“Writing failed, not connected or no permission “));

  99. Serial.println(mfrc522.GetStatusCodeName(status));

  100. return;

  101. }

  102. // Write data to the block

  103. Serial.print(F(“Writing data to block: “)); Serial.print(blockAddr);

  104. Serial.println(F(” block …”));

  105. dump_byte_array(dataBlock, 16); Serial.println();

  106. status = (MFRC522::StatusCode) mfrc522.MIFARE_Write(blockAddr, dataBlock, 16);

  107. if (status != MFRC522::STATUS_OK) {

  108. Serial.print(F(“Writing failed… ” ));

  109. Serial.println(mfrc522.GetStatusCodeName(status));

  110. }

  111. Serial.println();

  112. // Read card data again, this time after writing

  113. Serial.print(F(“Reading data from block: “)); Serial.print(blockAddr);

  114. Serial.println(F(” block data …”));

  115. status = (MFRC522::StatusCode) mfrc522.MIFARE_Read(blockAddr, buffer, &size);

  116. if (status != MFRC522::STATUS_OK) {

  117. Serial.print(F(“Reading failed… ” ));

  118. Serial.println(mfrc522.GetStatusCodeName(status));

  119. }

  120. Serial.print(F(“Block “)); Serial.print(blockAddr); Serial.println(F(” data is:” ));

  121. dump_byte_array(buffer, 16); Serial.println();

  122. // Verify that the written data and read data are equal

  123. // By calculating the number of bytes in the block

  124. Serial.println(F(“Waiting for verification result…”));

  125. byte count = 0;

  126. for (byte i = 0; i < 16; i++) {

  127. // Compare the data in the buffer (the data we read) = (the data we just wrote)

  128. if (buffer[i] == dataBlock[i])

  129. count++;

  130. }

  131. Serial.print(F(“Number of matching bytes = “)); Serial.println(count);

  132. if (count == 16) {

  133. Serial.println(F(“Verification successful:” ));

  134. } else {

  135. Serial.println(F(“Failed, data does not match”));

  136. Serial.println(F(“Perhaps the written content is incorrect”));

  137. }

  138. Serial.println();

  139. // Dump sector data

  140. Serial.println(F(“Data content after writing is:” ));

  141. mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector);

  142. Serial.println();

  143. // Stop PICC

  144. mfrc522.PICC_HaltA();

  145. // Stop encrypting PCD

  146. mfrc522.PCD_StopCrypto1();

  147. }

  148. /**

  149. * Dump byte array as serial hex values

  150. */

  151. void dump_byte_array(byte *buffer, byte bufferSize) {

  152. for (byte i = 0; i < bufferSize; i++) {

  153. Serial.print(buffer[i] < 0x10 ? ” 0″ : ” “);

  154. Serial.print(buffer[i], HEX);

  155. }

  156. }

Experiment Serial Return Situation

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Experiment Open Source Simulation Programming (Linkboy V4.62)

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Experiment Simulation Programming (Linkboy V4.62) Part Two

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Experiment Serial Return Situation

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Experiment Open Source Simulation Programming (Linkboy V4.62) Others

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

NFC Tools PROis probably the most powerful NFC tool available (APP) so far, but unfortunately, NFC is not a standard feature on all phones. NFC Tools PRO is a tool that can read and write NFC tags, while also providing some additional features. The NFC Tools PRO edition includes extra functionalities such as profile management, etc. After saving your tags or task configurations, you can reuse them. NFC Tools PRO allows you to import tasks directly from existing NFC tags quickly. You can also edit your tags very quickly. You can also run task configuration files directly.Main Features:– Read and write NFC– NFC tag profile management– Import tasks from tags

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Author: Diao Ye Learning Programming, Source: Breadboard Community

Link: https://mbb.eet-china.com/blog/uid-me-3894459.html

Copyright Statement: This article is original by the author, and reproduction is prohibited without permission!

[Join Now, Win Prizes]

Hands-On Arduino Projects: Exploring the MFRC522 RC522 RFID Module

Leave a Comment

Your email address will not be published. Required fields are marked *