Guide · Open source
How to use RuView: WiFi sensing with ESP32 nodes
Updated · written with AI from the project's own documentation and checked against our catalogue data
RuView is an open-source project that uses Channel State Information (CSI) from low-cost ESP32 sensors to detect people in a room, estimate breathing and heart rate, and track activity without video. This guide explains what it senses, what you need before starting, how to clone the repository and run the RuView MetaHarness setup check, and where the project's own README says accuracy is still limited. It is aimed at hobbyists, smart-home builders and developers who are comfortable with a command line.
Quick start
- 1Clone the repository. Run git clone on the ruvnet/RuView GitHub repository to get the source code.
- 2Install Node.js. Install Node.js, which the README requires for its npx commands. Check the documentation for the exact version.
- 3Run the doctor check. Run npx @ruvnet/ruview@0.9.1 doctor to check your local setup.
- 4Get guidance. Use the guidance command with a topic and query to get source-cited help from the project docs.
- 5Connect ESP32 nodes. Attach ESP32 hardware nodes and follow the firmware README to prepare them for live CSI.
- 6Run a live CSI test. Run the esp32 command with --watch or --seconds and --analyze to view and analyze live data.
What RuView does and what it does not do
Every WiFi router fills a space with radio waves. When people move, breathe or sit still, they disturb those waves in measurable ways. RuView reads these disturbances from CSI captured by ESP32 sensors and turns them into presence, occupancy and activity data.
The README lists presence and occupancy, breathing and heart rate, activity recognition, environment mapping and sleep monitoring as things the project senses. Many of these are described as research or synthetic-data results, not proven accuracy.
- Presence and occupancy: detect people, count them, track entries and exits
- Vital signs: breathing and heart rate, contactless, while sleeping or sitting
- Activity recognition: walking, sitting, gestures and falls, according to the README
- Smart-home output: the README says data can feed Home Assistant and Apple Home
What you need before you start
RuView is a clone-and-build project, not an app you download from a store. The README names Node.js as a prerequisite for the npx commands it shows. It does not state an exact Node.js version in the excerpt, so check the linked documentation for that.
For live CSI you need ESP32 hardware nodes. The hardware guide is linked from the README at firmware/esp32-csi-node/README.md.
- Node.js (needed for npx commands; exact version not stated in the README excerpt)
- ESP32 hardware nodes for live CSI, per the README
- Basic comfort with git, a terminal and firmware flashing
Clone the repository and check your setup
Start by cloning the source code from GitHub. Then run the RuView MetaHarness doctor command from the README, which checks your local setup and gives source-cited guidance.
The README pins the harness to a specific package version in its examples. Use the command exactly as written there so your check matches the documented setup.
git clone https://github.com/ruvnet/RuView
npx @ruvnet/ruview@0.9.1 doctorLook up guidance and list connected devices
The MetaHarness can answer setup questions from the project's documentation and list hardware it can see. The README gives these examples, which you can run from inside the cloned folder.
The guidance command takes a topic and a query. The devices command shows what is plugged in.
- guidance: returns source-cited help on a topic, such as model loading
- devices: shows what hardware is connected
npx @ruvnet/ruview@0.9.1 guidance --topic sensing --query "model loading"
npx @ruvnet/ruview@0.9.1 devicesRead live CSI from your ESP32 nodes
With nodes connected, the esp32 subcommand opens a live view. The README describes a watch mode and a timed mode that sends live CSI through the vitals kernel for analysis.
The README also mentions a mmWave radar command, but the excerpt is cut off before its full syntax, so do not assume its options.
- --watch: opens a live view of ESP32 and Realtek RAC1 nodes
- --seconds 45 --analyze: captures live CSI for 45 seconds and analyzes it through the vitals kernel
npx @ruvnet/ruview@0.9.1 esp32 --watch
npx @ruvnet/ruview@0.9.1 esp32 --seconds 45 --analyzeConnect to Home Assistant and treat results as research
The README says RuView can publish to Home Assistant through an MQTT publisher and lists entities per node, along with starter Blueprints. It also lists Apple Home, Google Home, Alexa and Matter routes. Read the linked integration guide for setup details, because the excerpt does not include the steps.
Accuracy is the main caveat. The README presents many results as research or synthetic-data results and says accuracy is still synthetic until real-data validation. Treat outputs as experimental, not as a safety system.
- Home Assistant: docs/integrations/home-assistant.md
- Apple Home: docs/user-guide-apple-homepod.md
- Benchmarks and pose limits: docs/benchmarks/pose-estimation-cog.md
What people use it for
- Detecting whether a room is occupied without installing a camera
- Sending presence states to a Home Assistant dashboard or automation over MQTT
- Experimenting with CSI signal processing as a developer or student
- Exploring contactless breathing and heart-rate sensing as a research project
Frequently asked questions
Is RuView free to use?
RuView is released under the MIT licence, as listed on its repository page. Check the LICENSE file in the repository for the full terms. Your ESP32 hardware is a separate cost.
What hardware do I need for RuView?
The README says live CSI requires ESP32 hardware nodes. The firmware guide at firmware/esp32-csi-node/README.md covers the node side. The excerpt does not list specific board models, so confirm in that guide.
Does RuView need cameras?
No. The project describes sensing from WiFi Channel State Information without video or cameras. It is still a setup-heavy project that needs firmware and developer tools.
Is RuView accurate enough for medical or fall-detection use?
No, not based on the README. It presents vital-sign and fall results as research or synthetic-data results and says accuracy is still synthetic until real-data validation. Do not rely on it for medical or safety-critical monitoring.
How does RuView compare to ESPectre or Espressif ESP-CSI?
The README does not compare RuView with these projects. ESPectre, Espressif ESP-CSI examples and OpenWiFi are listed as comparable projects, so review each one's documentation to judge fit for your use.
Can RuView work with Home Assistant?
The README says RuView works with Home Assistant through an MQTT publisher and ships entities and starter Blueprints. The linked Home Assistant integration guide describes the setup.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
RuView suits hobbyists, smart-home builders with Home Assistant and ESP32 hardware, and developers or researchers exploring WiFi sensing. It is a poor fit for medical monitoring, plug-and-play users or any safety-critical use, since the README itself limits accuracy claims until real-data validation.
Install options & downloads