-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Open
Labels
enhancementNew feature or requestNew feature or request
Description
ESP32-S3 CSI Firmware v0.2.0
Release: https://github.com/ruvnet/wifi-densepose/releases/tag/v0.2.0-esp32
What's New
MAC Address Filtering (#98, #101)
- Filter CSI frames by transmitter MAC to prevent signal mixing in multi-AP environments
- Configure at compile time via Kconfig or at runtime via NVS — no reflash needed
- Dropped frames are counted and reported in periodic logs
TDM Sensing Protocol (ADR-029/031)
- Time-division multiplexing for multistatic mesh deployments
- Each node gets a dedicated transmit slot to prevent self-interference
- Configurable via NVS:
tdm_slot,tdm_nodes
Channel Hopping
- Configurable multi-channel scanning with adjustable dwell time
- Channel list stored in NVS as a blob (up to 13 channels)
- Backward-compatible: defaults to single-channel operation
NVS Runtime Configuration
- All new parameters configurable without reflashing:
filter_mac(6-byte blob) — MAC address filterhop_count,chan_list,dwell_ms— channel hoppingtdm_slot,tdm_nodes— TDM mesh config
- Existing NVS keys still work:
ssid,password,target_ip,target_port,node_id
Quick Start
# 1. Install esptool
pip install esptool
# 2. Download and flash pre-built binaries (no toolchain needed)
python -m esptool --chip esp32s3 --port COM7 --baud 460800 \
write-flash --flash-mode dio --flash-size 4MB \
0x0 bootloader.bin 0x8000 partition-table.bin 0x10000 esp32-csi-node.bin
# 3. Provision WiFi credentials (stored in NVS flash, not in binary)
python firmware/esp32-csi-node/provision.py --port COM7 \
--ssid "YourWiFi" --password "YourPassword" --target-ip 192.168.1.20
# 4. Start the sensing server
cargo run -p wifi-densepose-sensing-server -- --http-port 3000 --source esp32Hardware Tested
| Board | Port | Status |
|---|---|---|
| ESP32-S3-DevKitC-1 (QFN56 rev v0.2) | COM7 | Verified — WiFi connected, CSI streaming, MAC filter working |
Documentation
- User Guide — ESP32-S3 Mesh
- ADR-018: ESP32 Binary Frame Format
- ADR-029: Multistatic Sensing Mode
- ADR-031: RuView Sensing-First RF Mode
Related Issues
- Fixes ESP32 CSI Collector mac filtering #98 — ESP32 CSI Collector MAC filtering
- Closes feat: ESP32 CSI transmitter MAC address filtering #101 — MAC address filtering PR
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request