# ESP32 Hacking Roadmap ## v0.1 - Documentation & Setup [DONE] - [x] Copy firmware sources from esp-csi - [x] Document current firmware behavior - [x] Document CSI data format - [x] Document build & flash process - [x] List firmware modification ideas with priorities - [x] Verify build from repo (ESP-IDF v5.5.2, aarch64) ## v0.2 - Remote Management [IN PROGRESS] - [x] Add UDP command listener on ESP32 (port 5501) - [x] Implement REBOOT command - [x] Implement IDENTIFY command (LED solid 5s) - [x] Implement STATUS command (uptime, heap, RSSI, tx_power, rate) - [x] Implement RATE command (change ping Hz, NVS persist) - [x] Implement POWER command (TX power dBm, NVS persist) - [x] Add LED status indicator (off/slow blink/fast blink/solid) - [x] NVS persistence for rate and tx_power settings - [x] 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