> ## Documentation Index
> Fetch the complete documentation index at: https://docs.waveyhq.dev/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](/getting-started) 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.

<CardGroup cols={2}>
  <Card title="Get Started" icon="rocket" href="/getting-started">
    Deploy your first ESP32 node and start detecting occupancy in minutes
  </Card>

  <Card title="How It Works" icon="wave-sine" href="/concepts/how-it-works">
    Learn the physics of WiFi CSI sensing and why bodies show up in the signal
  </Card>

  <Card title="Use Cases" icon="lightbulb" href="/use-cases/occupancy-detection">
    Occupancy, motion, presence, elder care, security, and smart-home automation
  </Card>

  <Card title="Deep Dives" icon="book-open" href="/posts/introduction-to-wifi-csi">
    Technical walkthroughs of CSI fundamentals, classifiers, and RF privacy
  </Card>
</CardGroup>

## 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.

<CardGroup cols={3}>
  <Card title="Occupancy Detection" icon="house" href="/use-cases/occupancy-detection">
    Binary occupied / empty against a learned baseline
  </Card>

  <Card title="Motion & Activity" icon="person-running" href="/use-cases/motion-activity-detection">
    Variance spikes, spectral features, and coarse activity classes
  </Card>

  <Card title="Presence Detection" icon="lungs" href="/use-cases/presence-detection">
    Still-person confirmation via micro-Doppler from breathing
  </Card>

  <Card title="Elder-Care Monitoring" icon="heart" href="/use-cases/elder-care-monitoring">
    Ambient awareness, inactivity alerts, and fall-like event detection
  </Card>

  <Card title="Security & Intrusion" icon="shield" href="/use-cases/security-intrusion-detection">
    Device-free, darkness-invariant zone monitoring through interior walls
  </Card>

  <Card title="Smart-Home Automation" icon="plug" href="/use-cases/smart-home-automation">
    Presence holds that keep lights and HVAC on while you sit still
  </Card>
</CardGroup>

## How It Works

<Steps>
  <Step title="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.
  </Step>

  <Step title="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.
  </Step>

  <Step title="Infer">
    Lightweight models compare live CSI against the baseline to emit occupancy, motion, and presence events in real time.
  </Step>

  <Step title="Act">
    Events stream to the [Wavey Console](https://console.waveyhq.dev), Home Assistant, MQTT, or any downstream automation or analytics platform.
  </Step>
</Steps>

## 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).
