EspWaveRider
EspWaveRider is ESP32 firmware for mmWave presence sensing, diagnostics, Home Assistant / MQTT publishing, BLE observation, peer-aware room fusion, and hosted device management.
The documentation site is organized around the normal device lifecycle:
- Install the firmware and toolchain.
- Get a node online and validate the first snapshot.
- Configure board-specific wiring and runtime settings.
- Operate the hosted dashboard, room editor, and firmware sync flow.
- Validate changes locally, compare C++ vs Rust behavior, and understand the release pipeline.
Core capabilities
- Reads HLK-LD2420 UART frames plus presence GPIO.
- Publishes Home Assistant discovery, state, diagnostics, and observation topics.
- Hosts an embedded browser dashboard for provisioning, diagnostics, tuning, room editing, and firmware sync.
- Detects peers on the network, surfaces version mismatches, and links directly to peer dashboards.
- Builds board-specific release binaries from conventional commits.
Quick links
- Install the firmware
- Getting started
- Configure wiring and runtime settings
- Operate the dashboard and OTA workflow
- Inspect the HTTP and command surface
- Review the current C++ vs Rust benchmark and size comparison
- Check the validated feature parity matrix
- Run tests and understand releases
- Review the release process and release quality bar
Recommended reading order
- Install
- Getting started
- Configuration
- Operations
- Benchmarks and comparison
- Parity matrix
- Testing and releases
- Release guide
Repository structure
src/main.cpp: main firmware runtime and command handling.src/visualizer/index.html: hosted dashboard source.src/device_web.cpp: device HTTP and WebSocket endpoints.include/board_profile.h: board defaults.include/board_user_config.example.h: local override template.scripts/embed_visualizer.py: embeds the dashboard into firmware at build time.
Production-readiness snapshot
| Area | Current position |
|---|---|
| Shipping firmware baseline | C++ |
| Board-specific GitHub release assets | Implemented |
| Hosted dashboard, snapshot API, room collaboration | Production-oriented and documented |
| Rust parity work | Strong on core runtime and contracts; stable default build, but not full-feature-equivalent yet |
The Rust port is close enough to compare seriously and now has a stable default build for Wi-Fi, MQTT, UDP discovery, and room collaboration. It is still not something this repo should market as a production-equivalent replacement for the C++ firmware because OTA apply and live BLE observation remain opt-in, not yet production-safe feature slices.