RuView

RuView

WiFi signal sensing platform

Description

Want to know whether an elderly relative has fallen, whether a room is occupied, or whether breathing and heartbeat are normal during sleep — without cameras watching everywhere? RuView takes a different route—it turns the WiFi radio waves already filling your home into a sensing system, no cameras and no wearables, reading how bodies disturb those waves. Moving, breathing, even sitting still leaves a measurable trace in the signal.

It captures WiFi Channel State Information (CSI) from cheap ESP32 sensors and pairs it with a pretrained model as small as 8KB to tell who's there, what they're doing and how they're doing. It works through walls and in the dark, estimates body pose and detects falls. It plugs natively into Home Assistant, Apple Home, Google Home and Alexa, running entirely on-device with no cloud or internet. For anyone building smart-home, elder-care or unobtrusive monitoring, this is a private and cheap way to do it. Written in Rust, MIT open source.

Features



Camera-free sensing: no cameras and no wearables — just WiFi radio waves detect whether anyone is in a room, how many, and what they're doing.

Vital-sign monitoring: measure breathing rate and heart rate through walls and in the dark, contactlessly and continuously while sleeping or sitting still.

Pose & activity recognition: estimate 17 body keypoints from WiFi signals and recognize walking, sitting, gestures and falls.

Through-wall sensing: Fresnel-zone geometry plus multipath modeling sense targets up to ~5 m away, through walls, when the signal allows.

Smart-home integration: native Home Assistant, Apple Home, Google Home and Alexa support — 21 entities per node, so you can ask by voice whether a room is occupied.

Cheap edge hardware: a $9 ESP32 board as the sensor runs inference locally — no cloud, no internet, no subscription.

Local self-learning: spiking neural networks learn a new environment in under 30 seconds; the quantized model is just 8KB and runs in microseconds on a Raspberry Pi.