Wi-Fi sensing in Home Assistant: ESP32 vs a router CSI platform
2026-10-11 · 1 min read
Home Assistant users want entities, not raw CSI. Two routes work today.
Route A — ESP32 + ESPHome (fastest)
Projects such as ESPectre ship CSI motion/presence as an ESPHome component [2] (built on ESP32 CSI
capture [3]):
esphome:
name: csi-motion
external_components:
- source: github://<espectre-repo>
binary_sensor:
- platform: espectre
name: "Living room motion"
Pros: plug-and-play entity, 20 MHz / 30–64 subcarriers, cheap board. Cons: single-room coverage, extra hardware.
Route B — Router CSI service (whole home, more work)
This project's platform/ (FastAPI + WebSocket + REST/MQTT) is the skeleton (for what CSI sensing can and cannot do,
see the field survey [1]):
sensor:
- platform: rest
name: "CSI presence"
resource: http://<platform-host>:8090/api/csi/status
value_template: "{{ value_json.present }}"
scan_interval: 5
Pros: whole-home coverage, no extra hardware (the router is already there). Cons: you deploy and calibrate the analysis service.
Reliability tips
| Problem | Fix |
|---|---|
| still person reported absent | add respiration micro-motion or an mmWave sensor; raise the timeout |
| thresholds differ per room | calibrate per room, store baselines |
| flapping | hysteresis (higher enter threshold, lower exit) + minimum hold time |
| latency-sensitive | push via MQTT/WebSocket instead of REST polling |
Related: router CSI guide · Wi-Fi sensing vs mmWave · respiration detection
Please respect consent and local law: no non-consensual surveillance.
References and data sources
Every external claim carries a source and an evidence grade (grading scheme). Grade E marks first-party, reproducible measurements from this project.
- Grade A · standard/review
WiFi Sensing with Channel State Information: A Survey
W. Ma, W. Zhou, X. Wang · ACM Computing Surveys · 2019
doi:10.1145/3310194 · citations 857 · verified: CrossRef API, 2026-10-11 · The field's most-cited CSI sensing survey (857 citations, verified via CrossRef). - Grade C · official docs
francescopace/espectre — Wi-Fi CSI motion sensing for ESP32 (ESPHome)
F. Pace
github.com/francescopace/espectre · verified: GitHub API 2026-10-11 (stars 9,505) - Grade C · official docs
espressif/esp-csi — Applications based on Wi-Fi CSI
Espressif Systems
github.com/espressif/esp-csi · verified: GitHub API 2026-10-11 (stars 1,679) · The official README states: "All ESP32 series support CSI, including ESP32 / ESP32-S2 / ESP32-C3 / ESP32-S3 / ESP32-C5 / ESP32-C6 / ESP32-C61."
This page contains affiliate links (rel="sponsored"). Buying through them costs you nothing extra and earns this site a small commission.