PN532 Evolution V1 Documentation covers quick start steps, large-antenna notes, long-range behavior, supported protocols, compatibility, and troubleshooting for the ELECHOUSE PN532 NFC Evolution V1.
Quick Start
- Select the interface mode: I2C, SPI, or HSU.
- Connect the external 102 mm × 160 mm PCB antenna to the main board through the IPEX cable.
- Wire the main board to your MCU exactly as you would a standard PN532 family board.
- Install the ELECHOUSE PN532 library.
- Use a standard PN532 example to confirm communication and then test reading range with ISO 14443A cards.
Key Technical Facts
- Chip: NXP PN532
- Interfaces: I2C, SPI, HSU
- Main board size: 52 mm × 34 mm
- Antenna size: 102 mm × 160 mm external PCB antenna
- Antenna cable: 50 cm IPEX
- Typical reading distance on MIFARE / ISO 14443A: 12–15 cm
Performance Difference vs PN532 V4
| Metric | PN532 Evolution V1 | PN532 V4 |
|---|---|---|
| MIFARE / ISO 14443A read distance | 12–15 cm | 6–8 cm |
| ISO 14443B read distance | Not supported by this antenna setup | 2–4 cm |
| Antenna style | Large external PCB antenna | Compact integrated board antenna |
Important Protocol Note
The Evolution V1 antenna is optimized for ISO 14443A. The product page explicitly notes that ISO 14443B tags such as SRT512 are not readable with this antenna configuration. If you need ISO 14443B support, choose PN532 V4 or PN5321 MINI instead.
Supported Protocols
- ISO 14443A: MIFARE Classic, Ultralight, DESFire
- FeliCa
- ISO 18092 / NFC-IP1 peer-to-peer
- Android NFC / NDEF workflows supported by the standard PN532 software stack
Supported Platforms
- Arduino
- ESP32 / ESP8266
- Raspberry Pi
- Linux hosts using PN532-compatible tooling
- Any MCU with I2C, SPI, or UART support
Pinout and Wiring
The Evolution V1 uses the same PN532 logic and software model as PN532 V4 / V3. Wire the selected interface just as you would any other PN532 board:
- I2C: SDA / SCL
- SPI: SCK / MISO / MOSI / SS
- HSU: TX / RX
Choose one interface only, then match the software transport wrapper to that interface.
Initialization Method
- Select the interface on the board.
- Attach the external antenna via IPEX.
- Power and wire the host connection.
- Start with a simple PN532 example such as a basic card read.
- Validate long-range ISO 14443A operation with a standard MIFARE card.
Downloads and Resources
- ELECHOUSE PN532 GitHub library
- PN532 Manual V3 — the product page notes software compatibility
- The product page also lists main-board and antenna dimension drawings
Common Errors
- Cannot read ISO 14443B cards: this is an antenna limitation of Evolution V1, not a normal wiring bug.
- No communication with the host: interface mode and code wrapper do not match.
- Weak range despite large antenna: antenna not connected correctly, cable issue, or test environment contains metal / interference.
Troubleshooting
- First prove the board works with a standard PN532 example before optimizing range.
- Use ISO 14443A cards for baseline validation.
- Keep the large antenna clear of metal during testing.
- Use a proper 50-ohm IPEX cable if you replace the stock cable.
Version Differences / Positioning
- Evolution V1 is the long-range PN532 option in the ELECHOUSE family.
- PN532 V4 is the more general-purpose balanced option.
- PN5321 MINI is the compact external-antenna option for more constrained installations.
Update History
- 2026-04-05: First public PN532 Evolution V1 documentation page published.
- Reference basis: ELECHOUSE product page plus PN532 V3 manual / standard PN532 library compatibility.
PN532 Evolution V1 vs PN532 V4 — Key Differences
| PN532 Evolution V1 | PN532 V4 | |
|---|---|---|
| Form factor | Compact / small footprint | Standard size |
| Chipset | NXP PN532 | NXP PN532 |
| Interface | SPI / I2C / UART | SPI / I2C / UART |
| Antenna | On-board PCB antenna | On-board PCB antenna |
| Voltage | 3.3 V / 5 V | 3.3 V / 5 V |
| Supported protocols | Same as V4 | ISO 14443A/B, MIFARE, FeliCa, NFC P2P |
| Library compatibility | Full PN532 library compatibility | ELECHOUSE PN532 library |
| Best for | Space-constrained designs, breadboard integration | Standard development, prototyping |
Interface Wiring — ESP32
| Interface | ESP32 Pins | Module Pins |
|---|---|---|
| SPI | GPIO18 (SCK), GPIO19 (MISO), GPIO23 (MOSI), GPIO5 (SS) | SCK, MISO, MOSI, NSS |
| I2C | GPIO21 (SDA), GPIO22 (SCL) | SDA, SCL |
| UART | GPIO16 (RX), GPIO17 (TX) | TX, RX |
Interface Wiring — Arduino UNO
| Interface | Arduino Pins | Module Pins |
|---|---|---|
| SPI | D13 (SCK), D12 (MISO), D11 (MOSI), D10 (SS) | SCK, MISO, MOSI, NSS |
| I2C | A4 (SDA), A5 (SCL) | SDA, SCL |
| UART | D0 (RX), D1 (TX) | TX, RX |
Code Example — Arduino (SPI)
#include <PN532.h>
#include <PN532_SPI.h>
PN532_SPI pn532spi(SPI, 10); // SS pin = 10
PN532 nfc(pn532spi);
void setup() {
Serial.begin(115200);
nfc.begin();
uint32_t ver = nfc.getFirmwareVersion();
if (!ver) { Serial.println("PN532 not found!"); while(1); }
nfc.SAMConfig();
Serial.println("Waiting for an NFC card...");
}
void loop() {
uint8_t uid[7]; uint8_t uidLen;
if (nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLen)) {
Serial.print("UID: ");
for (uint8_t i = 0; i < uidLen; i++) {
Serial.print(uid[i] < 0x10 ? "0" : "");
Serial.print(uid[i], HEX); Serial.print(" ");
}
Serial.println();
delay(1000);
}
}
Use Cases
- Compact access control modules where board size matters
- Embedded product designs with limited PCB real estate
- Breadboard prototyping where a smaller module is easier to work with
- Wearable or portable NFC-enabled devices
