PN7161 NFC RFID Module (I2C)
The PN7161 NFC RFID Module (I2C) is the standard I2C member of the PN7161 family. Compared with PN7160, it adds support for Apple’s Enhanced Contactless Polling (ECP) while keeping the same I2C integration style, dimensions, and Linux/Android driver model.
If you need Apple ECP hardware support on an I2C-based design, this is the correct PN7161 module. If your project uses SPI instead of I2C, use the PN7161 MINI V1 — SPI version.
Apple integration boundary: PN7161 provides the related reader hardware capability. Apple Wallet / Apple VAS authorization, certification, application software, and key or account access remain the customer’s responsibility.
Why Choose PN7161 I2C
- Standard I2C interface for controllers built around SDA/SCL
- Apple ECP support for Apple Wallet and Apple VAS related reader projects
- Same general footprint and software model as PN7160
- Suitable for Linux, Android, Raspberry Pi, ESP32, and embedded development
Key Specifications
| Chip | NXP PN7161 |
|---|---|
| Interface | I2C |
| Protocol Stack | NCI 2.0 |
| Apple ECP | Supported |
| Logic Supply (VDD) | 1.8 V or 3.3 V; must match host I/O |
| RF Supply (VANT) | 3.3 V or 5 V; software preset must match |
| Dimensions | 42.83mm × 40.53mm |
Supported NFC Functions
- Reader / Writer
- Peer-to-Peer
- Card Emulation
- ISO 14443A / 14443B
- ISO 15693
- MIFARE and FeliCa
Typical Applications
- Apple Wallet compatible NFC reader projects
- Access control and payment terminals
- Embedded Linux and Android NFC devices
- I2C-based controller boards and gateways
PN7161 I2C to ESP32 Typical Wiring
| PN7161 I2C | ESP32 | Notes |
|---|---|---|
| SDA | GPIO21 | I2C data |
| SCL | GPIO22 | I2C clock |
| IRQ | GPIO14 | Interrupt |
| VEN | GPIO13 | Enable / reset |
| VDD | 3.3V | Logic supply |
| VANT | 3.3 V or 5 V | RF / antenna supply; select the matching software preset |
| GND | GND | Common ground |
| DWL | GPIO19 | Optional control pin |
RF Supply and Library Configuration
VANT supports either 3.3 V or 5 V. VDD is the host-I/O logic supply and must match the host logic level; do not connect 5 V to VDD. The physical VANT voltage and the software power preset must match. The module does not auto-detect VANT. Verify that the selected host or external VANT rail has enough current capacity for RF peaks.
| RF supply mode | Power wiring for a 3.3 V host | ELECHOUSE library setting |
|---|---|---|
| 3.3 V RF supply | VDD=3.3 V, VANT=3.3 V, common GND | Use library source version 3.1.2, commit 10a1cb2 or later and set PN71XX_FIXED_VBAT_3V3 1. |
| 5 V RF supply | VDD=3.3 V, VANT=5 V, common GND | Use the normal external-5V preset and set PN71XX_FIXED_VBAT_3V3 0. |
For the repository’s shared I2C examples, define the power mode before including Electroniccats_PN71xx_ExampleTransport.h:
#define PN71XX_USE_SPI 0
#define PN71XX_FIXED_VBAT_3V3 1 // 1 for 3.3 V VANT; 0 for 5 V VANT
These macros take effect through pn71xxConfigureExampleTransport(nfc). In a custom I2C sketch, explicitly select PN7160 in the constructor; the shorter three-argument I2C constructor defaults to PN7150 and will not use the PN7160/PN7161 power path:
Electroniccats_PN7150 nfc(IRQ_PIN, VEN_PIN, 0x28, PN7160);
A custom sketch that does not use the shared helper must also call the setter directly. For manual initialization, call connectNCI(), then select setPn7160FixedVbat3V3(true) for 3.3 V or false for 5 V, and then call configureSettings(). Because begin() calls configureSettings() internally, select the preset before calling begin() when using that shortcut path. Do not switch VANT while powered; power down before changing the wiring or preset.
Arduino / Linux distinction: the setter, macros, and shared helper above configure only the ELECHOUSE Arduino/ESP32 library. They do not configure NXP’s Linux NFC stack. The copy-paste ELECHOUSE 3.3 V Linux procedure is still being validated; use a known-good 5 V Linux configuration for the exact middleware/module combination or contact ELECHOUSE support until that procedure is published.
PN7161 library note: select the PN7160-compatible path in the ELECHOUSE library for both 3.3 V and 5 V modes.
Documentation and Test Guides
Product details are kept on this page. Wiring, bring-up, software setup, and test guides are maintained separately in the documentation hub. PN7161 I2C shares many bring-up resources with PN7160.
- PN7161 Documentation and Test Guides
- Quick Guide I2C PDF
- ESP32 and PN7160 / PN7161 Arduino guide
- I2C address setting guide
- Shared Arduino / ESP32 code library (GitHub)
- PN7160 vs PN7161 Comparison
Downloads
- PN716x I2C Module Datasheet (PDF)
- Board Dimension DXF (ZIP)
- 3D Model (ZIP)
- CE Certificate Package (ZIP)
- RoHS Certificate Package (ZIP)
- Connector Selection Guide
Package and Support
- 1 × PN7161 NFC RFID Module (I2C)
- Technical documents and reference links available in the documentation hub, including ELECHOUSE_PN7150_PN7160 (GitHub) for Arduino and ESP32 development
Wiring Reminder
For a 3.3 V host, connect VDD to 3.3 V and GND to GND. Connect VANT to either 3.3 V or 5 V, then use the matching fixed-3.3V or normal external-5V preset.






