📈 GH Trending Explorer 🎲 Surprise me

← all repos

francescopace / espectre

git clone https://github.com/francescopace/espectre.git 3.0.0 · 16d ago

Wi-Fi CSI motion sensing for ESP32. C++ SDK, ESPHome, Native, and Matter frontends, browser tools, and a CLI for the full device lifecycle. GPLv3 and commercial licensing.

+5
stars, 24h · #2,898
+~35
stars, 7 days · #3,526
+~150
stars, 30 days · #3,522
9.7k
★ total · +0% this week
733
forks · 13 open issues

Star history (as recorded here)

2026-10-20 · 9,660 ★ 2026-10-22 · 9,670 ★
LanguagePython
LicenseGPL-3.0
Created2025-10-26 (12mo ago)
Last push1d ago
Watchers89
OwnerUser

GitHub topics

Links

README excerpt
ESPectre 
**Turn an ESP32 into a private, local Wi-Fi motion sensor.**
When someone moves through a room, they change the way Wi-Fi signals travel through it. ESPectre reads those changes and reports motion in real time. No camera, no microphone, no wearable, and no dedicated radar hardware: just a supported ESP32 and the Wi-Fi network already in the room.
**ESPectre** is an open-source platform that brings together ready-to-flash firmware, an embeddable C++ SDK, a MicroPython implementation, browser tools, a host CLI, an open dataset, open model weights, and the research workflow used to build and validate the detectors.
Flash from your browser · See the live tools · Read the documentation · Explore the SDK
## Applications and integrations
Use ESPectre to turn on lights or a display when someone walks in, adjust heating when a room is in use, or send an alert when there is movement where nobody should be. It works with Home Assistant (through ESPHome or MQTT), appears as a standard Matter occupancy sensor, offers a local HTTP API, and can be built into your own ESP32 firmware with the C++ SDK.
Everything runs on the device: it measures the Wi-Fi channel (channel state information, or CSI) and reports motion and a movement score. Nothing needs to go to the cloud. One board covers one area, so plan on one board per room.
ESPectre detects changes in the radio environment. It does not identify people, count them, prove that a room is empty, or replace a safety-certified security, medical, or emergency system.
## Supported hardware
- ESP32-C6, ESP32-C5, ESP32-C3, ESP32-S3, ESP32-S2, and classic ESP32
- a normal Wi-Fi 4 (802.11n) network on 2.4 GHz
## Choose a firmware path
| Path | Best for | Start here |
|---|---|---|
| **Native** | Standalone sensors, MQTT integrations, including Home Assistant MQTT Discovery, and custom applications | Native frontend |
| **ESPHome** | Home Assistant users who want native entities, ESPHome provisioning, and Device Builder updates | ESPHome frontend |
| **Matter** | Matter controllers with occupancy-sensor support; controller validation is still limited | Matter frontend |
| **Micro-ESPectre** | Lightweight sensing in MicroPython with local, read-only Direct HTTP monitoring | Micro-ESPectre README |
## Quick start
The quickest way needs only a browser. Use desktop Chrome 151 or later; Edge can flash, but Device settings and Monitor may not work in it.
1. Open Flash in desktop Chrome or Edge.
2. Connect a supported ESP32 over USB, then choose a firmware and release channel.
3. Complete on-screen Wi-Fi provisioning, or commission Matter with a supported controller.
4. Optionally, open Device settings to pin a preferred access point or set up MQTT.
5. Open Monitor to watch motion, tune detection, and inspect the device.
To find your devices on the network, use **Find devices** in the browser tools or `./espectre devices`. See the discovery reference for requirements and limits.
> **Matter status:** Matter support is st