⚠️ Affiliate Disclosure: This post contains Amazon affiliate links. If you purchase through our links, we may earn a small commission at no extra cost to you. We only recommend products we have researched and verified. Prices change frequently, so we don’t list them here. Always tap through and confirm the live price on Amazon before buying.
Ultimate Buying Guide
📡 Best RFID & NFC Modules for Arduino, ESP32 & Raspberry Pi
8 RFID and NFC readers ranked for makers, students and product builders: the RC522 (MFRC522), PN532, PN5180, RDM6300, a plug-and-play I2C unit, a Raspberry Pi HAT and a USB desktop reader, with real specs, honest verdicts and direct Amazon links.
✅ 8 Modules Reviewed
✅ Verified Amazon Listings
✅ 125kHz & 13.56MHz Covered
✅ Honest Pros & Cons
RFID and NFC modules let your microcontroller identify a card, key fob, sticker or phone without any contact. That makes them the core of door locks, attendance systems, cashless vending, inventory tracking, library check-out, smart home triggers and interactive toys. A cheap reader, a few tags and an Arduino, ESP32 or Raspberry Pi Pico are all it takes to build a working access-control prototype in an afternoon.
Picking the right reader is less obvious than it looks. Modules differ in frequency (125kHz low-frequency vs 13.56MHz high-frequency), supported standards (ISO 14443A only, or full NFC with FeliCa, ISO 15693 and phone peer-to-peer), interface (SPI, I2C, UART or USB), logic level and read range. This guide compares 8 of the most useful RFID/NFC modules, from the classic MFRC522 to the long-range PN5180, on the specs that actually matter for embedded projects.
💡 Reality check before you buy: Most low-cost RC522 and PN532 boards are generic clones, so antenna tuning and read range vary from batch to batch. Real-world range with a card is usually 2 to 5 cm, not the optimistic figures in listings, and small stickers or key fobs read even closer. The RC522 is a 3.3V part, so feeding it 5V can kill it. A 125kHz reader (RDM6300) will never read 13.56MHz MIFARE or NFC tags, and vice versa, so match the reader to your tags first. Finally, cheap MIFARE Classic cards use broken Crypto-1 security; they are fine for hobby projects but not for anything that must be secure. Use DESFire or NTAG 424 DNA with a PN532/PN5180 for that.
📡 Quick Comparison: All 8 RFID & NFC Modules
| Module | Chip · Frequency | Interface | Best For | Buy |
|---|
| 🥇 HiLetgo PN532 V3 | PN532 · 13.56MHz | I2C / SPI / HSU | Best Overall | Buy Here → |
| 🏅 HiLetgo RC522 | MFRC522 · 13.56MHz | SPI | Best Value | Buy Here → |
| 🍓 Waveshare PN532 HAT | PN532 · 13.56MHz | I2C / SPI / UART | Best for Raspberry Pi | Buy Here → |
| 🚀 PN5180 Module | PN5180 · 13.56MHz | SPI | Best Long-Range / ISO 15693 | Buy Here → |
| 🔌 M5Stack RFID 2 | WS1850S · 13.56MHz | I2C (Grove) | Best Plug-and-Play | Buy Here → |
| 📘 Adafruit PN532 | PN532 · 13.56MHz | I2C / SPI / UART | Best Documented | Buy Here → |
| 🏷️ HiLetgo RDM6300 | EM4100 · 125kHz | UART | Best 125kHz Reader | Buy Here → |
| 💻 ACS ACR122U | PN532 · 13.56MHz | USB (PC/SC) | Best USB Desktop Reader | Buy Here → |
Prices are intentionally left out because they change often. Tap “Buy Here” to see the current price and pack size on Amazon. Several budget modules are sold in multi-packs, so check the listing variant.
🔍 What to Look for in an RFID / NFC Module
📶
Frequency (125kHz vs 13.56MHz)
125kHz LF readers (RDM6300) only read simple EM4100 ID tags. 13.56MHz HF readers (RC522, PN532, PN5180) handle MIFARE, NTAG and NFC phones. Check which tags you already have before buying a reader.
🧾
Supported Standards
The MFRC522 speaks ISO 14443A only. The PN532 adds 14443B, FeliCa and NFC peer-to-peer/card emulation. The PN5180 also reads ISO 15693 (ICODE) library and industrial tags at longer range.
🔌
Interface
SPI is fastest and most common. I2C saves pins and lets you chain sensors. UART/HSU is easiest on boards with spare serial ports. USB readers like the ACR122U plug straight into a PC or Raspberry Pi.
⚡
Logic Voltage
The RC522 and PN5180 logic are 3.3V only, which is perfect for ESP32, Pico and Raspberry Pi. On a 5V Arduino Uno, use a level shifter or pick a PN532 board with on-board level shifting.
📏
Read Range & Antenna
Expect roughly 2 to 5 cm with a card on most modules; small tags read closer. The PN5180’s stronger RF front-end reaches further. Keep metal and batteries away from the antenna coil.
🏆 Detailed Reviews: All 8 RFID & NFC Modules
🥇 BEST OVERALL
HiLetgo PN532 NFC Module V3
⭐ 4.7/5 · The Do-Everything NFC Reader
13.56 MHz
ISO 14443A/B · FeliCa
I2C/SPI/HSU
SWITCH-SELECTABLE
3.3–5V
ON-BOARD LEVEL SHIFT
Buy on Amazon →

The HiLetgo PN532 V3 is the module we recommend to anyone who wants one reader that handles almost everything. Built around NXP’s PN532 controller, it reads and writes MIFARE Classic 1K/4K, Ultralight, NTAG and DESFire cards, talks FeliCa, and even supports NFC peer-to-peer and card emulation so it can interact with Android phones. A small DIP switch selects I2C, SPI or HSU (UART), and the on-board level shifting makes it comfortable on both 5V Arduino boards and 3.3V ESP32, STM32 and Raspberry Pi projects. Mature libraries (Adafruit_PN532, Seeed PN532, libnfc) mean you’re reading UIDs within minutes.
✅ Pros- Real NFC: phones, NTAG, DESFire, FeliCa
- I2C, SPI and UART on one board
- Works at 3.3V and 5V logic
- Excellent library support; kit includes card + fob
❌ Cons- Clone quality and antenna tuning vary
- I2C mode can be finicky with long wires
- Bulkier than an RC522
🎯 Verdict: The best all-round RFID/NFC module for makers. If you’re unsure which reader to buy, buy this one.
👉 Check Price on Amazon →
🏅 BEST VALUE
HiLetgo RC522 (MFRC522) RFID Kit
⭐ 4.6/5 · The Classic MFRC522 Starter Kit
Buy on Amazon →

The RC522, built on NXP’s MFRC522 chip, is the RFID module almost every Arduino tutorial starts with, and this HiLetgo kit bundles the reader, an S50 MIFARE card and a key-fob tag. It reads and writes MIFARE Classic 1K and reads the UID of Ultralight/NTAG tags over a fast SPI link. With the hugely popular MFRC522 Arduino library and MicroPython drivers, it’s the fastest path to a working door lock or attendance system. Just remember it’s a 3.3V module: power it from 3.3V and level-shift the SPI lines on a 5V Uno for long-term reliability.
✅ Pros- Very low cost, often sold in multi-packs
- Huge tutorial and library ecosystem
- Fast SPI, easy to wire
- Includes card and key fob
❌ Cons- ISO 14443A only; no FeliCa or phone P2P
- 3.3V only, not 5V tolerant
- Short range; header pins need soldering
🎯 Verdict: The best budget RFID reader for learning and simple access-control projects. Grab a multi-pack and start building.
👉 Check Price on Amazon →
🍓 BEST FOR RASPBERRY PI · ⭐ 4.4/53. Waveshare PN532 NFC HAT
PN532 · 13.56MHz · I2C / SPI / UART · 40-pin HAT · 3.3V/5V
Buy →

The Waveshare PN532 NFC HAT puts a full PN532 NFC controller on a board that plugs straight onto a Raspberry Pi’s 40-pin header, with jumpers to choose I2C, SPI or UART. Waveshare’s wiki provides ready-to-run Python examples for the Pi plus C examples for Arduino and STM32, and the HAT can also be wired to other boards with jumper leads. It’s the cleanest way to add NFC tag reading, writing and phone interaction to a Pi-based kiosk, attendance terminal or home-automation hub.
✅ Pros: No loose wiring on a Pi; I2C/SPI/UART selectable; well-documented examples; full PN532 NFC feature set.
❌ Cons: Costs several times more than a bare PN532 board; HAT form factor is bulky for Arduino builds.
🎯 Verdict: The best choice for Raspberry Pi owners who want NFC working today, not after an evening of jumper wires.
👉 Check Price on Amazon →
🚀 BEST LONG-RANGE / ISO 15693 · ⭐ 4.2/54. PN5180 NFC Module
PN5180 · 13.56MHz · ISO 14443A/B · ISO 15693 · FeliCa · SPI · 3.3V logic
Buy →

The PN5180 is NXP’s high-performance NFC front-end and a big step up from the PN532. Its stronger RF output and dynamic power control give noticeably better read range, and it adds ISO 15693 (ICODE SLIX) support, the vicinity tags used in libraries, laundries, industrial tracking and many toys, alongside ISO 14443A/B, FeliCa and card emulation. It communicates over SPI with extra BUSY and RST lines, and community libraries such as the PN5180-Library for Arduino and ESP32 make ISO 15693 inventory straightforward.
✅ Pros: Best range in this roundup; reads ISO 15693 plus 14443 and FeliCa; ideal for ESP32 projects.
❌ Cons: 3.3V logic needs level shifting on 5V boards; needs both 5V and 3.3V rails; smaller library ecosystem; few Amazon reviews.
🎯 Verdict: Pick the PN5180 when range or ISO 15693 tags matter. It’s the reader for serious projects, not first-timers.
👉 Check Price on Amazon →
🔌 BEST PLUG-AND-PLAY · ⭐ 4.3/55. M5Stack RFID 2 Unit (WS1850S)
WS1850S (MFRC522-compatible) · 13.56MHz · I2C @0x28 · Grove connector · <20mm range
Buy →

The M5Stack RFID 2 Unit packs an MFRC522-compatible WS1850S chip into a tiny LEGO-compatible enclosure with a Grove (HY2.0-4P) cable. There’s no soldering and only four wires on I2C address 0x28, so it snaps onto M5Stack controllers, Seeed XIAO or any ESP32 board with a Grove port. It reads MIFARE and NTAG cards and works with MFRC522 I2C libraries and UIFlow blocks. The short read distance is deliberate, helping avoid accidental reads at a tap-to-pay style kiosk.
✅ Pros: Zero soldering; tiny enclosed unit; I2C frees up pins; great with M5Stack/ESP32 ecosystems.
❌ Cons: Very short range by design; ISO 14443 only; newer listing with few reviews.
🎯 Verdict: The easiest RFID reader to drop into an ESP32 or M5Stack project. Plug, code, done.
👉 Check Price on Amazon →
📘 BEST DOCUMENTED · ⭐ 4.4/56. Adafruit PN532 NFC/RFID Breakout
PN532 · 13.56MHz · I2C / SPI / UART · large on-board antenna · Adafruit library & CircuitPython
Buy →

The Adafruit PN532 breakout is the original, well-engineered version of the board many clones copy. You get a properly tuned large antenna, clear pin labels, and Adafruit’s excellent learning guide plus the Adafruit_PN532 Arduino library and CircuitPython driver, all maintained for years. It needs a little soldering for the headers and jumpers. Note: the Amazon listing is usually sold by third-party sellers at well above Adafruit’s own list price, so compare before you buy.
✅ Pros: Genuine, consistent quality; best documentation and support; CircuitPython ready; strong antenna.
❌ Cons: Amazon price typically well above Adafruit’s MSRP; soldering required; few Amazon reviews.
🎯 Verdict: Buy it when you want a known-good PN532 and first-class documentation, but check the live price first.
👉 Check Price on Amazon →
🏷️ BEST 125kHz READER · ⭐ 3.9/57. HiLetgo RDM6300 125kHz Reader
RDM6300 · 125kHz · EM4100/EM4102 · UART 9600 baud · 5V · external coil antenna
Buy →

Many existing office badges, hotel cards and cheap key fobs are 125kHz EM4100 tags, which no 13.56MHz reader can see. The RDM6300 reads them and simply streams each tag’s ID over UART at 9600 baud, so the code is just a serial read. It runs from 5V with a separate coil antenna you can mount behind a panel. We’ve already covered it in detail with Arduino and ESP32 tutorials.
✅ Pros: Reads the 125kHz tags HF readers can’t; dead-simple UART output; low cost; external antenna.
❌ Cons: Read-only; EM4100 only (no HID Prox); mixed Amazon reviews about consistency; 5V TX needs dividing for 3.3V MCUs.
🎯 Verdict: The go-to choice only if your tags are 125kHz. For new projects, 13.56MHz is the better ecosystem.
👉 Check Price on Amazon →
💻 BEST USB DESKTOP READER · ⭐ 4.4/58. ACS ACR122U USB NFC Reader
ACR122U · PN532 inside · 13.56MHz · USB · PC/SC (CCID) · ISO 14443A/B · FeliCa · ISO 18092
Buy →

The ACS ACR122U is a finished, enclosed USB NFC reader/writer that works with Windows, macOS, Linux and Raspberry Pi through the standard PC/SC interface or libnfc. It’s the tool embedded developers keep on the bench for encoding NTAG stickers, dumping card UIDs, testing firmware against real tags and prototyping desktop enrollment stations. This bundle includes NTAG213 tags and sample cards. On Linux you may need to blacklist the pn533 kernel modules before libnfc can claim it.
✅ Pros: Plug-and-play USB; industry-standard PC/SC; enclosed and durable; great bench tool for tag provisioning.
❌ Cons: Not an embeddable module; higher cost; beeper/LED behaviour can need tweaking; Linux driver quirks.
🎯 Verdict: The best NFC reader for your PC or bench, perfect for provisioning tags your embedded device will read.
👉 Check Price on Amazon →
🛒 How to Choose the Right RFID / NFC Module
🚪
Building a door lock or attendance system?
Start with the HiLetgo PN532 V3 for full NFC and phone support, or the RC522 if you only need MIFARE cards.
💵
Learning on a tight budget?
A multi-pack of RC522 (MFRC522) modules is the cheapest way to learn SPI and RFID. Follow our RC522 Arduino tutorial.
🍓
Using a Raspberry Pi?
The Waveshare PN532 NFC HAT plugs straight onto the 40-pin header with Python examples ready to run.
📚
Need range or ISO 15693 tags?
The PN5180 reads further and supports ICODE vicinity tags used in libraries and industry.
🏷️
Already have 125kHz badges?
Only a 125kHz reader like the RDM6300 will read EM4100 fobs and cards.
💻
Provisioning tags from a PC?
Keep an ACS ACR122U on the bench to write NTAG stickers and test cards over USB.
⚙️ Key Specs Compared: Side by Side
| Spec | PN532 (HiLetgo) | RC522 | PN5180 | M5Stack RFID 2 | RDM6300 | ACR122U |
|---|
| Frequency | 13.56 MHz | 13.56 MHz | 13.56 MHz | 13.56 MHz | 125 kHz | 13.56 MHz |
| Chip | NXP PN532 | NXP MFRC522 | NXP PN5180 | WS1850S | EM4100 decoder | NXP PN532 |
| Protocols | 14443A/B, FeliCa, 18092 | 14443A | 14443A/B, 15693, FeliCa, 18092 ⭐ | 14443A/B | EM4100/4102 | 14443A/B, FeliCa, 18092 |
| Interface | I2C / SPI / HSU ⭐ | SPI | SPI (+BUSY) | I2C (Grove) | UART | USB (PC/SC) |
| Phone NFC / P2P | Yes ⭐ | No | Yes ⭐ | No | No | Yes ⭐ |
| Logic Level | 3.3V & 5V ⭐ | 3.3V | 3.3V | 3.3V/5V (Grove) | 5V | USB |
| Relative Read Range | Good | Fair | Best ⭐ | Short (<2 cm) | Good | Good |
| Library Support | Excellent ⭐ | Excellent ⭐ | Good | Good | Excellent ⭐ | PC/SC + libnfc |
Specs are based on the chip datasheets and Amazon listings; clone boards vary. Read range depends heavily on tag size, antenna tuning and nearby metal. Always confirm details on the live Amazon listing.
❓ Frequently Asked Questions
What’s the difference between RFID and NFC?
NFC is a subset of 13.56MHz high-frequency RFID. Every NFC reader is an RFID reader, but not every RFID reader does NFC. A basic RFID reader like the RC522 simply reads and writes tags (ISO 14443A). A true NFC controller like the PN532 or PN5180 also supports the NFC Forum standards: reading NDEF records, talking to smartphones, peer-to-peer mode and card emulation. If you want a phone to interact with your project, you need an NFC-capable reader.
RC522 vs PN532: which should I buy?
Buy the RC522 if you only need to read MIFARE Classic cards and key fobs by UID and want the cheapest, most-tutorialized option on SPI. Buy the PN532 if you want NTAG/NDEF support, DESFire, FeliCa, phone interaction, or the flexibility of I2C and UART as well as SPI. The PN532 also tolerates 5V logic on most boards thanks to level shifting, while the RC522 is strictly 3.3V.
Can I use the RC522 with a 5V Arduino Uno?
Power it only from the Uno’s 3.3V pin, never 5V. Many people connect the SPI lines directly and it often works, but the MFRC522 isn’t specified as 5V tolerant, so for a reliable build use a logic-level shifter (or resistor dividers) on SCK, MOSI and SDA/SS. Better still, pair it with a 3.3V board like the ESP32 or Raspberry Pi Pico. See our RC522 with Raspberry Pi Pico guide.
Why is my RFID reader’s range so short?
Passive tags are powered entirely by the reader’s magnetic field, so range is limited by antenna size and RF power. Typical hobby modules read cards at 2 to 5 cm and small stickers or fobs at 1 to 2 cm. Range drops sharply near metal, batteries and ground planes, and poorly tuned clone antennas make it worse. For more distance, use a larger card-sized tag, keep the antenna clear of metal, or step up to a PN5180.
Is MIFARE Classic secure enough for a door lock?
Not for anything important. MIFARE Classic’s Crypto-1 cipher has been broken for years, and many projects only check the tag’s UID, which can be cloned onto “magic” cards. For hobby projects that’s fine, but for real access control use cards with modern cryptography such as MIFARE DESFire EV2/EV3 or NTAG 424 DNA, read with a PN532 or PN5180, and verify authentication rather than just the UID.
🏁 Final Verdict: Best RFID / NFC Module for Every Build
The right reader for every project and budget:
🥇 Best Overall: HiLetgo PN532 V3: full NFC, I2C/SPI/UART, 3.3V and 5V friendly
Buy →🏅 Best Value: HiLetgo RC522 (MFRC522): the classic, cheapest SPI RFID reader
Buy →🍓 Best for Raspberry Pi: Waveshare PN532 NFC HAT: plugs onto the 40-pin header
Buy →🚀 Best Long-Range: PN5180: stronger RF plus ISO 15693 support
Buy →🔌 Best Plug-and-Play: M5Stack RFID 2: Grove I2C, no soldering
Buy →🏷️ Best 125kHz: HiLetgo RDM6300: reads EM4100 badges over UART
Buy →💻 Best USB Reader: ACS ACR122U: PC/SC bench reader for tag provisioning
Buy →There’s no single perfect reader, but every pick here earns its place. For most projects the HiLetgo PN532 V3 is the one to buy: real NFC, three interfaces and 5V-friendly logic. If you’re learning on a budget, stock up on RC522 modules; Raspberry Pi builders should grab the Waveshare PN532 HAT; range and ISO 15693 call for the PN5180; ESP32 and M5Stack users will love the solder-free M5Stack RFID 2; legacy 125kHz badges need the RDM6300; and every bench deserves an ACR122U for provisioning tags. Ready to wire one up? Browse our step-by-step microcontrollerslab.com tutorials, including the RC522 RFID with Arduino, RC522 with Raspberry Pi Pico and RDM6300 with ESP8266 guides.
💬 Not sure which reader fits your project? Tell us what you’re building in the comments below (a door lock, an attendance system, a cashless kiosk or an NFC-triggered smart home scene) and we’ll point you to the right pick.
All Amazon links above use our affiliate tag (microlab05-20). Purchasing through them supports microcontrollerslab.com at no extra cost to you. Prices and availability change frequently, so always confirm the current price on Amazon before buying.