Spokes.wiki Search About
Created
Updated
Sources
wifisense-pi.md

Wi-Fi sensing (CSI)

Using a radio link that already exists for communication as a measuring instrument: reading how a person disturbs the Wi-Fi channel between a transmitter and a receiver, and inferring motion, presence and breathing from the disturbance. The device does not carry a sensor for the thing it is sensing — the radio is the sensor.

Channel State Information

A signal arrives by many paths at once: direct, plus reflections off walls, furniture and bodies. The copies add with different delays, so across the band some frequencies reinforce and others cancel, and the resulting per-sub-carrier amplitude/phase pattern is Channel State Information. Most Wi-Fi chips can report it, including the ESP32 family. Change the geometry of the room and the pattern changes.

Two numbers make people visible. A body is mostly water, which reflects 2.4 GHz strongly. And one wavelength at 2.4 GHz is 12.5 cm, so a chest moving 6 mm while breathing displaces a path by a measurable fraction of a wavelength wifisense-pi.

Motion and breathing separate in the frequency domain because both appear as Doppler shifts — a reflector at velocity v shifts the signal by v/λ. Walking at 1 m/s writes energy near 8 Hz, not at walking pace; breathing sits at 0.13–0.7 Hz. That gap is the entire basis for telling one from the other.

The instrument has to generate its own stimulus

CSI only exists when a packet is received, so a silent channel produces no measurements at all. Passive listening to ambient traffic yields roughly 1 Hz, irregularly. wifisense-pi instead has the receiver send the sensing node 100 UDP packets a second purely as stimulus, getting an even 1:1 sample rate (200 Hz also works).

This inverts the usual reading of a networked device. The traffic is not the payload and the sensing is not a by-product of communication; the link is being run as a radar with a chosen pulse rate. It also explains why such a node joins the network rather than sniffing it.

What the physics allows, and what it does not

The limits are set by bandwidth and by how many independent paths are measured, not by software quality:

  • Range resolution is c/2B. At 20 MHz of Wi-Fi bandwidth that is 7.5 m — larger than most rooms, so imaging is out. The MIT through-wall imaging results (RF-Pose, RF-Capture, WiTrack) use purpose-built FMCW radar with GHz of bandwidth and antenna arrays, which is a different instrument that gets described in the same words.
  • One transmitter and one receiver measure one path, so the output is "something changed", not where. Localisation needs three or more separated nodes.
  • Counting people is unreliable; two bodies perturb the channel more than one, not countably.
  • Identity, sleep staging and a still subject holding their breath are not in the signal.
  • Anything that moves registers, which is correct behaviour rather than a false positive: fans, curtains, pets. Mass and motion are what the channel sees, so a large dog and a person are hard to separate.

Materials set the through-wall claim: plasterboard, wood and glass pass 2.4 GHz, brick and concrete attenuate heavily, foil-backed insulation blocks it.

Why it belongs on this spoke's map

It is a sensing modality with an unusual bill of materials — the wifisense-pi build is one MCU, one SBC and a router that was already there. Set against the corpus's other devices, it is the clearest case of a capability coming from signal processing over existing hardware rather than from integration on a die (microcontroller) or from added components (input-multiplexing). The division of labour is also the spoke's founding axis in miniature: the MCU captures at 100 Hz because that is a deadline, the SBC runs NumPy and SciPy because that needs an OS.

The same property makes it a privacy question. An instrument that needs no camera, works through plasterboard and reuses hardware already installed does not look like surveillance while it is running. The one project here treats that as a design constraint and encrypts its telemetry (wifisense-pi); the wider policy and defensive readings sit in ../osint-wiki and ../defensive-security-wiki.

wifisense-pi · esp32 · iot-protocols · embedded-systems · microcontroller · single-board-computer · synthesis