NFC / RFID
Interfacing PN532 NFC / RFID with Arduino Uno
What is the PN532?
PN532 practical reference
A more capable NFC controller than the RC522, supporting card emulation and peer-to-peer NFC in addition to basic tag reading. The PN532 handles the full range of NFC operation modes — reading and writing common tag types, emulating a card itself (so a project can act like an access card), and peer-to-peer communication with another NFC device like a smartphone — making it the preferred choice over the simpler RC522 whenever a project needs more than just read/write access-control tag scanning.
Key specifications
- Chipset: NXP PN532 NFC/RFID controller
- Operating voltage: 3.3V DC (5V-tolerant on some breakout boards with onboard level shifting — check your specific module)
- Operating current: ~100-150 mA during active RF operation
- Frequency: 13.56MHz (NFC/RFID)
- Supported tag types: ISO/IEC 14443A (Mifare Classic, Mifare Ultralight, NTAG), and FeliCa
- Operation modes: Read/write tag mode, card emulation mode, and peer-to-peer (P2P) mode for direct NFC device-to-device communication
- Read range: ~5-7cm typical, antenna-design dependent
- Interface: Selectable I2C, SPI, or UART depending on the DIP switch/solder jumper setting on the breakout board
Pinout and connection notes
Most PN532 breakout boards have a small switch or set of solder jumpers to select between I2C, SPI, and UART interface modes — double-check this setting matches your wiring and library configuration, since a mismatched mode is the most common reason a PN532 board fails to respond. I2C mode is the simplest for quick prototyping with common Arduino libraries (e.g. Adafruit's PN532 library).
- VCC: Power, 3.3-5V DC depending on breakout board
- GND: Ground
- SDA / MOSI / TX: Data line — role depends on selected interface mode (I2C/SPI/UART)
- SCL / SCK / RX: Clock or receive line — role depends on selected interface mode
- IRQ: Interrupt output, signals when a tag/device is detected
- RSTO / RSTPDN: Reset / power-down control pin
Integration checklist
- Confirm the exact part number and breakout-board revision.
- Verify supply voltage, current demand, logic levels, and signal direction against the datasheet.
- Check controller pin assignments and bus address or interface mode against the example code.
- Power up with external loads disconnected, then test signals before full integration.
- If readings or communication fail, check power and ground first, then pin mapping, interface settings, and library initialization.
Troubleshooting and reproducibility
Record the board used, wiring, library/version, supply arrangement, and measured behavior. Use the selected board-specific wiring example as the source of truth. Never assume visually similar modules share identical voltage tolerance or pin order.
Setting Up PN532 with Arduino Uno
Library
Adafruit PN532 by Adafruit
Arduino IDE → Tools → Manage Libraries → search "Adafruit PN532" → Install
Wiring
| Component pin | Arduino Uno pin | Note |
|---|---|---|
| VCC | 5V | |
| GND | GND | |
| SDA | A4 | I2C data — set the onboard DIP switches/jumper to I2C mode. |
| SCL | A5 | I2C clock. |
| IRQ, RSTO | — | Not required for basic polling reads; leave unconnected. |
Swipe sideways to see every column →
- Most PN532 breakout boards have a small switch or solder jumper selecting I2C / SPI / HSU (UART) mode — this wiring only works with the switch set to I2C, which is usually the default but worth checking.
- The module's antenna needs the card within roughly 3-5cm — this is a short-range NFC reader, not a long-range RFID reader.
- Reading a card UID (as above) works out of the box; reading/writing NDEF data blocks needs the library's more advanced Mifare classic examples and correct sector authentication keys.
Related Components
CC2530
Mesh-networking Zigbee radio module for home-automation sensors.
ESP 01
Minimal ESP8266 breakout for adding Wi-Fi to any microcontroller.
ESP8266 Module
General-purpose ESP8266 breakout with more accessible GPIO.
RC522
Low-cost 13.56MHz RFID reader for access control, attendance, and authentication projects.
Related Guides & Projects
Arduino Uno R4 Minima Pinout: Every GPIO, ADC, DAC, and Op-Amp Pin Explained
A complete Arduino Uno R4 Minima pinout reference — digital I/O, ADC, DAC, op-amp, CAN, dual UART, and exactly what it leaves out compared to the WiFi variant.
Mastering PWM on Arduino: Dimming LEDs and Controlling Motors
Understand what PWM actually is on Arduino, dim an LED smoothly, and safely control a DC motor's speed with a driver chip -- plus the mistakes (like wiring a motor straight to a pin) that damage boards.
4-Digit 7-Segment Counter with TM1637 & Arduino
Drive a TM1637-based 4-digit 7-segment display with Arduino Uno to show a real-time up/down counter, elapsed timer, and scrolling text. Covers library setup, brightness control, and custom segment mapping.
Arduino Uno R4 Minima vs WiFi: Which One Should You Choose?
Same processor, same memory, different price. Here's what the WiFi variant's extra hardware actually gets you, and when the Minima is the smarter buy.