Skip to main content
Wavey is an open-source WiFi CSI sensing system. This page covers the deployment architecture, what you need before you begin, and how to pick your first detection task. For signal processing detail, see the sensing pipeline. For what to detect first, see the detection ladder.
Setup steps live in the GitHub repository — they change as the project matures.

Three-layer architecture

Wavey is organized into three layers: capture, analysis, and action.
  1. Sensing nodes (ESP32). Capture CSI from ambient WiFi traffic. See commodity CSI limits for hardware constraints.
  2. Analysis pipeline (Python). Outlier rejection, amplitude features (primary on ESP32), phase sanitization for micro-motion, baseline learning, inference. See the sensing pipeline for the processing stack.
  3. Console and integrations. Live visualization at console.waveyhq.dev; events for automation and analytics.

Before you begin

  • One or more CSI-capable ESP32 modules (any ESP32 family chip)
  • A WiFi environment with traffic the nodes can sniff
  • A host machine for the Python stack

Pick your first detection task

Start at the bottom of the detection ladder — the most robust tasks first:
1

Occupancy

Use change-point detection on a learned baseline. This is the most reliable first task and requires the least tuning. See occupancy detection.
2

Motion

Use variance and spectral features to detect movement intensity. This adds a small amount of preprocessing but remains robust across rooms. See motion & activity detection.
3

Presence

Use micro-Doppler in the respiration band to confirm a still person is present. This needs clean phase, close range, and a quiet environment. See presence detection.
Each level adds preprocessing requirements and tuning complexity. Get occupancy working before attempting activity recognition. Every deployment needs its own empty-room baseline — cross-site transfer without per-site calibration remains an open problem on commodity hardware.

Follow development


Frequently Asked Questions

Wavey is in active development. This page covers architecture; github.com/waveyhq has current setup steps and release status.
CSI-capable ESP32 nodes, a WiFi environment, and a host running the Python pipeline. Start with one node; add more for coverage.
Star the GitHub repo, join Discord, or email mail@waveyhq.dev. Firmware, pipeline, integrations, and docs all welcome.

Further reading

How It Works

Learn the physics behind CSI, OFDM, and multipath superposition.

Sensing Pipeline

From raw CSI packets to detection events: preprocessing, features, and ML.

Detection Ladder

What WiFi CSI can and cannot do, from occupancy to pose and identity.

Glossary

Definitions for CSI, OFDM, micro-Doppler, and other key terms.