# ESP32 Hacking Project ## Overview Firmware customization and experimentation for ESP32 CSI (Channel State Information) sensors used in the [wifi-sensing](~/git/wifi-sensing/) project. ## Goals - Document current firmware and configuration - Add remote management commands (reboot, identify, status) - Implement OTA firmware updates - Explore BLE scanning for complementary presence detection - Optimize CSI data pipeline (adaptive rate, on-device processing) ## Current State - 3x ESP32-DevKitC V1 deployed with stock `csi_recv_router` firmware - Firmware sends raw CSI data via UDP at ~100 pkt/s per device - No remote management capability (must physically access USB) ## Hardware | Device | Chip | IP Address | Location | |--------|------|------------|----------| | muddy-storm | ESP32-WROOM-32 | 192.168.129.29 | Living Room | | amber-maple | ESP32-WROOM-32 | 192.168.129.30 | Office | | hollow-acorn | ESP32-WROOM-32 | 192.168.129.31 | Kitchen | ## Software Stack | Component | Version | Purpose | |-----------|---------|---------| | ESP-IDF | v5.5.2 | Development framework (`~/esp/esp-idf/`) | | esp-csi | latest | CSI extraction library | | FreeRTOS | (bundled) | RTOS kernel | ## Key Paths | Path | Description | |------|-------------| | `~/git/esp32-hacking/` | This project (firmware sources, docs) | | `~/git/wifi-sensing/` | Server application (receives CSI data) | | `~/esp/esp-idf/` | ESP-IDF toolchain | | `~/esp/esp-csi/` | Original esp-csi repo (build from here) | ## Dependencies - ESP-IDF toolchain (`~/esp/esp-idf/`) - USB cable for initial flash (OTA planned) ## References - [ESP-IDF Docs](https://docs.espressif.com/projects/esp-idf/en/latest/) - [ESP-CSI GitHub](https://github.com/espressif/esp-csi) - [ESP32 WiFi CSI API](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_wifi.html)