PN7161 Documentation

PN7161 Documentation covers both major ELECHOUSE PN7161 variants: the standard PN7161 I2C module and the PN7161 MINI V1 — SPI. This page helps you choose the right interface, wire the board correctly, and start testing on Raspberry Pi, ESP32, and Linux-based systems.

PN7161 Variants at a Glance

Variant Interface Typical Use
PN7161 standard module I2C General embedded NFC projects using SDA/SCL
PN7161 MINI V1 SPI Compact designs, ESP32 VSPI, Raspberry Pi SPI, and SPI-based controllers

Which Version Should You Choose?

  • Choose PN7161 I2C when your controller and firmware are built around an I2C NFC workflow.
  • Choose PN7161 MINI SPI when your hardware uses SPI, board space is limited, or you want the tested Raspberry Pi / ESP32 SPI path.
  • Choose the PN7161 family instead of PN7160 when your project needs Apple-related NFC capability such as Apple ECP support.

PN7161 I2C Quick Reference

The standard PN7161 module follows the same practical wiring style as PN7160 I2C boards.

Typical I2C Signals

  • SDA
  • SCL
  • IRQ
  • VEN
  • VDD
  • VANT
  • GND
  • DWL (optional)

Raspberry Pi 4 I2C Wiring

PN7161 I2C Raspberry Pi 4 Notes
SDA Pin 3 (SDA) I2C data
SCL Pin 5 (SCL) I2C clock
IRQ Pin 16 / GPIO23 Interrupt
VEN Pin 18 / GPIO24 Enable / reset
VDD Pin 1 / 17, 3.3V Logic supply
VANT Pin 2 / 4, 5V Antenna supply
GND Pin 6 Ground

ESP32 I2C 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 5V Antenna supply
GND GND Common ground
DWL GPIO19 Optional control pin in the guide

I2C Reference Files

PN7161 MINI V1 — SPI Quick Reference

The PN7161 MINI V1 — SPI is the SPI version of the PN7161 family. It is suitable for compact embedded designs and has been validated with both Raspberry Pi and ESP32.

Main SPI Signals

  • MOSI
  • MISO
  • NSS
  • SCK
  • IRQ
  • VEN
  • VDD
  • VANT
  • GND
  • DWL

Raspberry Pi 4 SPI Wiring

PN7161 MINI SPI Raspberry Pi 4
MOSI Pin 19 MOSI
MISO Pin 21 MISO
NSS Pin 24 NSS
SCK Pin 23 SCLK
IRQ Pin 16 GPIO23
VEN Pin 18 GPIO24
VDD Pin 1 / 17, 3.3V
VANT Pin 2 / 4, 5V
GND Pin 6 GND
DWL Pin 22

ESP32 VSPI Wiring

PN7161 MINI SPI ESP32 Dev Module Notes
SCK GPIO18 SPI clock
MISO GPIO19 SPI MISO
MOSI GPIO23 SPI MOSI
SS / NSS GPIO5 Chip select
IRQ GPIO14 Interrupt
VEN GPIO13 Enable / reset
VDD 3.3V Logic supply
VANT 5V Antenna supply
GND GND Common ground

Power reminder for ESP32 and similar MCUs: connect VDD to 3.3V, VANT to 5V, and GND to GND. Do not leave the power pins undocumented when copying the signal-only table.

SPI Software Notes

  • On Raspberry Pi, enable SPI and use the linux_libnfc-nci stack.
  • Set NXP_TRANSPORT=0x03 and NXP_NFC_DEV_NODE="/dev/spidev0.0" in libnfc-nxp.conf.
  • On ESP32 and Arduino-compatible platforms, use the ELECHOUSE library ELECHOUSE_PN7150_PN7160 (GitHub). The updated library supports PN7150, PN7160, and PN7161 workflows, including SPI-based validation for PN7161 MINI V1.
  • Validated card detection includes NFC-A, NFC-B, NFC-F, NFC-V, ISO15693, and MIFARE.

SPI Reference File

Linux Workflow Notes

Both PN7161 variants are part of the same family, but the hardware interface must match your board version.

  • For I2C boards, enable I2C and use the corresponding I2C device setup.
  • For SPI boards, enable SPI and map the Linux stack to /dev/spidev0.0.

Troubleshooting

  • No response on I2C version: verify SDA, SCL, IRQ, VEN, power rails, and I2C address.
  • No response on SPI version: verify MOSI, MISO, SCK, NSS, IRQ, VEN, and SPI transport settings.
  • ESP32 test does not respond: confirm the actual wiring and that both VDD and VANT are correctly powered.
  • Linux stack starts but no tags are detected: re-check transport type and device node configuration.

Related Pages

  • On ESP32 and Arduino-compatible platforms, use ELECHOUSE_PN7150_PN7160 (GitHub). The repository examples can now be used directly with PN7161 MINI V1 SPI by enabling PN71XX_USE_SPI.
  • Shopping Cart