> ## Documentation Index
> Fetch the complete documentation index at: https://docs.heywavey.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Wavey: WiFi CSI Sensing for Occupancy, Motion, and Presence

> Wavey is an open-source WiFi CSI sensing stack. ESP32 nodes capture Channel State Information to detect occupancy, motion, and presence without cameras or wearables.

Wavey is an open-source **WiFi CSI sensing** stack. [ESP32 nodes](https://docs.heywavey.tech/getting-started.md) capture Channel State Information from the ambient WiFi channel in real time, and a Python pipeline turns those measurements into occupancy, motion, and presence inference for a space — without cameras and without asking people to carry a device.

> **[Get Started](https://docs.heywavey.tech/getting-started.md)**
>
> Deploy your first ESP32 node and start detecting occupancy in minutes

> **[How It Works](https://docs.heywavey.tech/concepts/how-it-works.md)**
>
> Learn the physics of WiFi CSI sensing and why bodies show up in the signal

> **[Use Cases](https://docs.heywavey.tech/use-cases/occupancy-detection.md)**
>
> Occupancy, motion, presence, elder care, security, and smart-home automation

> **[Deep Dives](https://docs.heywavey.tech/posts/introduction-to-wifi-csi.md)**
>
> Technical walkthroughs of CSI fundamentals, classifiers, and RF privacy

## What is WiFi CSI Sensing?

**Channel State Information (CSI)** is how a WiFi link measures the channel between transmitter and receiver: amplitude, phase, and delay across many OFDM subcarriers. A single RSSI reading collapses all of that into one number. CSI keeps the full detail.

Walls, furniture, and bodies all reflect and absorb radio energy. When someone moves — or stays still enough that breathing shifts the field — the subcarrier pattern shifts in consistent, measurable ways. Wavey reads those shifts to infer what changed in the environment.

> **[Occupancy Detection](https://docs.heywavey.tech/use-cases/occupancy-detection.md)**
>
> Binary occupied / empty against a learned baseline

> **[Motion & Activity](https://docs.heywavey.tech/use-cases/motion-activity-detection.md)**
>
> Variance spikes, spectral features, and coarse activity classes

> **[Presence Detection](https://docs.heywavey.tech/use-cases/presence-detection.md)**
>
> Still-person confirmation via micro-Doppler from breathing

> **[Elder-Care Monitoring](https://docs.heywavey.tech/use-cases/elder-care-monitoring.md)**
>
> Ambient awareness, inactivity alerts, and fall-like event detection

> **[Security & Intrusion](https://docs.heywavey.tech/use-cases/security-intrusion-detection.md)**
>
> Device-free, darkness-invariant zone monitoring through interior walls

> **[Smart-Home Automation](https://docs.heywavey.tech/use-cases/smart-home-automation.md)**
>
> Presence holds that keep lights and HVAC on while you sit still

## How It Works

**1. Capture**

ESP32 nodes in the space sniff Channel State Information from ambient WiFi traffic. Each packet yields amplitude and phase across 52–56 OFDM subcarriers.

**2. Process**

A Python pipeline on a host machine cleans the signal, rejects outliers, sanitizes phase, and builds an empty-room baseline fingerprint for the space.

**3. Infer**

Lightweight models compare live CSI against the baseline to emit occupancy, motion, and presence events in real time.

**4. Act**

Events stream to the [Wavey Console](https://console.waveyhq.dev), Home Assistant, MQTT, or any downstream automation or analytics platform.

## Open Source

Wavey is fully open source. Code, firmware, and the Python pipeline live on [GitHub](https://github.com/waveyhq). The [Console](https://console.waveyhq.dev) provides live signal visualization. Join the community on [Discord](https://discord.gg/sxh9r9UTtW) or reach the team at [mail@waveyhq.dev](mailto:mail@waveyhq.dev).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.