48 lines
1.8 KiB
Markdown
48 lines
1.8 KiB
Markdown
# 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.x | Development framework |
|
|
| 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)
|