Files
esp32-hacking/ROADMAP.md
user 18933ea778 feat: Add v0.2 remote management — UDP commands, LED, NVS persistence
Firmware (app_main.c):
- UDP command listener on port 5501 (configurable via Kconfig)
- Commands: REBOOT, IDENTIFY, STATUS, RATE, POWER
- LED status indicator on GPIO2 (off/slow/fast blink/solid)
- NVS persistence for send_rate and tx_power settings
- Refactored ping to support stop/restart for dynamic rate changes
- TX power control via esp_wifi_set_max_tx_power()

Pi-side tooling:
- tools/esp-cmd: standalone Python3 UDP client for device management

Tested on amber-maple (ESP32 v3.1) with ESP-IDF v5.5.2.
2026-02-04 15:36:14 +01:00

1.9 KiB

ESP32 Hacking Roadmap

v0.1 - Documentation & Setup [DONE]

  • Copy firmware sources from esp-csi
  • Document current firmware behavior
  • Document CSI data format
  • Document build & flash process
  • List firmware modification ideas with priorities
  • Verify build from repo (ESP-IDF v5.5.2, aarch64)

v0.2 - Remote Management [IN PROGRESS]

  • Add UDP command listener on ESP32 (port 5501)
  • Implement REBOOT command
  • Implement IDENTIFY command (LED solid 5s)
  • Implement STATUS command (uptime, heap, RSSI, tx_power, rate)
  • Implement RATE command (change ping Hz, NVS persist)
  • Implement POWER command (TX power dBm, NVS persist)
  • Add LED status indicator (off/slow blink/fast blink/solid)
  • NVS persistence for rate and tx_power settings
  • Pi-side esp-cmd CLI tool
  • Build and flash test on device
  • Update CHEATSHEET.md with new commands

v0.3 - OTA Updates

  • Modify partition table for dual OTA
  • Add OTA update handler in firmware
  • HTTP firmware server on Pi
  • Pi-side flash script (select device, push firmware)
  • Rollback on failed update

v0.4 - Adaptive Sampling

  • On-device wander calculation (simplified)
  • Reduce to 10 pkt/s when idle
  • Increase to 100 pkt/s on motion detection
  • Rate change notification to Pi

v0.5 - BLE Scanning

  • Enable Bluetooth alongside WiFi
  • Periodic BLE advertisement scanning
  • Report device MAC, RSSI, name via UDP
  • Pi-side BLE device tracking

v1.0 - Production Firmware

  • mDNS auto-discovery
  • Watchdog + auto-recovery
  • On-device CSI processing (send metrics, not raw)
  • Configuration via UDP (WiFi SSID, target IP)
  • Comprehensive error handling

Future

  • ESP-NOW mesh (ESP32-to-ESP32 CSI)
  • Multi-channel scanning
  • External sensor support (PIR, temp/humidity via GPIO)
  • Power management for battery operation