The PN532 NFC RFID Module is a widely recognized and highly capable transceiver that brings Near Field Communication (NFC) technology into the embedded electronics and IoT systems. This article will discuss the PN532 NFC RFID Module, including its specifications, pinout configuration, applications, wiring methods, advantages, and more.

The PN532 NFC RFID Module is a powerful and versatile transceiver based on the NXP PN532 chip, designed for wireless communication with RFID and NFC devices. Operating at 13.56 MHz, it supports ISO/IEC 14443 Type A and B, MIFARE, FeliCa, and peer-to-peer protocols, making it ideal for applications like smart access control, attendance systems, and IoT authentication. The module is compatible with popular microcontrollers such as Arduino, Raspberry Pi, and ESP32, and it supports multiple communication interfaces including UART, I²C, and SPI.
With its reliable performance and wide compatibility, the PN532 allows users to read and write NFC cards, emulate tags, and communicate directly with smartphones. Its flexible connectivity and broad protocol support make it a top choice for anyone exploring NFC technology.
If you are interested in purchasing the PN532 NFC RFID Module, feel free to contact us for pricing and availability.

| Pin Label | Type | Description |
| VCC | Power | Supply voltage input (3.3V–5V depending on module). |
| GND | Power | Ground connection. |
| SCK | SPI | Serial Clock line for SPI communication. |
| MISO | SPI | Master In Slave Out - data output from PN532 to microcontroller. |
| MOSI | SPI | Master Out Slave In - data input from microcontroller to PN532. |
| SS | SPI | Slave Select - used to enable/disable SPI communication. |
| IRQ | Interrupt | Interrupt output, signals when a card is detected or data is ready. |
| RSTO | Reset | Reset pin, used to reset the PN532 module. |
| SDA/TXD | I²C / UART | Data line for I²C or transmit line for UART communication. |
| SCL/RXD | I²C / UART | Clock line for I²C or receive line for UART communication. |
| S1, S2 | Mode Selection | DIP switch for selecting communication mode (SPI, I²C, or UART). |
| Model | Chipset | Frequency | Interface | Card Type Supported | NFC Support | Typical Use Case |
| RC522 | NXP MFRC522 | 13.56 MHz | SPI | ISO14443A (MIFARE) | No | Basic RFID tag/card reading |
| RMD6300 | – | 125 kHz | UART (Serial) | EM4100, TK4100 (125 kHz) | No | Low-frequency RFID tag reading |
| EM-18 | – | 125 kHz | UART / Wiegand | EM4100, EM4200 | No | RFID attendance or access control |
| NFC Shield (Adafruit PN532) | NXP PN532 | 13.56 MHz | SPI / I²C | ISO14443A/B, MIFARE | Yes | Arduino NFC projects |
| NFC 2 Click (MikroE) | PN7120 (NXP) | 13.56 MHz | I²C | ISO14443A/B, FeliCa | Yes | Professional NFC integration |
| MFRC522 Card Module | NXP MFRC522 | 13.56 MHz | SPI | ISO14443A | No | Student projects, prototypes |
| RC522 RFID Kit | NXP MFRC522 | 13.56 MHz | SPI | ISO14443A | No | Learning and demos |
| Parameter | Specification |
| Manufacturer | NXP Semiconductors |
| Model | PN532 |
| Type | NFC Controller / Transceiver |
| Supported Standards | ISO/IEC 14443 Type A and B, FeliCa (JIS X 6319-4), NFC Forum Type 1–4 Tags, MIFARE |
| Communication Interfaces | UART (Serial), I²C, SPI |
| Operating Frequency | 13.56 MHz |
| Data Rate | Up to 424 kbit/s |
| Supply Voltage (VDD) | 2.7 V to 5.5 V (typically 3.3 V or 5 V) |
| Current Consumption | < 100 mA (typical during operation) |
| Standby Current | < 100 µA (low-power mode) |
| Operating Temperature Range | -25°C to +85°C |
| RF Output Power | Up to 80 mW |
| Read Range | Typically 3–5 cm (depends on antenna size and tag type) |
| Supported Modes | Reader/Writer, Card Emulation, Peer-to-Peer (P2P) |
| Supported Tag Types | MIFARE Classic, Ultralight, DESFire, FeliCa, NFC Tags Type 1–4 |
| Host Interface Voltage Levels | 1.65 V to 5.5 V (depending on host interface) |
| Integrated Features | RF field detection, anti-collision, CRC generation, parity check |
| Package Type (Chip) | HVQFN40 (40-pin, 6×6 mm) |
| Module Dimensions (Typical Breakout) | ~40 mm × 40 mm (varies by board) |
| Typical Module Components | PN532 IC, 13.56 MHz antenna coil, level shifter, communication mode selector |
| Interface Selection Method | DIP switches or solder jumpers (depends on module version) |
| Use Cases | NFC tag reading/writing, contactless payment simulation, access control, data exchange (NFC P2P) |
| Example Libraries/Support | Adafruit PN532 library, libnfc, Arduino NFC library |

This diagram illustrates how to connect the PN532 NFC module to an Arduino Uno using two different communication interfaces - SPI and I²C. The PN532 module supports multiple communication modes, and users can choose between SPI, I²C, or UART (HSU) by adjusting the onboard configuration switches labeled S1 and S2. The diagram shows the correct wiring connections and the corresponding switch settings for SPI and I²C operation.
In the SPI version shown at the top, the PN532 communicates with the Arduino using the Serial Peripheral Interface (SPI) protocol. The SPI connection uses several dedicated pins: SCK (serial clock), MISO (Master In Slave Out), MOSI (Master Out Slave In), and SS (slave select). These are connected to Arduino digital pins D13, D12, D11, and D10 respectively. The VCC pin of the PN532 is connected to the Arduino’s 3.3V output, and the GND pin is connected to ground. Additional pins such as IRQ (interrupt) and RSTO (reset output) may be connected optionally for enhanced functionality, though they are not mandatory for basic communication. To activate SPI mode, the configuration switch S1 should be set to OFF (0) and S2 to ON (1).
In the I²C version shown at the bottom, the PN532 communicates with the Arduino using the Inter-Integrated Circuit (I²C) protocol, which is simpler and uses only two signal wires. The SDA (data) and SCL (clock) pins on the PN532 are connected to the Arduino’s A4 (SDA) and A5 (SCL) pins respectively. As in the SPI setup, the VCC pin connects to the Arduino’s 3.3V output, and the GND pin connects to ground. I²C mode requires the configuration switch S1 to be ON (1) and S2 to be OFF (0). This setup is often chosen when multiple devices share the same I²C bus since it requires fewer pins, though it operates at a slower speed compared to SPI.