SGP Official store ↗
Blog / Projects / Wi-Fi CSI gestures

Wi-Fi CSI gesture recognition

Wave a hand near a Wi-Fi link and you stir the signal in a way the receiver can measure. With the right features and a trained classifier, a push, a swipe or a zoom become things software can tell apart — no camera, no wearable. Here is how it works, and where it stops working.

Published 20 Oct 2026Read 11 minLevel IntermediateTopic Wi-Fi CSI
SGP Wi-Fi CSI demo video Watch · SGP on YouTube
VIDEO — Our own Wi-Fi CSI demo. The same signal that reacts to a body walking by also reacts, more subtly, to a moving hand.

If you have read our complete guide to Wi-Fi CSI, you know a Wi-Fi link carries a detailed fingerprint of the room it crossed. Gesture recognition asks a sharper question: not just did something move, but what movement was that. The answer is yes, within honest limits, and the mechanism is worth understanding before you believe any demo.

01What a gesture means here

In Wi-Fi sensing a gesture is a short, deliberate motion of a hand or arm performed close to the link, such as a push toward the board, a swipe left or right, a zoom where two hands move apart or together, or a simple flick. The goal is to map each of these to a label the software can act on, the way a touchscreen maps a swipe to a page turn.

This is a smaller and harder problem than detecting a whole person. A walking body moves a lot of mass through the link and disturbs the channel strongly. A hand is small, close to the body, and moves for under a second. The signal it leaves is faint and brief, which is exactly why gesture work needs more care than plain presence detection.

02How a moving hand shows up in CSI

The key idea is Doppler. When part of the signal reflects off a moving hand, the length of that path changes continuously, so the reflected copy comes back with a small frequency shift. The faster the hand moves toward or away from the link, the larger the shift. For a reflected path the shift is roughly 2 v fc / c, where v is the hand's speed along the path and fc is the carrier frequency.

Put real numbers in. At 2.4 GHz a hand moving about 0.5 m/s produces a Doppler shift on the order of a few hertz up to roughly ten hertz. That is tiny compared with the Wi-Fi channel itself, but CSI measures amplitude and phase on every subcarrier many times per second, so these slow shifts are visible as a rhythmic ripple across the subcarriers over the half-second the gesture lasts. Because different parts of the hand and arm move at slightly different speeds, you get a spread of shifts at once, often called a micro-Doppler signature.

Wi-Fi link direct path (steady) hand moves → path length changes reflected path (Doppler-shifted) the shifting reflected copy beats against the steady direct path in the CSI
FIG 1 — The direct path stays steady while the copy that bounces off the hand changes length. The two beat against each other, and that beat is the Doppler signature a gesture classifier learns to read.

So a gesture is not read as a shape. It is read as a short, characteristic pattern of velocity over time. A push is motion straight toward the link, a swipe is motion across it, and the two leave different patterns because the component of the speed along each path is different. That is the whole physical basis for telling gestures apart.

03From raw CSI to features a model can use

Raw CSI is noisy and high-dimensional: dozens of subcarriers, each with amplitude and phase, sampled many times a second. You almost never feed that straight into a classifier. Instead you turn each captured gesture window into a compact set of features. The usual pipeline looks like this.

StepWhat it doesWhy
CleanRemove outliers, smooth amplitude, fix phase offsetsRaw phase is corrupted by clock offsets and must be sanitised
ReduceCombine correlated subcarriers, often with PCACuts dozens of subcarriers down to a few strong components
TransformShort-time Fourier or wavelet transform over the windowTurns the time series into a Doppler-versus-time spectrogram
SummariseStatistics: variance, energy, dominant Doppler, durationGives a classifier a small, stable feature vector

The spectrogram step is the one that matters most. Because a gesture is defined by how velocity changes over its short life, a time-frequency picture of the Doppler energy is the natural representation. Many modern systems stop there and hand the spectrogram, as an image, straight to a neural network. We cover the cleaning stage on its own in cleaning Wi-Fi CSI data, because getting the phase and baseline right is half the battle.

04The classifier

Once each gesture is a feature vector or a spectrogram image, classifying it is a standard machine-learning problem. Two families are common.

In both cases the ESP32 or SGP board is the sensor: it captures CSI and streams it out. The feature extraction and the classifier usually run on a connected computer, because training a model and running a transform over a sliding window is more than a small microcontroller should carry. This split is the same one described in our CSI datasets and tools guide, which lists the open datasets and libraries people use to train these models.

05Why it needs a controlled setup and per-room training

This is the part demos tend to skip. A gesture's signature is not produced by the hand alone. It is produced by the hand inside a specific room. The walls, the furniture, the exact spot where you stand and the geometry of the link all shape the multipath, and the classifier learns all of it together. Change any of them and the signature moves.

The model learns the room, not just the gestureTrain a swipe in your office, then try the same swipe in the kitchen, and accuracy usually collapses. The physics did not change; the surroundings did, and the model never saw those surroundings. Cross-environment gesture recognition is still an open research problem.

The practical consequences are concrete. You need a reasonably fixed geometry: the transmitter, the receiver and the user roughly where they were during training. You need the gesture performed in the link's sensitive region, the volume between and around the two devices where a hand actually disturbs the paths. And you almost always need to collect fresh training data when you move to a new space, add a person, or even rearrange the furniture. Systems that promise plug-and-play gestures anywhere are promising something the single-link physics does not support.

06How accurate it really is

Here is the honest picture. In a controlled setup, with a small set of well-separated gestures, performed in the same place and often by the same person who recorded the training data, reported accuracy is frequently high — commonly above 90 percent in published lab work. That is a real and repeatable result, and it is enough to build a satisfying demo or a simple contactless control for your own desk.

The numbers that get quoted almost always carry those conditions, though, and they fall when the conditions break:

ConditionTypical effect on accuracy
Same room, same user, same positionHigh — the best case, often cited
Same room, different userLower — body size and style change the signature
Different position or distanceLower — the sensitive region and geometry shift
Different roomOften poor without retraining
Larger gesture setLower — more chances for two gestures to look alike

So the realistic claim is: a handful of distinct gestures, in a trained and controlled setting, can be recognised reliably. Free-form, any-room, any-person gesture control from one Wi-Fi link is not something you should expect today. Treat any benchmark you read as the ceiling for its exact conditions, not a guarantee for yours.

07Trying it in your own space

If you want to experiment, the recipe is the same as the rest of CSI sensing. Capture CSI on a board that exposes it, keep the link geometry fixed, record many repetitions of each gesture to build a labelled dataset, extract Doppler features offline and train a small classifier. Start with just two or three very different gestures before you add more, because distinct motions are far easier to separate than similar ones.

SGP Card Mini, an ESP32-S3 board that captures Wi-Fi CSI
The SGP Card Mini is an ESP32-S3 board that captures CSI out of the box, so it can act as the sensor while your computer handles the training.

Keep the framing where it belongs: this is contactless control for a space and devices you own. It is not a way to read what someone else is doing in their home, and a single link could not do that anyway — it senses coarse motion, not detail. For the broader category of movements, from walking to sitting to gestures, see our overview of Wi-Fi CSI activity recognition.

08FAQ

Can Wi-Fi CSI really recognize hand gestures?

Yes, within limits. A moving hand changes the multipath in a Wi-Fi link and leaves a Doppler signature in the CSI. A trained classifier can tell a small set of distinct gestures apart, such as a push, a swipe and a zoom, as long as they are performed in the same area and roughly the same way they were trained.

How accurate is Wi-Fi gesture recognition?

In a fixed lab setup with a small, well-separated gesture set, reported accuracy is often above 90 percent. That number assumes the same room, the same position and often the same person used for training. When the environment, the distance or the user changes, accuracy usually drops, sometimes sharply.

Why does a CSI gesture system need to be trained for each room?

Because the signature of a gesture is shaped by the room, not just the hand. Walls, furniture and the exact geometry of the link all mould the multipath. A model trained in one room learns those surroundings too, so moving it to a new space, or even a new corner of the same room, usually means collecting fresh training data.

Is CSI gesture recognition better than a camera or a radar?

It is different, not simply better. CSI needs no camera, works in the dark and can use hardware you may already own, which is good for privacy in your own space. But a depth camera or a mmWave radar gives far cleaner spatial detail. CSI suits coarse, trained gestures rather than precise free-form tracking.

SGP Lab — written by the team that designs and builds SGP hardware in Europe. We test every example on our own boards before publishing.

SGP devices are sold only at our official store.

sgpstore.net ↗