Back Original

Show HN: ESPectre โ€“ Motion detection based on Wi-Fi spectre analysis

License C Platform Status Changelog Medium Ita Medium Eng

Motion detection system based on Wi-Fi spectre analysis (CSI), with Home Assistant integration.

๐Ÿ“ฐ Featured Article: Read the complete story behind ESPectre on Medium ๐Ÿ‡ฎ๐Ÿ‡น Italian, ๐Ÿ‡ฌ๐Ÿ‡ง English

โš ๏ธ Disclaimer: This is an experimental project for educational and research purposes. The author assumes no responsibility for misuse or damage resulting from the use of this system. Use responsibly and in compliance with applicable laws.



  1. What it does: Detects movement at home using Wi-Fi (no cameras, no microphones)
  2. What you need: A ~โ‚ฌ10 device (ESP32-S3) + Home Assistant or MQTT server + ESP-IDF development tools
  3. Setup time: 30-45 minutes (first time, including ESP-IDF setup)

๐Ÿ”ฌ Mathematical Approach

This project currently does NOT use Machine Learning models. Instead, it employs a mathematical approach that extracts 10 features from CSI (Channel State Information) data using statistical and signal processing techniques.

  • โœ… No ML training required: Works out-of-the-box with mathematical algorithms
  • โœ… 10 extracted features: Statistical, spatial, and temporal features
  • โœ… Real-time processing: Low latency detection on ESP32-S3 hardware
  • โœ… Foundation for ML: These features can serve as the basis for collecting labeled datasets to train ML models for advanced tasks (people counting, activity recognition, gesture detection)

The mathematical approach provides excellent movement detection without the complexity of ML model training, while the extracted features offer a solid foundation for future ML-based enhancements.


  • โœ… 2.4GHz Wi-Fi Router (the one you already have at home works fine)
  • โœ… ESP32-S3 DevKit bundle with external antennas (~โ‚ฌ10) - Available on Amazon, AliExpress, or electronics stores

3 x ESP32-S3 DevKit bundle with external antennas ESP32-S3 DevKit with external antennas (recommended for better reception)

  • โœ… MQTT Broker (required for operation):
    • Home Assistant with built-in MQTT broker (on Raspberry Pi, PC, NAS, or cloud)
    • OR standalone Mosquitto MQTT server (can run on any device, including Raspberry Pi)
  • โœ… ESP-IDF v6.1 (development framework for building firmware)
  • โœ… Basic command line knowledge required for building and flashing firmware
  • โŒ NO router configuration needed
  • โœ… Follow the setup guide in SETUP.md

Setup time: ~30-45 minutes (first time)

  1. Setup & Installation: Follow the complete guide in SETUP.md
  2. Calibration & Tuning: Optimize for your environment with CALIBRATION.md

๐Ÿ“– How It Works (Simple Version)

When someone moves in a room, they "disturb" the Wi-Fi waves traveling between the router and the sensor. It's like when you move your hand in front of a flashlight and see the shadow change.

The ESP32-S3 device "listens" to these changes and understands if there's movement.

  • โœ… No cameras (total privacy)
  • โœ… No wearables needed (no bracelets or sensors to wear)
  • โœ… Works through walls (Wi-Fi passes through walls)
  • โœ… Very cheap (~โ‚ฌ10 total)
๐Ÿ“š Technical Explanation (click to expand)

What is CSI (Channel State Information)?

Channel State Information (CSI) represents the physical characteristics of the wireless communication channel between transmitter and receiver. Unlike simple RSSI (Received Signal Strength Indicator), CSI provides rich, multi-dimensional data about the radio channel.

Per-subcarrier information:

  • Amplitude: Signal strength for each OFDM subcarrier (up to 64)
  • Phase: Phase shift of each subcarrier
  • Frequency response: How the channel affects different frequencies

Environmental effects:

  • Multipath propagation: Reflections from walls, furniture, objects
  • Doppler shifts: Changes caused by movement
  • Temporal variations: How the channel evolves over time
  • Spatial patterns: Signal distribution across antennas/subcarriers

Why It Works for Movement Detection

When a person moves in an environment, they:

  • Alter multipath reflections (new signal paths)
  • Change signal amplitude and phase
  • Create temporal variations in CSI patterns
  • Modify the electromagnetic field structure

These changes are detectable even through walls, enabling privacy-preserving presence detection without cameras, microphones, or wearable devices.


๐Ÿ’ก What You Can Do With It

  • ๐Ÿ  Home security: Get an alert if someone enters while you're away
  • ๐Ÿ‘ด Elderly care: Monitor activity to detect falls or prolonged inactivity
  • ๐Ÿ’ก Smart automation: Turn on lights/heating only when someone is present
  • โšก Energy saving: Automatically turn off devices in empty rooms
  • ๐Ÿ‘ถ Child monitoring: Alert if they leave the room during the night
  • ๐ŸŒก๏ธ Climate control: Heat/cool only occupied zones

๐Ÿ“ Where to Place the Sensor

Optimal sensor placement is crucial for reliable movement detection.

Recommended Distance from Router

Optimal range: 3-8 meters

Distance Signal Multipath Sensitivity Noise Recommendation
< 2m Too strong Minimal Low Low โŒ Too close
3-8m Strong Good High Low โœ… Optimal
> 10-15m Weak Variable Low High โŒ Too far

โœ… Position sensor in the area to monitor (not necessarily in direct line with router)


โš™๏ธ System Architecture

ESPectre uses a streamlined processing pipeline:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  CSI Data   โ”‚  Raw Wi-Fi Channel State Information
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
       โ”‚
       โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚Segmentation โ”‚  Moving Variance Segmentation (MVS)
โ”‚  (2-state)  โ”‚  IDLE โ†” MOTION (operates on RAW CSI)
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
       โ”‚
       โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
       โ”‚                     โ”‚
       โ–ผ                     โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚    IDLE     โ”‚      โ”‚    MOTION    โ”‚
โ”‚  (no feat.) โ”‚      โ”‚  (optional   โ”‚
โ”‚             โ”‚      โ”‚   features)  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ”‚
                            โ–ผ
                     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                     โ”‚   Filters   โ”‚  Butterworth, Wavelet,
                     โ”‚             โ”‚  Hampel, Savitzky-Golay
                     โ”‚             โ”‚  (applied to features only)
                     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ”‚
                            โ–ผ
                     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                     โ”‚  Features   โ”‚  10 mathematical features
                     โ”‚ (if enabled)โ”‚  (filtered CSI data)
                     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ”‚
       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
       โ”‚                                         โ”‚
       โ–ผ                                         โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚    MQTT     โ”‚  Publish state + metrics โ”‚    MQTT     โ”‚
โ”‚   (IDLE)    โ”‚                          โ”‚  (MOTION)   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Key Points:

  • 2-state system: IDLE or MOTION (no intermediate states)
  • Segmentation-based: Uses Moving Variance Segmentation (MVS) on raw CSI data
  • Filters applied to features only: Segmentation uses unfiltered data to preserve motion sensitivity
  • Optional features: Feature extraction only during MOTION state (configurable)

Single or Multiple Sensors

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ESP32-S3 โ”‚  โ”‚ESP32-S3 โ”‚  โ”‚ESP32-S3 โ”‚
โ”‚ Room 1  โ”‚  โ”‚ Room 2  โ”‚  โ”‚ Room 3  โ”‚
โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜
     โ”‚            โ”‚            โ”‚
     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                  โ”‚
                  โ”‚ MQTT
                  โ–ผ
         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
         โ”‚    MQTT Broker     โ”‚
         โ”‚ (Home Assistant    โ”‚
         โ”‚  built-in or any   โ”‚
         โ”‚  MQTT Server)      โ”‚
         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                  โ”‚
                  โ–ผ
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ”‚ Home Assistant โ”‚
          โ”‚   MQTT Sensors โ”‚
          โ”‚  & Automations โ”‚
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Each sensor publishes to its own topic:

  • home/espectre/kitchen
  • home/espectre/bedroom
  • home/espectre/living

Home Assistant can then:

  • Monitor each room independently
  • Create group sensors for whole-house occupancy
  • Implement zone-based automations
  • Track movement patterns across rooms

Click to expand FAQ

Q: Do I need programming knowledge to use it?

Q: Does it work with my router?

Q: How much does it cost in total?

Q: Do I need to modify anything on the router?

Q: Can I try it without Home Assistant?

Q: Does it work through walls?

Q: How many sensors are needed for a house?

Q: Can it distinguish between people and pets?

Q: Does it consume a lot of Wi-Fi bandwidth?

Q: Does it work with mesh Wi-Fi networks?

Q: Is a dedicated server necessary?

Q: How accurate is the detection?

Q: What's the power consumption?

Q: If it doesn't work, can I get help?


๐Ÿ”’ Security and Privacy

๐Ÿ” Privacy, Security & Ethical Considerations (click to expand)

The system collects anonymous data related to the physical characteristics of the Wi-Fi radio channel:

  • Amplitudes and phases of OFDM subcarriers
  • Statistical signal variances
  • NOT collected: personal identities, communication contents, images, audio

CSI data represents only the properties of the transmission medium and does not contain direct identifying information.

โœ… No cameras: Respect for visual privacy

โš ๏ธ Disclaimer and Ethical Considerations

WARNING: Despite the intrinsic anonymity of CSI data, this system can be used for:

  • Non-consensual monitoring: Detecting presence/movement of people without their explicit consent
  • Behavioral profiling: With advanced AI models, inferring daily life patterns
  • Domestic privacy violation: Tracking activities inside private homes

The user is solely responsible for using this system and must:

  1. โœ… Obtain explicit consent from all monitored persons
  2. โœ… Respect local regulations (GDPR in EU, local privacy laws)
  3. โœ… Clearly inform about the presence of the sensing system
  4. โœ… Limit use to legitimate purposes (home security, personal home automation)
  5. โœ… Protect data with encryption and controlled access
  6. โŒ DO NOT use for illegal surveillance, stalking, or violation of others' privacy

Segmentation Analysis Moving Variance Segmentation (MVS) analysis: baseline graphs (top) show quiet state, while bottom graphs show motion detection with turbulence signal, adaptive threshold, and state transitions

๐Ÿ”ฌ Signal Processing Pipeline (click to expand)

1๏ธโƒฃ CSI Acquisition (ESP32-S3)

  • Native ESP32 CSI API captures Wi-Fi Channel State Information via callback
  • Extracts amplitude and phase data from OFDM subcarriers (up to 64 subcarriers)
  • Typical capture rate: ~10-100 packets/second depending on Wi-Fi traffic

2๏ธโƒฃ Motion Segmentation (ESP32-S3)

  • Spatial turbulence calculation: Standard deviation of subcarrier amplitudes (raw CSI data)
  • Moving Variance Segmentation (MVS): Real-time motion segment extraction
  • Adaptive threshold: Based on moving variance of turbulence signal
  • Segment features: Duration, average turbulence, maximum turbulence
  • Circular buffer: Maintains up to 10 recent segments for analysis
  • Foundation for ML: Segments can be labeled and used for activity classification

Note: Segmentation operates on raw, unfiltered CSI data to preserve motion sensitivity. Filters are not applied to the turbulence signal used for segmentation.

3๏ธโƒฃ Optional Signal Processing Filters (ESP32-S3)

Advanced filters applied to CSI data before feature extraction (configurable via MQTT):

  • Butterworth Low-Pass: Removes high-frequency noise >8Hz (environmental interference) - Enabled by default
  • Wavelet db4: Removes low-frequency persistent noise using Daubechies wavelet transform
  • Hampel Filter: Outlier removal using MAD (Median Absolute Deviation)
  • Savitzky-Golay Filter: Polynomial smoothing (enabled by default)

Filter Pipeline: Raw CSI โ†’ Butterworth (high freq) โ†’ Wavelet (low freq) โ†’ Hampel โ†’ Savitzky-Golay โ†’ Features

Note: Filters are applied only to feature extraction, not to segmentation. Segmentation uses raw CSI data to preserve motion sensitivity.

4๏ธโƒฃ Optional Feature Extraction (ESP32-S3)

When enabled (default: on), extracts 10 mathematical features from filtered CSI data during MOTION state:

  • Statistical (5): Variance, Skewness, Kurtosis, Entropy, IQR
  • Spatial (3): Spatial variance, correlation, gradient across subcarriers
  • Temporal (2): Delta mean, delta variance (changes between consecutive packets)

Note: Feature extraction can be disabled to reduce CPU usage if only basic motion detection is needed.

5๏ธโƒฃ MQTT Publishing (ESP32-S3 โ†’ Broker)

  • Publishes JSON payload every 1 second (configurable)
  • QoS level 0 (fire-and-forget) for low latency
  • Retained message option for last known state
  • Automatic reconnection on connection loss

6๏ธโƒฃ Home Assistant Integration

  • MQTT Sensor subscribes to topic and creates entity
  • State: Primary movement value (0.0-1.0)
  • Attributes: All other metrics available for conditions
  • History: Automatic logging to database for graphs
๐Ÿ“Š Optional Feature Extraction (click to expand)

ESPectre can optionally extract 10 mathematical features from CSI data during MOTION state:

Statistical properties of the CSI signal distribution:

  1. Variance - Signal variability, increases significantly with movement
  2. Skewness - Distribution asymmetry, detects irregular movement patterns
  3. Kurtosis - Distribution "tailedness", identifies outliers and sudden changes
  4. Entropy - Signal randomness/disorder, increases when environment changes
  5. IQR (Interquartile Range) - Robust spread measure (Q3-Q1), resistant to outliers

Characteristics across OFDM subcarriers (frequency domain):

  1. Spatial Variance - Variability across subcarriers, indicates multipath diversity
  2. Spatial Correlation - Correlation between adjacent subcarriers, affected by movement
  3. Spatial Gradient - Rate of change across subcarriers, highly sensitive to movement

Changes between consecutive CSI packets:

  1. Temporal Delta Mean - Average absolute difference from previous packet
  2. Temporal Delta Variance - Variance of differences from previous packet

Feature extraction is enabled by default but can be disabled to reduce CPU usage. Note: Features are only extracted during MOTION state, not during IDLE, to optimize performance.

๐Ÿ“‹ Technical Specifications (click to expand)
  • Board: ESP32-S3-DevKitC-1 N16R8
  • Flash: 16MB
  • PSRAM: 8MB
  • Wi-Fi: 802.11 a/g/n (2.4 GHz only)
  • Antenna: Built-in PCB antenna + IPEX connector for external
  • Power: USB-C 5V or 3.3V via pins
  • Framework: ESP-IDF v6.1
  • Language: C
  • Build System: CMake
  • Flash Tool: esptool.py
  • CSI Capture Rate: 10-100 packets/second
  • Processing Latency: <50ms per packet
  • MQTT Publish Rate: Smart publishing (only on significant changes + 5s heartbeat)
  • MQTT Bandwidth: ~0.2-1 KB/s depending on activity
  • Power Consumption: ~500mW typical
  • Detection Range: 3-8 meters optimal
  • Detection Accuracy: Environment-dependent, requires tuning
  • Works only on 2.4 GHz band (ESP32-S3 hardware limitation)
  • Sensitivity dependent on: wall materials, antenna placement, distances, interference
  • Not suitable for environments with very high Wi-Fi traffic
  • Cannot distinguish between people, pets, or objects (generic motion detection)
  • Cannot count people or recognize specific activities (without ML models)
  • Reduced performance through metal obstacles or thick concrete walls

๐Ÿค– Future Evolutions: AI Approach

๐Ÿ“š Machine Learning and Deep Learning (click to expand)

The current implementation uses an advanced mathematical approach with 10 features and multi-criteria detection to identify movement patterns. While this provides excellent results without requiring ML training, scientific research has shown that Machine Learning and Deep Learning techniques can extract even richer information from CSI data for complex tasks like people counting, activity recognition, and gesture detection.

Classification or regression models can estimate the number of people present in an environment by analyzing complex patterns in CSI.

References:

  • Wang et al. (2017) - "Device-Free Crowd Counting Using WiFi Channel State Information" - IEEE INFOCOM
  • Xi et al. (2016) - "Electronic Frog Eye: Counting Crowd Using WiFi" - IEEE INFOCOM

Neural networks (CNN, LSTM, Transformer) can classify human activities like walking, falling, sitting, sleeping.

References:

  • Wang et al. (2015) - "Understanding and Modeling of WiFi Signal Based Human Activity Recognition" - ACM MobiCom
  • Yousefi et al. (2017) - "A Survey on Behavior Recognition Using WiFi Channel State Information" - IEEE Communications Magazine
  • Zhang et al. (2019) - "WiFi-Based Indoor Robot Positioning Using Deep Neural Networks" - IEEE Access

3. Localization and Tracking

Deep learning algorithms can estimate position and trajectory of moving people.

References:

  • Wang et al. (2016) - "CSI-Based Fingerprinting for Indoor Localization: A Deep Learning Approach" - IEEE Transactions on Vehicular Technology
  • Chen et al. (2018) - "WiFi CSI Based Passive Human Activity Recognition Using Attention Based BLSTM" - IEEE Transactions on Mobile Computing

Models trained on CSI temporal sequences can recognize hand gestures for touchless control.

References:

  • Abdelnasser et al. (2015) - "WiGest: A Ubiquitous WiFi-based Gesture Recognition System" - IEEE INFOCOM
  • Jiang et al. (2020) - "Towards Environment Independent Device Free Human Activity Recognition" - ACM MobiCom

Available Public Datasets

  • UT-HAR: Human Activity Recognition dataset (University of Texas)
  • Widar 3.0: Gesture recognition dataset with CSI
  • SignFi: Sign language recognition dataset
  • FallDeFi: Fall detection dataset
๐Ÿ›œ Standardized Wi-Fi Sensing (IEEE 802.11bf) (click to expand)

Currently, only a limited number of Wi-Fi chipsets support CSI extraction, which restricts hardware options for Wi-Fi sensing applications. However, the IEEE 802.11bf (Wi-Fi Sensing) standard should significantly improve this situation by making CSI extraction a standardized feature.

IEEE 802.11bf - Wi-Fi Sensing

The 802.11bf standard was officially published on September 26, 2025, introducing Wi-Fi Sensing as a native feature of the Wi-Fi protocol. Main characteristics:

๐Ÿ”น Native sensing: Detection of movements, gestures, presence, and vital signs

Market: The Wi-Fi Sensing market is in its early stages and is expected to experience significant growth in the coming years as the 802.11bf standard enables native sensing capabilities in consumer devices.

Hardware availability:

  • โš ๏ธ Consumer routers: Currently there are no widely available consumer routers with native 802.11bf support
  • ๐Ÿข Commercial/industrial: Experimental devices and integrated solutions already in use
  • ๐Ÿ”ง Hardware requirements: Requires multiple antennas, Wi-Fi 6/6E/7 support, and AI algorithms for signal processing

Expected timeline:

  • 2025-2026: First implementations in enterprise and premium smart home devices
  • 2027-2028: Diffusion in high-end consumer routers
  • 2029+: Mainstream adoption in consumer devices

Future Benefits for Wi-Fi Sensing

When 802.11bf is widely adopted, applications like this project will become:

  • More accessible: No need for specialized hardware or modified firmware
  • More reliable: Standardization ensures predictable behavior
  • More efficient: Protocols optimized for continuous sensing
  • More secure: Privacy mechanisms integrated at the standard level
  • More powerful: Ability to detect even vital signs (breathing, heartbeat)

Perspective: In the next 3-5 years, routers and consumer devices will natively support Wi-Fi Sensing, making projects like this implementable without specialized hardware or firmware modifications. This will open new possibilities for smart home, elderly care, home security, health monitoring, and advanced IoT applications.

For now: Solutions like this project based on ESP32 CSI API remain the most accessible and economical way to experiment with Wi-Fi Sensing.


This project builds upon extensive research in Wi-Fi sensing and CSI-based movement detection. The following academic works and theses provide valuable insights into mathematical signal processing approaches for human activity recognition using Wi-Fi Channel State Information:

  1. Wi-Fi Sensing per Human Identification attraverso CSI

  2. Channel State Information (CSI) Features Collection in Wi-Fi

  3. Indoor Motion Detection Using Wi-Fi Channel State Information (2018)

  4. WiFi Motion Detection: A Study into Efficacy and Performance (2019)

  5. CSI-HC: A WiFi-Based Indoor Complex Human Motion Recognition Using Channel State Information (2020)

  6. Location Intelligence System for People Estimation in Indoor Environment During Emergency Operation (2022)

These references demonstrate that effective Wi-Fi sensing can be achieved through mathematical and statistical approaches, which is the foundation of ESPectre's design philosophy.


For a detailed history of changes, new features, and improvements, see the CHANGELOG.md.


This project is released under the GNU General Public License v3.0 (GPLv3).

GPLv3 ensures that:

  • โœ… The software remains free and open source
  • โœ… Anyone can use, study, modify, and distribute it
  • โœ… Modifications must be shared under the same license
  • โœ… Protects end-user rights and software freedom

See LICENSE for the full license text.


Francesco Pace