Skip to main content
Wavey is an open-source WiFi CSI sensing stack. ESP32 nodes 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

Deploy your first ESP32 node and start detecting occupancy in minutes

How It Works

Learn the physics of WiFi CSI sensing and why bodies show up in the signal

Use Cases

Occupancy, motion, presence, elder care, security, and smart-home automation

Deep Dives

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

Binary occupied / empty against a learned baseline

Motion & Activity

Variance spikes, spectral features, and coarse activity classes

Presence Detection

Still-person confirmation via micro-Doppler from breathing

Elder-Care Monitoring

Ambient awareness, inactivity alerts, and fall-like event detection

Security & Intrusion

Device-free, darkness-invariant zone monitoring through interior walls

Smart-Home Automation

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, 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. The Console provides live signal visualization. Join the community on Discord or reach the team at mail@waveyhq.dev.