Turn spare ESP32 boards into motion sensors using ESPectre and Wi-Fi
Discover how the open-source ESPectre project turns standard ESP32 Wi-Fi radios into local motion sensors without requiring any extra hardware modules.

Most do-it-yourself smart home devices built around microcontroller boards like the ESP32 typically require dedicated sensor modules, such as PIR sensors or millimeter-wave radars. However, a new open-source project named ESPectre changes this paradigm entirely by transforming the board's built-in Wi-Fi radio into a local motion-detection sensor without a single hardware module.
- ESPectre turns the ESP32 Wi-Fi radio into a local motion-detection sensor.
- The system analyzes Channel State Information (CSI) to detect physical movement.
- It supports ESPHome firmware for seamless integration into Home Assistant.
- The solution is ideal for hallways and pantries, though it cannot replace mmWave sensors for a desk.
How ESPectre and CSI Technology Work
The underlying mechanism relies on Channel State Information (CSI), which describes how wireless signals travel between the router and the board in every Wi-Fi packet. When someone walks through a room, the radio path is disrupted, shifting the CSI values. ESPectre analyzes these shifts directly on the ESP32 to report motion states and movement scores locally, requiring no cameras, microphones, or cloud connectivity.
The project supports ESP32, ESP32-S2, S3, C3, C5, and C6 boards operating on standard 2.4GHz Wi-Fi 4 networks. To maintain accurate tracking, the board captures readings while packets are transmitted, expecting roughly 100 packets per second. Users can configure DNS queries over UDP or TCP, or raw frame modes, to generate the necessary traffic stream reliably.
Read also5 ESP32 projects that can run on batteries for a whole yearFirmware Options and Home Assistant Integration
ESPectre provides four firmware choices: Native, ESPHome, Matter, and MicroPython. The ESPHome option is particularly convenient because it includes a dedicated ESPectre component that exposes all entities directly inside Home Assistant via YAML configuration or a web-based flasher tool. You can easily define binary sensors and graph movement scores with minimal setup effort.
Detection modes include Lightweight, which consumes fewer system resources and calibrates during a brief quiet-room window, and High Accuracy, which leverages an on-device neural network for more precise movement detection without requiring a silent startup phase.
Limitations and Placement Considerations
Because Wi-Fi power saving and frame aggregation are disabled by default to ensure steady CSI streams, other resource-heavy tasks on the same board may run slower. Consequently, it is best to treat an ESPectre build as a USB-powered node rather than a battery-operated device. Proper placement is crucial, requiring strong router signal strengths between -40 dBm and -70 dBm since roaming scans are temporarily paused.
What This Means for Smart Home Users
For smart home enthusiasts, ESPectre offers a brilliant way to repurpose spare ESP32 boards into functional motion detectors without spending extra money on hardware modules. While it cannot identify specific individuals or detect someone sitting completely still on a couch, it serves as a reliable automation trigger for corridors, storage rooms, and automated lighting systems.
Source: XDA



