Firmware for ESP32 DevKit V1 that turns the board into a Wi‑Fi enabled NFC tag reader/writer with a web UI and a serial console.
![]()
![]()
- Overview
- Highlights
- Hardware
- Build & Flash (PlatformIO)
- Quick Usage
- Runtime Data (LittleFS)
- To Do
- Security Notes
ESP32 NFC Tool is a multi‑protocol NFC framework built around a PN532 module, exposing high‑level operations for SRIX and Mifare Classic tags via HTTP (web UI) and Serial interfaces.
It uses LittleFS to store tag dumps, Wi‑Fi credentials, and key databases, and includes structured logging to simplify debugging on embedded targets.
-
📶 Wi‑Fi manager with saved credentials plus fallback AP mode.
-
🌐 Async web UI (ESPAsyncWebServer/AsyncTCP) with session/login support.
-
🧾 Serial console commands (type
help) running in a dedicated FreeRTOS task. -
🏷️ SRIX read/write flows with
.srixdumps. -
🏷️ Mifare Classic dump/read/write + key database support
.mfcdumps. -
💡 Non‑blocking LED patterns + structured log levels for diagnostics.
-
MCU/Board: ESP32 DevKit V1 (PlatformIO env:
esp32doit-devkit-v1). -
Serial: 115200 baud, 8N1.
-
I²C: SDA = GPIO 21, SCL = GPIO 22 (recommended 100 kHz for stability).
-
Optional IRQ = GPIO 18, RST = GPIO 19 (when using hardware IRQ mode).
- Status LED: GPIO 2 (active high/low configurable).
| Protocol | Tag types | Notes |
| SRIX (ISO 15693) | SRIX4K, SRIX512 | Read/write, dump to .srix. |
| Mifare Classic | 1K, 4K, “magic” cards | Full dump, UID read/cloning, .mfc. |
-
PlatformIO project targeting
esp32doit-devkit-v1with Arduino framework. -
LittleFS enabled (
board_build.filesystem = littlefs) and custom partitions viadefault.csv.
-
ArduinoJson@^7.0.0,Adafruit PN532@^1.3.1.
-
Build:
-
pio run -
Flash:
-
pio run -t upload -
Monitor (115200):
-
pio device monitor -b 115200
- Webserver files can be edited in THIS directory
- After every mod you need to launch
gen_webfiles.pyto rebuild "include/webFiles.h"
-
On boot, the firmware initializes filesystem, Wi‑Fi, web server, serial task, and NFC services, then prints access info (IP or
nfctool.local) and available serial commands. -
Networking flow:
-
Tries saved credentials from
/wifi_db.json, otherwise prompts via Serial; if it fails, it starts AP modeESP32-NFCTool/nfctool123. -
Typical NFC workflow:
-
Read a tag → save dump to LittleFS → load an existing dump → write back / clone UID (where supported).
-
Tag dumps:
-
/DUMPS/SRIX/and/DUMPS/MIFARE/under/DUMPS/. -
Wi‑Fi credentials:
-
/wifi_db.json. -
Mifare keys database:
-
/mifare_keys.txt.
-
Better docs for wiring, compiling, rebuild web-files.h
-
Port project to Esp32-MINI-D1
-
Data Parser
-
Upgrade AP Mode in Settings
-
Default web credentials are
admin/adminand the default AP password isnfctool123(change before any real deployment). -
For production, lower
LOG_LEVEL, disableDEBUG_SKIP_AUTH, and review filesystem usage to avoid exposing NFC dumps/keys. -
This software is provided as is; there is no warranty on its functionality, and the user is solely responsible for any damage or corruption of data. Any help is appreciated; you are welcome to contribute.