ESPectre, the component that turns an ESP32 and an ordinary Wi-Fi access point into a motion sensor, can now be tuned from Home Assistant while it runs. Francesco Pace's pull request was merged into the ESPHome dev branch on 2 November 2026 (just after midnight Warsaw time), with the documentation update merged alongside it. It is not in a stable release yet. Until now, changing sensitivity meant editing YAML and flashing the device again.

A quick reminder

ESPectre reads Channel State Information (CSI) from the ESP32 radio. When someone moves through a room, the paths the Wi-Fi signal takes change and the CSI fluctuates, which the component scores as movement. It needs no extra sensor hardware. The project started in October 2025 as an external component, and became a native ESPHome component in the 2026.10 release. It works on ESP32, ESP32-S2, ESP32-S3 and ESP32-C3, and on ESP32-C5 and ESP32-C6 with ESP-IDF. Its author says it cannot yet reliably detect a person who sits still, so no motion does not mean an empty room.

New entities

The change updates the ESPectre SDK to 3.1.0 and brings over controls the external component already had:

  • a number platform with threshold, motion_on_hits and motion_off_hits, which set sensitivity and how many consecutive detections it takes to switch motion on or off;
  • a switch platform with sensing, which pauses detection and is restored before the runtime starts after a reboot;
  • select keys for traffic_generator_mode, detection_algorithm and csi_sample_spacing;
  • three more diagnostic sensors, for CSI callback, missing slot and excess rates.

Motion hits, the detection algorithm and the sample spacing are saved across reboots. The threshold is not, because the Lightweight detection profile calibrates it again at boot. New YAML options include window_size, csi_target_pps, evaluation_interval and lowpass_filter and hampel_filter blocks.

One migration step: a select configured directly on the platform should move under traffic_generator_mode:. The old form still works with a deprecation warning and will be removed in ESPHome 2027.5.0.

The build now also enables multicast ping replies. In external traffic mode, another device sends multicast pings and the ESP32's replies provide the traffic that produces CSI.

What it changes in practice

Wi-Fi motion sensing depends heavily on the room, the router position and the furniture, so the threshold usually needs several attempts. With these entities you can watch the movement score in Home Assistant, move a slider and see the effect straight away. The sensing switch also lets an automation stop detection, for example while a robot vacuum runs.

Pace tested it on an ESP32-S3 with both ESP-IDF and Arduino. Since the code was merged into dev, it should arrive with the next ESPHome feature release, 2026.11.