# ESP32 Hacking Roadmap

## v0.1 - Documentation & Setup [CURRENT]
- [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
- [ ] Create development workflow (build, flash, test cycle)

## v0.2 - Remote Management
- [ ] Add UDP command listener on ESP32
- [ ] Implement REBOOT command
- [ ] Implement IDENTIFY command (blink LED)
- [ ] Implement STATUS command (uptime, heap, RSSI, temp)
- [ ] Implement RATE command (change sampling rate)
- [ ] Add LED status indicator (connected/sending/error)
- [ ] Pi-side command sender script

## 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
