# francescopace/espectre

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/francescopace-espectre).**

6,472 stars · 493 forks · Python · gpl-3.0

## Links

- GitHub: https://github.com/francescopace/espectre
- Homepage: https://espectre.dev
- awesome-repositories: https://awesome-repositories.com/repository/francescopace-espectre.md

## Topics

`csi` `diy` `esp-32` `espectre` `home-assistant` `motion-detection` `wifi` `wifi-sensing`

## Description

Espectre is an edge machine learning framework and motion detection platform that uses Wi-Fi Channel State Information to identify human presence and movement. It functions as a sensing toolkit for ESP32 microcontrollers, enabling the detection of motion through walls without the use of cameras or wearables.

The project distinguishes itself by executing compact neural network classifiers and mathematical detection algorithms directly on the microcontroller. It utilizes a MicroPython runtime to allow for the prototyping and deployment of sensing logic and wireless signal processing algorithms without the need for manual compilation.

The framework covers a broad range of signal processing and integration capabilities, including subcarrier analysis, noise filtering via Hampel-Butterworth pipelines, and 3D object localization. It provides connectivity for smart home automation through Home Assistant and MQTT, while offering tools for raw data collection, UDP streaming for external analysis, and a web-based dashboard for monitoring device statistics.

Deployment is supported via a command line tool for flashing firmware across multiple ESP32 hardware variants.

## Tags

### Hardware & IoT

- [Wi-Fi CSI Sensing](https://awesome-repositories.com/f/hardware-iot/wi-fi-csi-sensing.md) — Identifies human presence and movement through walls by analyzing Wi-Fi Channel State Information without using cameras.
- [Home Automation](https://awesome-repositories.com/f/hardware-iot/connectivity-iot/home-automation.md) — Integrates wireless motion sensors with smart home controllers via MQTT for presence-based automation.
- [Edge ML Frameworks](https://awesome-repositories.com/f/hardware-iot/microcontroller-firmware-frameworks/esp32-firmware-projects/edge-ml-frameworks.md) — Provides a runtime for executing neural network classifiers directly on microcontrollers for real-time gesture and activity detection.
- [Sensing Prototyping Environments](https://awesome-repositories.com/f/hardware-iot/physical-sensing-frameworks/sensing-prototyping-environments.md) — Provides a MicroPython runtime for prototyping and deploying wireless sensing algorithms without manual compilation.
- [WiFi Spatial Sensing](https://awesome-repositories.com/f/hardware-iot/wifi-spatial-sensing.md) — Summarizes per-packet signal variation into a single scalar value to measure spatial turbulence. ([source](https://espectre.dev/documentation/algorithms/))
- [Firmware Flashing](https://awesome-repositories.com/f/hardware-iot/connectivity-iot/hardware-communication/serial-device-communication/firmware-flashing.md) — Provides a command line tool for flashing compiled firmware binaries to ESP32 microcontrollers with automated chip detection. ([source](https://espectre.dev/documentation/micro-espectre/))
- [Hardware Signal Calibration](https://awesome-repositories.com/f/hardware-iot/hardware-signal-calibration.md) — Provides boot-time calibration of automatic gain control and noise floors to stabilize wireless measurements.
- [Microcontroller Firmware Frameworks](https://awesome-repositories.com/f/hardware-iot/microcontroller-firmware-frameworks.md) — Interprets Python bytecode on the microcontroller, enabling rapid prototyping of sensing logic without compilation.
- [Motion Sensitivity Calibration](https://awesome-repositories.com/f/hardware-iot/motion-sensitivity-calibration.md) — Allows users to adjust trigger thresholds to define the level of movement required for a detection event. ([source](https://espectre.dev/game/))
- [Gain and Filter Control](https://awesome-repositories.com/f/hardware-iot/radio-frequency-signal-processing/gain-and-filter-control.md) — Locks automatic gain control and FFT gain values to ensure wireless signal stability. ([source](https://espectre.dev/documentation/micro-espectre/))
- [Wireless Signal Recorders](https://awesome-repositories.com/f/hardware-iot/radio-frequency-signal-processing/wireless-signal-recorders.md) — Captures and records raw Wi-Fi subcarrier amplitude and phase data to build training datasets for machine learning.
- [Sensor Noise Filtering](https://awesome-repositories.com/f/hardware-iot/sensor-noise-filtering.md) — Removes outliers and applies low-pass smoothing to clean up motion detection data. ([source](https://cdn.jsdelivr.net/gh/francescopace/espectre@main/README.md))

### Artificial Intelligence & ML

- [Edge Inference Engines](https://awesome-repositories.com/f/artificial-intelligence-ml/edge-inference-engines.md) — Executes compact neural network classifiers directly on ESP32 microcontrollers for real-time gesture and activity detection.
- [Motion Detection](https://awesome-repositories.com/f/artificial-intelligence-ml/motion-detection.md) — Identifies movement via wireless signals using adjustable thresholds and automatic calibration. ([source](https://cdn.jsdelivr.net/gh/francescopace/espectre@main/README.md))
- [Edge Inference](https://awesome-repositories.com/f/artificial-intelligence-ml/neural-networks/edge-inference.md) — Executes compact feedforward neural networks directly on the microcontroller for real-time classification of motion features.
- [Motion Classifiers](https://awesome-repositories.com/f/artificial-intelligence-ml/neural-networks/motion-classifiers.md) — Classifies statistical turbulence features using a neural network to detect human motion. ([source](https://espectre.dev/documentation/algorithms/))
- [On-Device Classifiers](https://awesome-repositories.com/f/artificial-intelligence-ml/neural-networks/on-device-classifiers.md) — Runs a compact neural network classifier directly on the microcontroller for real-time motion detection.
- [Through-Wall Sensing](https://awesome-repositories.com/f/artificial-intelligence-ml/through-wall-sensing.md) — Identifies movement through physical barriers using wireless signals without the need for cameras. ([source](https://espectre.dev))
- [Wireless Motion Detection](https://awesome-repositories.com/f/artificial-intelligence-ml/wireless-motion-detection.md) — Analyzes Wi-Fi Channel State Information to detect human presence and movement through walls without cameras or wearables.
- [Hampel Filter Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/anomaly-detection/median-absolute-deviation/hampel-filter-pipelines.md) — Removes outlier spikes using median absolute deviation and applies a Butterworth low-pass filter to smooth signals.
- [Data Labeling Platforms](https://awesome-repositories.com/f/artificial-intelligence-ml/data-labeling-platforms.md) — Implements workflows for gathering and labeling wireless signal data to create training datasets for supervised machine learning. ([source](https://espectre.dev/documentation/micro-espectre/))

### Part of an Awesome List

- [Wireless Sensing Toolkits](https://awesome-repositories.com/f/awesome-lists/ai/sensing-frameworks/wireless-sensing-toolkits.md) — Offers an environment for prototyping and deploying wireless signal processing algorithms on microcontrollers without manual compilation.
- [Signal Analysis Tools](https://awesome-repositories.com/f/awesome-lists/devtools/signal-analysis-tools.md) — Provides a utility for capturing, labeling, and streaming raw subcarrier amplitude and phase data for machine learning research.

### Business & Productivity Software

- [Home Automation Controller Integrations](https://awesome-repositories.com/f/business-productivity-software/home-automation-integrations/home-automation-controller-integrations.md) — Connects to Home Assistant to discover sensors and expose motion entities for automation. ([source](https://espectre.dev/documentation/))
- [Automation Triggers](https://awesome-repositories.com/f/business-productivity-software/automation-triggers.md) — Triggers smart home actions, such as lighting or heating, based on detected room occupancy. ([source](https://espectre.dev/documentation/))

### Networking & Communication

- [CSI Metadata Extraction](https://awesome-repositories.com/f/networking-communication/csi-metadata-extraction.md) — Captures Wi-Fi amplitude and phase metadata from packets to monitor environmental changes via signal reflections.

### Programming Languages & Runtimes

- [Microcontroller Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/webassembly/python-runtimes/microcontroller-runtimes.md) — Utilizes a MicroPython runtime on ESP32 microcontrollers to enable rapid deployment of sensing logic.
- [Sliding Window Variance](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/language-features/array-operations/variance-calculation/sliding-window-variance.md) — Monitors turbulence variance over a sliding window to identify motion via moving variance. ([source](https://espectre.dev/documentation/algorithms/))

### Data & Databases

- [MQTT Integrations](https://awesome-repositories.com/f/data-databases/data-integration-synchronization/mqtt-integrations.md) — Uses MQTT messaging to adjust detection parameters and receive sensor data at runtime across devices.
- [Wireless Signal Streaming](https://awesome-repositories.com/f/data-databases/real-time-data-streaming/wireless-signal-streaming.md) — Sends real-time wireless signal data from the device to a specific IP address via UDP for external analysis. ([source](https://espectre.dev/documentation/micro-espectre/))

### Scientific & Mathematical Computing

- [Sensing](https://awesome-repositories.com/f/scientific-mathematical-computing/algorithm-prototypes/sensing.md) — Provides a Python environment to develop and test motion detection algorithms before production deployment. ([source](https://espectre.dev))
- [Moving Variance Analysis](https://awesome-repositories.com/f/scientific-mathematical-computing/moving-variance-analysis.md) — Detects motion events by computing the variance of turbulence over a sliding window against an adaptive threshold.
- [Signal Filtering Pipelines](https://awesome-repositories.com/f/scientific-mathematical-computing/signal-filtering-pipelines.md) — Implements a Hampel-Butterworth pipeline to remove outlier spikes and smooth turbulence signals.
- [Subcarrier Selection Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/subcarrier-selection-algorithms.md) — Selects the most sensitive subcarriers using the NBVI algorithm to maximize detection reliability.

### Security & Cryptography

- [Privacy-Preserving Sensing](https://awesome-repositories.com/f/security-cryptography/privacy-preserving-utilities/privacy-preserving-sensing.md) — Detects room occupancy using wireless signal reflections to enable automation without capturing video or audio data.

### Software Engineering & Architecture

- [Runtime Parameter Configurators](https://awesome-repositories.com/f/software-engineering-architecture/default-configuration-values/execution-parameter-configurations/application-parameter-configurators/runtime-parameter-configurators.md) — Supports adjusting detection settings at runtime by sending JSON commands over MQTT. ([source](https://espectre.dev/documentation/micro-espectre/))

### System Administration & Monitoring

- [Web Dashboards](https://awesome-repositories.com/f/system-administration-monitoring/web-dashboards.md) — Provides a web-based browser interface for visualizing movement, thresholds, and device statistics. ([source](https://espectre.dev/documentation/micro-espectre/))
