A hobbyist-built system uses a low-cost Wi-Fi chip and Raspberry Pi to detect breathing and movement through walls without cameras or wearable sensors.

A developer using the GitHub handle The Masked Bear has published WiFi Sense, an open-source project that combines an ESP32-S3 with a Raspberry Pi 4 to detect movement and breathing through walls. The system is designed to provide presence sensing without relying on cameras or wearable devices.
The system uses Channel State Information (CSI), radio data that Wi-Fi hardware can capture to analyse changes in a wireless signal caused by reflections. The ESP32-S3 samples the data at 100 times per second and sends it to a Raspberry Pi 4 over a 119-kbit/s wired connection. The Raspberry Pi then processes the signal in two frequency ranges: 1.5 to 9 Hz for body movement and 0.13 to 0.7 Hz for the slower motion associated with breathing. At 2.4 GHz, a Wi-Fi wavelength is about 12.5 cm, allowing small movements caused by breathing to affect the reflected signal. Setting up the system involves flashing the ESP32-S3 firmware, positioning the module relative to the home Wi-Fi router and placing it so the monitored area lies along the signal path. The developer also describes an optional wireless setup using nRF24L01+ radio modules or a 433-MHz CC1101 transceiver for installations where a wired connection to the Raspberry Pi is inconvenient.
According to the project documentation, WiFi Sense can detect breathing rates from 8 to 36 breaths per minute, with a stated accuracy of 0.1 bpm. It also classifies activity into five states: empty, still, subtle, active and vigorous. The developer reports that motion events appear at about 28 dB above the receiver’s noise floor, which they say eliminates the need for manual calibration. The signal-processing pipeline uses around 20% of one Raspberry Pi CPU core, while the optional encrypted wireless connection between nodes achieves a reported 95.1% packet delivery rate.
Unlike camera-based systems, WiFi Sense does not use an image sensor or require direct line of sight to detect movement. By analysing changes in Wi-Fi signals, it can also detect activity through walls. The system therefore provides an alternative approach for applications where camera-free presence and breathing detection are preferred.
The developer notes that the system currently measures aggregate activity along a single radio path rather than identifying individuals or locating them precisely. It cannot reliably count multiple people, determine where someone is in the room, or detect a person who is both completely still and holding their breath. The project documentation describes validation of the breathing-rate measurement against known ground truth, but this should not be treated as broad evidence of performance across different room layouts and building materials. The repository also lists optional sensors such as the BMP280 for temperature and pressure, DHT22 for humidity and MQ135 for gas-based air-quality measurements.
The project demonstrates how commodity wireless hardware and open-source software can be combined for camera-free presence and breathing detection. Its Apache-licensed codebase gives hobbyists and developers a starting point for experimenting with wireless sensing without relying on dedicated cameras or wearable devices.
For more information, click here.





