Add PN532 toolkit firmware, web UI, and embedded SPIFFS assets

Includes ESP-IDF NFC stack (deep capture, 4K Classic geometry, UL write API,
open SoftAP), React dashboard with live tag diagnostics, and docs. README
updated for APIs and lab Wi-Fi defaults.

Made-with: Cursor
This commit is contained in:
drjones
2026-03-29 09:32:55 -07:00
parent d1068d965b
commit 8968560565
73 changed files with 8802 additions and 28 deletions

34
docs/FLASHING.md Normal file
View File

@@ -0,0 +1,34 @@
# Flashing
## Prerequisites
- [ESP-IDF](https://docs.espressif.com/projects/esp-idf/en/latest/esp-idf-en-latest-esp32s3/esp32s3/get-started-esp32s3.html) **v5.x** installed and exported (`get_idf`)
- USB cable to the DevKit **USB** port (USBJTAG / serial)
- PN532 module wired per [PINOUT.md](PINOUT.md)
## Steps
1. Build the web assets (embeds into SPIFFS):
```bash
cd web && npm install && npm run build:fw
```
2. Configure & flash:
```bash
cd firmware
idf.py set-target esp32s3
idf.py menuconfig # set PN532 transport + GPIOs
idf.py build flash monitor
```
3. Connect to AP **PN532-Toolkit** / **nfc-toolkit**, browse to **http://192.168.4.1** or **http://pn532tool.local**.
## SPIFFS / UI missing?
If `firmware/data/` is empty, the device serves a placeholder HTML. Always run `npm run build:fw` before `idf.py build` if you changed the UI.
## Flash size
`partitions.csv` assumes **8MB** flash. For **4MB**, shrink `factory` / OTA / `storage` regions and disable dual OTA if needed.