RFID for Arduino, ESP32 and Raspberry Pi projects: modules, tags and cards
Before you order: quantities, samples and approvals
Read this first. Cards, tags and labels are sold from 500 pcs per item; there is no single-piece card or tag sale. For a project you can order samples instead: ₹250 for 1–2 pieces of a tag, label, card or wristband, shipping included, or collect them from our New Delhi office. Reader modules, readers and development kits are sold singly and are purchased, not sampled. On radio approval, ask us before you deploy a module.
This page is for students, makers and engineers building an RFID attendance system, a door lock, a parts counter or a tag-reading demo on an Arduino, an ESP32 or a Raspberry Pi. It explains which module fits which tag family, what to check before wiring, and which tags and cards from our catalogue work with each. The RC522 vs PN532 vs UHF module comparison goes deeper on the module choice.
Pick the frequency first, then the module
RFID tags come in three bands and a module reads one of them. A 13.56 MHz (HF/NFC) module reads ID cards, NFC tags and many library labels at a few centimetres. A 125 kHz (LF) module reads the simpler attendance cards and key fobs at a similar range. A UHF module reads EPC Gen2 labels and tags further away, in India's 865–868 MHz band. The module and the tags must match: a 13.56 MHz module will never read a UHF label, however close you hold it. The frequency comparison guide explains the trade-offs, and how RFID works covers the physics in plain language.
| Module | Band | Interface | Reads | Listing |
|---|---|---|---|---|
| RC522 reader-writer module | 13.56 MHz | SPI; 3.3 V supply and logic | ISO 14443A: MIFARE Classic, NTAG-type tags | Price on request |
| PN532 NFC module | 13.56 MHz | I²C, SPI or UART by DIP switch, typical for the class | ISO 14443A and B, FeliCa; card emulation | Price on request |
| 125 kHz UART module | 125 kHz | UART (TTL), 9600 baud typical for the class | EM4100-format cards and fobs | Price on request |
| UHF UART development module | 865–868 MHz | UART (TTL), typical for the class | EPC Gen2 labels and tags | Price on request |
The figures in the table are the public definitions of each module class, as written on the product pages; output power, antenna and exact board layout are confirmed for the module supplied. The HF and LF modules are listed with the HF RFID readers and the UHF modules under RFID modules.
Board voltages: the check that saves a module
Three facts decide whether a module survives its first power-up. The Arduino UNO R3's datasheet ties its digital logic reference (IOREF) to 5 V. The Arduino Nano ESP32 is a 3.3 V board. The Raspberry Pi's general-purpose pins are 3.3 V pins, and its documentation warns against using 5 V for 3.3 V components; its first SPI bus sits on GPIO 10 (MOSI), GPIO 9 (MISO), GPIO 11 (SCLK) and GPIO 8 and 7 (chip enable).
The RC522 module is a 3.3 V part, so it connects straight to a Nano ESP32 or a Raspberry Pi, while on a 5 V UNO the signal lines need level shifting. The widely used Arduino library for RC522 modules says the same in its own notes: SPI only works with 3.3 V; most breakouts seem 5 V tolerant, but try a level shifter. Check the supply and logic voltage on the module's own documentation before you connect it, and never feed a 5 V signal into a Pi's GPIO.
- Confirm the module's supply and logic voltage; add a level shifter if the board's logic is higher.
- Match the bus (SPI, I²C or UART) to the pins your board provides and to a library that supports the module on that board.
- Check the power rating of a UHF module before you wire it; the production RM26 module, for example, takes 9–24 V DC and up to 4 W, from its own adapter.
- Keep the antenna clear of metal and of the board itself; on a UHF module, connect the antenna before powering it.
- Read the tag's ID first; write to user memory only once reading is reliable.
Arduino and ESP32: RC522 and PN532 projects
Most student projects start at 13.56 MHz. The Arduino library for RC522-based modules talks to the module over SPI; it works with MIFARE Classic 1K and 4K cards, works partially with MIFARE Ultralight and NTAG216, and does not support DESFire. Its README also says that development by the original owner has ended and that its features are frozen, and it points new projects to a successor library. For a project, that means a plain MIFARE Classic or NTAG card, not a DESFire one.
Choose the PN532 when you need ISO 14443B or FeliCa cards, card emulation so that a phone can read your device as a tag, or a choice of I²C, SPI or UART. The credentials that pair with both modules are:
- Plain HF cards, 13.56 MHz: ₹10 + GST, from 500 pcs.
- NFC cards with NTAG213/215/216 or MIFARE Classic 1K/4K chips: ₹20 + GST.
- HF token tags and PVC coin tags for key rings and lanyards: ₹25 + GST and ₹25 + GST.
- NFC tag NTAG213 and NFC wet inlays for stick-on projects: ₹15 + GST and ₹15 + GST.
Raspberry Pi: modules or a ready-built USB reader
A Raspberry Pi can drive an RC522 over SPI or a PN532 over I²C or UART on its 3.3 V header. It can also skip the module altogether: a ready-built USB reader that types the card number like a keyboard needs no wiring and no driver code. The HRD20 USB desktop reader (₹2,000 + GST) reads 13.56 MHz cards at 5–10 cm, and the LF USB desktop reader IDTS-LFPPR (₹1,500 + GST) reads 125 kHz cards at 5–8 cm; the RFID scanner to Excel guide shows the keyboard-mode idea.
125 kHz projects
A 125 kHz UART module sends the card's ID as a short string of characters when a card is presented, which makes it the simplest module to use: no RFID library, just a serial port. It reads EM4100-format cards and fobs. From our catalogue: 125 kHz LF cards (₹10 + GST), LF tokens in EM4100 or rewritable T5577 versions (₹25 + GST) and LF key fob tags (₹20 + GST).
UHF projects: when a development module is not enough
A UHF project reads EPC Gen2 labels from further away: a parts bin that counts itself, a shelf that knows what is on it, a vehicle gate. The UART development module suits a microcontroller prototype where a serial command interface and a small board matter most. For a bench setup that behaves like a product, the UHF reader module IDTS-RM26 has Ethernet, RS232, RS485 and Wiegand outputs, 0–26 dBm adjustable output power and one SMA antenna port; the RM26 module evaluation kit bundles it with the SY702 strip antenna, cable, power adapter and sample tags.
For a laptop or phone rather than a microcontroller, the UCR10 USB-C reader (₹12,000 + GST) reads up to 1.5 m with no wiring at all. When the prototype becomes a fixed installation, the IF9A integrated reader (₹24,000 + GST) lists an SDK for .NET, Java, Linux, Python, Arduino and Raspberry Pi. Every UHF module is listed under RFID modules.
Tags for a UHF project: a printable UHF label 50 × 30 mm (₹8 + GST) for cartons and plastic items, a UHF card (₹20 + GST) for a gate demo, and an on-metal tag (₹89 + GST) for anything metallic, because a plain label stops reading on metal. The read-range and link budget explainer and the read range calculator show why a bench result differs from a datasheet figure.
Project ideas and the guides that go with them
- Attendance system: an HF module or USB reader, printed HF cards, a timestamp per tap; the attendance management guide covers the data model.
- Door lock: an HF or LF module, a relay and a strike; the door access setup guide explains Wiegand wiring, and the RFID locks category has finished locks if the project grows into a product.
- Parts bin or smart shelf: a UHF module, a short-range antenna, printable labels; the inventory management guide covers counting logic.
- Tag not reading? The troubleshooting guide lists the usual causes, from metal and liquids to a mismatched band.
Legal note for UHF projects in India
India's UHF RFID band is 865–868 MHz, licence-exempt under G.S.R. 853(E) of 10 December 2021, which allows RFID interrogators up to 2 W e.r.p. on four channels and requires the equipment to be type approved. Buy a module for the India band, not a US-band (902–928 MHz) import. Ask us about the approval status of the module you order before your project becomes a product. The WPC ETA checklist for RFID readers explains the paperwork.
Sources
All fetched on 22 October 2026.
- Arduino UNO R3 datasheet (IOREF, the digital logic reference, connected to 5 V).
- Arduino Nano ESP32 datasheet (operating voltage 3.3 V).
- Raspberry Pi documentation: Raspberry Pi hardware (3.3 V GPIO; do not use 5 V for 3.3 V components; SPI0 pin numbers).
- GitHub: Arduino RFID library for MFRC522 (miguelbalboa/rfid), README (SPI only at 3.3 V, level-shifter advice; supported and unsupported cards; development ended).
- Gazette of India, G.S.R. 853(E), 10 December 2021: Use of Low Power Equipment in the Frequency Band 865-868 MHz for Short Range Devices (Exemption from Licence) Rules, 2021 (865–868 MHz, 2 W e.r.p. for RFID; type approval).
