1.3 KiB
1.3 KiB
piNail ESP32-C3 (Single-Nail)
ESP32-C3 firmware for a single-nail piNail controller.
What changed vs piNail2
- Single physical nail hardware (nail2 UI/API is mirrored for compatibility).
- Wi-Fi onboarding uses captive portal (
piNail-Setup/pinailsetup).
Hardware target
- Board: ESP32-C3 DevKitM-1 class board.
- Thermocouple ADC: MAX6675 (SPI-like bitbang).
- Relay output: active HIGH relay module.
GPIO mapping
- Relay:
D10 - MAX6675 SCK:
D9 - MAX6675 CS:
D8 - MAX6675 SO:
D7
API compatibility
Implemented endpoints:
GET /api/statusGET /api/status/allGET /api/historyPOST /api/powerPOST /api/setpointPOST /api/controlPOST /api/flightPOST /api/schedulerPOST /api/pidPOST /api/pid/resetPOST /api/safety/resetGET /api/heartbeatGET /api/autotunePOST /api/autotune/startPOST /api/autotune/stopGET/POST /api/presetsPOST /api/preset/<name>DELETE /api/preset/<name>GET /api/config
Built-in web interface:
GET /serves the piNail2-style dashboard UI (embedded static assets).
Not implemented in this firmware:
- True independent dual-zone control (nail2 is API/UI-compatible mirror of nail1).
Build and flash
pio run -t upload --upload-port /dev/ttyACM0
pio device monitor -b 115200 --port /dev/ttyACM0