Monitoring an elderly relative for falls usually means a camera, and cameras bring privacy rules, fail in the dark, and cannot see through a wall. A wearable helps, except it is often left on the bedside table. RuView takes a different route, turning ordinary WiFi signal reflections into spatial awareness without producing a single frame of video. A few dollars of ESP32 hardware can detect presence, measure breathing and heart rate, and catch a fall in darkness or through a wall. The radio to neural network pipeline is open source.
What Is RuView
RuView, also written as π RuView, is a WiFi sensing platform that turns ordinary radio signals into real time spatial intelligence, vital sign monitoring, and presence detection without any camera or video feed. The repository was created on 2025-06-07, still had commits on 2026-11-10, and shows roughly 103,569 stars and 13,417 forks under MIT. It addresses the hard parts of camera based systems, namely GDPR and HIPAA imaging obligations, the need for line of sight, failure in darkness or bad weather, deployment cost, and the reliance on wearables for elder care. Using 8 to 9 dollar ESP32 nodes to read radio reflections, it supports through wall sensing, pitch dark operation, presence and counting, breathing and heart rate, sub two second fall alerts, and environmental RF fingerprints.
Features
- No camera. Channel State Information only, with no images produced, which removes most imaging compliance pressure.
- Through walls and in darkness. Radio reflections do not need line of sight, so night and partitioned rooms still work.
- People and vitals. Presence detection, counting, entry and exit tracking, and breathing and heart rate measurement.
- Fall alerts. The project quotes under two seconds of alert latency, which suits elder care.
- Cheap edge hardware. An ESP32-S3 costs about 9 dollars, and an ESP32-C6 with Wi-Fi 6 runs 6 to 10 dollars. No cloud needed.
- Complete RF pipeline. An ESP32 mesh collects CSI on channels 1, 6, and 11 in time division, fuses 168 virtual subcarriers, then Hampel, SpotFi, Fresnel, and BVP processing feeds the RuVector backbone for 17 keypoints.
- Lightweight models. A spiking network adapts locally in under 30 seconds, a 128 dimension CSI embedding quantizes to 8KB at 4 bit, and MicroLoRA uses 1,792 parameters per room.
For storing and querying long time series, see What Is Prometheus and How to Use It. On the agent side, there is What Is agent-desktop and How to Use It.
How to Use
- Get an ESP32 node. Firmware lives in
firmware/esp32-csi-node/, compiled for S3 or C6. - Place nodes as a mesh covering the area, using channels 1, 6, and 11 in time division.
- Install Rust 1.85 or newer, build the host side with the Cargo workspace, and find
wifi-densepose-ruvectoron crates.io. - On the Python side use
pip install ruview, and for tooling use the npm package@ruvnet/ruview. - Run a collection self check to confirm the 168 virtual subcarriers and fusion data reach the pipeline.
- Load the pretrained 128 dimension CSI embedding from HuggingFace and let it adapt to the room for 30 seconds.
- For agents run
npx @ruvnet/ruview mcp start, or bridge to Home Assistant over MQTT and Matter.
Treat a rearranged room as a new environment and adapt again after moving furniture.
Supported Platforms
| Item | Detail |
|---|---|
| Main language | Rust 1.85 or newer, Cargo workspace |
| Secondary | Python PyO3 wheels, TypeScript and JavaScript |
| Edge hardware | ESP32-S3, ESP32-C6 Wi-Fi 6 |
| Desktop | Tauri v2, three.js, pipeline compiled to WASM |
| Agent access | MCP, SENSE-BRIDGE rvagent |
| License | MIT |
The documentation includes 205 ADRs and a catalog of 105 cog modules, which is more useful than the README when tracking down a specific stage. Desktop visuals run locally, and the WASM build keeps the heavy pipeline in the browser.
Pricing
It is MIT licensed. Firmware, host programs, model weights, and docs are all available with no license fee or subscription. Hardware is the main expense, at 6 to 10 dollars per node plus an ordinary WiFi router to start. Pretrained embeddings are a download, and local adaptation takes very little compute, so no GPU rental is required. Bridging to Home Assistant or your own platform over MQTT and Matter adds nothing to the bill.
Use Cases
- Elder care. Fall alerts and vital sign monitoring without a device to wear or a picture to store.
- Privacy sensitive rooms. Bedrooms, patient rooms, and changing areas where a camera would be unacceptable.
- Smart home presence. Covering the blind spot a motion sensor has when someone sits still.
- Building and retail analysis. Counting people, tracking entries and exits, and recording RF fingerprints.
- Edge AI research. An 8KB quantized model and a WASM pipeline are a good low compute testbed.
- Agent tooling. Feed spatial state into Claude Code or Codex through MCP.
The maintainers withdrew an earlier 100 percent accuracy claim and now publish 82.3 percent on a held out temporal triplet set. Verify it yourself before any safety critical use.
How It Works
ruvnet leads the project under MIT, with a plugin ecosystem spanning health, security, building, retail, and industrial modules. The most unusual choice is the anti marketing benchmark. Withdrawing an old perfect accuracy claim and publishing the real state of held out results and model weights earned more trust than a bigger number would have. Rust, Python, and TypeScript entry points plus an MCP toolchain let people from different backgrounds pick it up. The 205 ADRs spell out design tradeoffs, which matters when you fork the code and need to understand why the pipeline was cut the way it was. New modules can be added without touching the sensing core.
Conclusion
If you want spatial awareness without a camera, RuView offers a reproducible path from a few dollars of hardware to a neural network. Buy one node, work through CSI collection and room adaptation, then decide whether a full mesh is worth it. Its published benchmarks are more honest than most, and 82.3 percent is also a reminder that this remains a research system. Start small.
Project https://github.com/ruvnet/RuView Docs https://ruvnet.github.io/RuView/