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.
