WiFi motion detection uses changes in a wireless channel to estimate whether something in a room has moved. A person walking between a transmitter and receiver alters reflections, attenuation, and multipath patterns. Hardware that exposes Channel State Information (CSI) can capture those fine-grained changes across WiFi subcarriers and turn them into a motion score or a simple moving-versus-still classification.
The important limitation is that most ordinary home routers do not expose useful CSI to an application. A router can provide network traffic and coarse signal-strength data, but practical sensing experiments normally need compatible firmware and a separate receiver such as an ESP32-class board, a supported research network interface, or a commercial system designed for WiFi sensing. This page focuses on movement detection, not static occupancy, identity recognition, or full-body pose reconstruction.
WiFi motion detection is not the same as presence or pose sensing
Motion detection asks whether the radio channel changed in a way that resembles movement during a time window. Presence detection asks whether a person is likely in the room, including when that person is sitting still. Human detection may add a model that separates people from pets, fans, doors, or other disturbances. Motion capture and pose estimation attempt a much richer interpretation of body movement. These tasks share signal-processing ideas, but they need different labels, models, hardware layouts, and validation standards.
Keeping that boundary clear prevents keyword and product confusion. A sensitive WiFi motion sensor may react quickly to walking but fail when someone remains still. A presence system may use breathing-scale features or multiple links to detect a stationary person. A pose system needs far more spatial information than a basic two-node movement detector.
- Use motion detection for moving-versus-still events and room activity triggers.
- Use presence detection when stationary occupancy matters.
- Use human-detection models only after testing pets, fans, doors, and multiple people.
- Treat pose or motion-capture claims as a separate, higher-complexity task.
How CSI turns WiFi movement into a detectable signal
A transmitter sends packets while a compatible receiver records CSI for each packet. CSI describes the amplitude and phase behavior of multiple subcarriers rather than only one overall RSSI number. When a person moves, reflected paths change at slightly different times and frequencies. The resulting time series can be cleaned, normalized, filtered, and summarized into features such as variance, Doppler-like change, correlation loss, or spectral energy.
A simple system compares those features with an empty-room baseline and raises a motion event when the change crosses a threshold for long enough. A machine-learning system can learn a decision boundary from labeled sessions. Neither method is automatically portable: moving the router, changing antennas, closing a door, or rearranging furniture can shift the baseline enough to require recalibration.
- Packet source: a stable transmitter or access point that sends packets at a useful rate.
- CSI receiver: compatible ESP32 firmware or a supported research network interface.
- Preprocessing: remove corrupt packets, normalize links, and suppress obvious interference.
- Decision layer: threshold, classifier, or time-window model with an uncertainty state.
- Validation layer: empty room, controlled motion, changed room, and repeat sessions.
PIR vs mmWave vs WiFi CSI motion sensors
No sensing method wins every room. PIR is inexpensive and efficient, but it mainly reacts to changes in infrared energy and often misses a person who stops moving. mmWave radar can detect small movement and provide range information, but it adds dedicated radio hardware and can see through some lightweight materials in ways that complicate placement. WiFi CSI can reuse wireless infrastructure or low-cost boards and can cover paths that are not in direct line of sight, but calibration and environmental drift are harder to manage.
For a dependable automation, combine the sensor with the requirement. A hallway light may only need PIR. A desk-occupancy system may benefit from mmWave. A research project about radio-channel behavior may justify CSI. A WiFi movement detector should not replace a certified alarm, medical monitor, or emergency sensor without application-specific testing.
| Method | Best at | Typical weakness | Hardware path |
|---|---|---|---|
| PIR | Walking motion and simple triggers | Often misses stationary people | Dedicated low-cost PIR sensor |
| mmWave radar | Small motion, presence, and range zones | Placement, reflections, and extra radio hardware | Dedicated mmWave module |
| WiFi CSI | Channel-change research and camera-free activity signals | Calibration drift and limited CSI access | Compatible router/link plus ESP32 or research NIC |
| RSSI only | Coarse link change experiments | Too little detail for robust fine motion | Common WiFi hardware with signal-strength access |
A practical ESP32 CSI motion-detection setup
A basic experiment needs one stable packet source and at least one CSI-capable receiver. Espressif's ESP-CSI examples are the clearest first-party starting point for compatible ESP32 hardware. Community projects such as ESPectre show how an ESP32-S3-class board can become a room-motion input for a larger automation workflow. Follow the exact board, SDK, firmware, antenna, and packet-mode requirements documented by the project instead of assuming every ESP32 or every router supports the same CSI fields.
Place the transmitter and receiver so ordinary movement crosses or disturbs several reflected paths. Keep them fixed during a test series. Record timestamps, board model, firmware version, packet rate, channel, bandwidth, antenna orientation, room layout, and distance. Those details are not paperwork: they explain why two apparently identical demos can produce different results.
- Start with one room, one transmitter, one receiver, and one movement class.
- Capture an empty-room baseline before collecting movement samples.
- Use fixed device positions and stable power supplies.
- Keep training sessions separate from later validation sessions.
- Expose an unknown or recalibration state instead of forcing every sample into motion or no motion.
Calibration and validation workflow that catches false positives
First record the room while empty and while common non-human disturbances occur: a fan runs, a door opens, curtains move, HVAC starts, or a pet enters. Then collect controlled walks at different speeds and distances. Repeat the test on another day without retraining. Finally move one object or rotate one device and measure how quickly accuracy degrades. A system that only works in the collection session is demonstrating sensitivity, not general reliability.
Track more than overall accuracy. Record false alarms per hour, missed movements, detection delay, time needed to recalibrate, and behavior during packet loss. Use room-separated, day-separated, or layout-separated validation when the intended deployment can change. The user interface should show when the baseline is stale or the signal quality is too poor for a confident result.
- Baseline test: empty room and normal background activity.
- Positive test: several people, paths, speeds, and distances.
- Confounder test: fans, doors, pets, moving curtains, and appliances.
- Drift test: different day, moved furniture, changed channel, or rotated antenna.
- Failure-state test: missing packets, disconnected node, and stale calibration.
Privacy, through-wall behavior, and responsible limits
WiFi motion detection is camera-free, but it can still reveal occupancy, routines, and room activity. Inform people when sensing is active, collect only the features needed for the purpose, prefer local processing, and set retention limits. Do not describe a system as anonymous merely because it does not record video. Radio measurements can become sensitive when linked to a household, workplace, care room, or schedule.
Signals can pass through some walls, but useful detection depends on material, distance, frequency, geometry, antennas, interference, and the available model. A successful through-wall research demo is not proof that an arbitrary home router can track people throughout a building. Treat safety, health, security, and emergency uses as high-risk applications that require independent validation and often a second sensing modality.
- State what is sensed, where processing runs, and how long data is retained.
- Do not claim identity, medical status, or exact location from a basic motion score.
- Make uncertainty and recalibration visible to the operator.
- Use certified or independently validated sensors for consequential decisions.
Official and implementation references
WiFi Motion Detection FAQ
Can a normal WiFi router detect motion by itself?
Usually not in a form you can use directly. Most consumer routers do not expose the fine-grained CSI stream needed by sensing software. A compatible receiver, firmware, research NIC, or commercial sensing feature is normally required.
Can WiFi motion detection see through walls?
Radio changes can sometimes be measured across walls, but results depend on material, geometry, distance, frequency, interference, and calibration. It is not universal X-ray vision and should be tested in the exact environment.
Can it detect someone who is sitting still?
A basic motion detector may stop responding when a person becomes still. Presence systems may use breathing-scale features, multiple links, or another sensor. See the WiFi presence detection guide for that separate intent.
Is ESP32 enough for WiFi CSI motion detection?
Compatible ESP32 hardware can collect CSI for experiments, but the board alone is not a finished sensor. Firmware, packet source, antenna layout, preprocessing, thresholds, labels, and validation determine performance.
Can I connect WiFi motion sensing to Home Assistant?
Community projects can publish a motion state into an automation system, but verify the project's supported board and integration path. Keep an unknown state for packet loss or stale calibration instead of treating every failure as no motion.
Is WiFi motion detection better than PIR?
Not universally. PIR is inexpensive and reliable for many walking-motion triggers. CSI is useful when you are researching radio-channel changes or need a camera-free signal across non-line-of-sight paths, but it usually needs more calibration.