Files
nfc-pn532-warlord/docs/PINOUT.md
drjones 63db10d400 fw: robust HTTP body reads, CORS preflight, LED off at boot; update docs
- app_net.c: replace bare httpd_req_recv with recv_body_capped/alloc
  helpers (TCP-safe, full-body reads); add OPTIONS/* CORS preflight
  handler; bump WS broadcast buffer to 2048; add CORS Allow-Methods
- CMakeLists (net_service): add http_parser dep for HTTP_OPTIONS
- nfc_engine/pn532_core: add nfc_access_lock/unlock mutex, board-RGB
  quiet helper, UL type detection, general-status improvements
- pn532_transport: minor cleanup
- main.c: call board_rgb_led_quiet() at boot to kill onboard LED
- sdkconfig.defaults: add board RGB Kconfig defaults
- README, docs/LIMITATIONS, docs/PINOUT: expand and correct

Made-with: Cursor
2026-04-07 21:23:04 -07:00

1.5 KiB
Raw Blame History

Pinout notes (ESP32-S3-DevKitC-1)

Strapping and USB pins differ by revision — avoid GPIO 1920 for PN532 when using USB-Serial/JTAG on many boards. Prefer SPI2 on free GPIOs from the DevKitC-1 user guide.

Kconfig defaults (examples only)

The firmware Kconfig ships example GPIOs:

  • SPI: MOSI 11, MISO 13, SCLK 12, CS 10
  • I2C: SDA 8, SCL 9

You must verify these against your PCB/breadboard and PN532 breakout (Adafruit / Elechouse / clones often label SPI and I2C jumpers).

PN532 wiring checklist

  • SPI: connect RSTO/RST to MCU if exposed; some breakouts auto-reset via I2C/SPI activity.
  • I2C: set address pins per module (usually 0x24 7bit).
  • Power: 3.3V logic on ESP32; ensure PN532 module is 3.3V compliant (level-shift if using a 5V Arduino-style shield).

Transport selection

Start with the bus your breakout is jumpered for — I2C is often simplest on ESP32 for bring-up; SPI may require lower clock initially (e.g. 100 kHz).

Common red module switch matrix

For the common Elechouse-style red PN532 board, the onboard two-position switch matrix is typically:

  • HSU: OFF/OFF
  • I2C: ON/OFF
  • SPI: OFF/ON

Many of these boards boot in HSU by default, and the I2C and HSU labels often refer to the same physical header pins from opposite sides of the PCB. If the bus looks dead, check the switches before changing firmware.