RepoDaily · 2026-07-08 · Security tool

RuView: Through-Wall WiFi Sensing That Detects People, Breathing, and Falls — No Cameras

#5 Security tool Rust +1,122 ruvnet/RuView Open repository

ESP32 nodes at $9 each extract WiFi Channel State Information to sense presence, vitals, and activity across 6 channels, shipping 21 entities per node into Home Assistant, Apple Home, and Matter bridges.

Repo typeSecurity tool
Best forSmart-home builders, eldercare prototypers, and RF security researchers who need camera-free presence and vital-sign detection through walls using commodity WiFi
Risk levelHigh — Beta-stage package with 40+ Python dependencies and unresolved dual-use privacy considerations
Time to evaluate1–2 days for a single-room prototype with one ESP32 node and a Home Assistant instance

Primary question: Can WiFi CSI from $9 ESP32 nodes deliver reliable enough presence and vital-sign data to replace cameras and wearables in your specific rooms?

88/100

RepoDaily adoption score

RepoDaily rates this as 88/100 (strong) for adoption: evidence, installation path, production risk, differentiation, license clarity, and AI/agent fit are scored from the article sources and adoption notes.

Directional score from RepoDaily sources and adoption notes, not a benchmark.Risk: High
100Evidence quality

5 source(s) across 5 source category/categories, plus a RepoDaily-specific evidence module when available.

100Installability

5 workflow step(s), 5 next-action step(s), and 4 command/install signal(s) were detected.

60Maintenance confidence

Trending momentum is +1,122 stars, with maintenance/release/issue signals counted when present.

80Production readiness

Risk is marked high, with 6 security note(s) and 4 explicit skip condition(s).

100Differentiation

3 opportunity lens item(s), 4 alternative(s), and 4 type-specific section(s) support differentiation.

82License clarity

License source or license wording is present.

84Agent / AI fit

6 AI/agent-related signal(s) were detected in the article text and metadata.

Project overview

RuView converts ordinary WiFi radio waves into a spatial intelligence layer. When people move, breathe, or sit still inside a room, they perturb the WiFi signals bouncing around them in measurable ways. RuView captures these perturbations as Channel State Information (CSI) from low-cost ESP32 sensor nodes — starting at $9 per node — and feeds them into spiking neural networks that adapt to each room in under 30 seconds. The output is not a video feed but a structured stream of occupancy, vital-sign, and activity states that smart-home platforms can act on directly.

The platform ships 21 entities per node: 11 raw signal channels and 10 inferred semantic states — someone-sleeping, possible-distress, room-active, elderly-inactivity-anomaly, meeting-in-progress, bathroom-occupied, fall-risk-elevated, bed-exit, no-movement, and multi-room-transition. Three Home Assistant Blueprints are included as starters. RuView integrates with Home Assistant through an HA-DISCO MQTT publisher activated by a single --mqtt flag, with Apple Home and HomePod via a discoverable HAP-1.1 bridge, and with Google Home and Amazon Alexa through the same HA bridge or a Matter endpoint documented in ADR-122.

On the security side, the dual-use nature of through-wall WiFi sensing is the central consideration. The same physics that lets RuView detect a fallen elderly person also means that anyone with ESP32 hardware and this firmware can detect human presence through walls without cameras or consent. The repository topics include wifi-hacking and wifi-security alongside home-automation and spatial-intelligence, signaling that the author frames the project at the intersection of defensive monitoring and RF awareness. Every measurement is cryptographically attested through the Cognitum Seed module, and the system runs entirely on edge hardware with no cloud or internet dependency.

Under the hood, the Python package is declared as wifi-densepose version 1.2.0 under an MIT license, requiring Python 3.9 or newer. Its dependency chain pulls in PyTorch 2.1+, SciPy 1.11+, scapy 2.5+, OpenCV, FastAPI, and scikit-learn, among more than 40 other runtime dependencies. The CHANGELOG reveals a parallel Node.js surface: @ruvnet/ruview@0.2.0 and @ruvnet/rvagent@0.2.0 expose MCP-compatible CLI tools including ruview_claim_check, verify, and calibrate, with the agent's stdio time-to-first-response recently optimized from 242 ms to 189 ms.

Problem it solves

  • Camera-based monitoring fails in darkness, raises privacy concerns in bedrooms and bathrooms, and cannot see through walls or closed doors
  • Wearable health devices require user compliance — they must be worn, charged, and synced, which breaks down for elderly users and overnight monitoring scenarios
  • PIR motion sensors detect coarse movement but cannot distinguish a sleeping person from an empty room, measure breathing rate, or classify a fall event
  • mmWave radar presence sensors offer some of these capabilities but cost significantly more than $9 ESP32 nodes and lack the four-ecosystem smart-home integrations RuView ships out of the box

How it works

  1. Deploy ESP32 nodes: Place low-cost ESP32 sensor nodes (from $9 each) in the rooms to monitor. Each node captures WiFi Channel State Information from the ambient radio environment, including signals from your own router and neighbors' routers.
  2. Mesh scanning: Nodes perform multi-frequency scanning across 6 WiFi channels, treating nearby routers as passive radar illuminators. When a person moves, breathes, or sits still, their body perturbs the CSI in characteristic patterns.
  3. Neural inference: The CSI streams feed into spiking neural networks running on the Cognitum Seed module, which adapts to each room's RF fingerprint in under 30 seconds. The networks classify temporal CSI patterns into occupancy counts, vital signs, and activity categories.
  4. Entity exposure: Each node publishes 21 entities (11 raw signals + 10 inferred semantic states) to the connected smart-home platform via MQTT, HAP-1.1, or Matter. Three Home Assistant Blueprints provide starter automations for fall detection, sleep monitoring, and room-level presence.
  5. Cryptographic attestation: Every measurement is cryptographically attested through the Cognitum Seed, providing tamper-evidence for the inferred states without requiring a cloud round-trip.

Product demo and interface preview

WiFi DensePose — Live pose detection with setup guide
WiFi DensePose — Live pose detection interface — The README screenshot shows how RuView presents live pose detection results derived from WiFi CSI rather than a camera feed. README.md image

Architecture Read: From RF to Semantic State

  • Physical layer: ESP32 nodes at $9 each capture CSI from ambient WiFi across 6 channels, using neighbor routers as illuminators — no dedicated transmitter required
  • Inference layer: Spiking neural networks on the Cognitum Seed adapt to each room in under 30 seconds, classifying temporal CSI patterns into 10 semantic states including fall-risk-elevated and possible-distress
  • Integration layer: 21 entities per node exposed via MQTT (--mqtt flag for Home Assistant HA-DISCO), HAP-1.1 bridge for Apple Home/HomePod, or Matter endpoint per ADR-122
  • Persistence layer: Cognitum Seed handles persistent memory, cryptographic attestation, and AI integration — no cloud or internet connection required
  • Python package: wifi-densepose v1.2.0 (MIT), requires Python ≥3.9, declares dependencies on torch≥2.1.0, scipy≥1.11.0, scapy≥2.5.0, fastapi≥0.104.0, and 35+ other packages in pyproject.toml
  • Node.js surface: @ruvnet/ruview@0.2.0 and @ruvnet/rvagent@0.2.0 provide MCP CLI tools (ruview_claim_check, verify, calibrate); rvagent stdio TTFR measured at 189 ms after optimization

Integration Surface: Smart-Home Platform Mapping

Home Assistant connects through the HA-DISCO MQTT publisher enabled with a single --mqtt flag, receiving 21 entities per node and 3 starter Blueprints. The integration is documented in docs/integrations/home-assistant.md and formalized in ADR-115.

Apple Home and HomePod pair via a discoverable HAP-1.1 bridge — Siri can voice-query presence and vitals per room with zero custom skills, as documented in docs/user-guide-apple-homepod.md.

Google Home and Amazon Alexa connect through the same HA bridge or a Matter endpoint (ADR-122). Both assistants can query room-level presence and vital signs without any custom skill development, making the four-ecosystem coverage achievable from a single deployment.

Try-It Path

  • Acquire 1–2 ESP32 development boards (compatible with the RuView firmware, approximately $9 each) and position them in the target room
  • The Python package is declared as wifi-densepose v1.2.0 in pyproject.toml, requiring Python ≥3.9; its 40+ dependency list includes torch, scipy, scapy, and fastapi
  • For MCP agent use, @ruvnet/ruview@0.2.0 and @ruvnet/rvagent@0.2.0 are available — cold npx now installs exactly 1 package (down from 4 packages / 620 kB / 71 files per CHANGELOG)
  • Connect to Home Assistant by launching RuView with the --mqtt flag, then verify that all 21 entities appear and the someone-sleeping state transitions correctly

Maintenance Risk

  • pyproject.toml declares Development Status :: 4 - Beta, indicating the package is not yet production-stable
  • The dependency surface is heavy: 40+ Python runtime dependencies including PyTorch, OpenCV, scapy, Celery, and asyncpg complicate reproducible builds and containerization
  • The CHANGELOG describes significant refactoring in the unreleased section (ADR-263/264/265), noting the npm surface was broken in the published 0.1.0 tarball and only recently fixed — rvagent's dist/index.cjs require target was verified broken
  • The project spans Python (wifi-densepose), Rust (repo language), and Node.js (@ruvnet/ruview, @ruvnet/rvagent), requiring contributors to navigate three toolchains
  • pyproject.toml URLs point to github.com/ruvnet/wifi-densepose rather than the actual repo at github.com/ruvnet/RuView — a metadata inconsistency that may confuse new contributors

Who should pay attention?

Good fit if

  • Smart-home builders who want camera-free presence and vital-sign monitoring in Home Assistant, Apple Home, Google Home, or Alexa via Matter
  • Eldercare and assisted-living prototypers who need fall detection, sleep monitoring, and inactivity anomaly detection without requiring users to wear or charge a device
  • Security researchers studying WiFi CSI as a dual-use sensing modality and its implications for RF privacy and defensive awareness
  • IoT developers with ESP32 experience who want to add spatial intelligence to existing sensor meshes using spiking neural networks

Skip for now if

  • Production deployments requiring medical-grade vital-sign accuracy — the package is marked Beta (Development Status :: 4) in pyproject.toml
  • Teams that cannot tolerate a 40+ dependency Python stack or a three-language toolchain across Python, Rust, and Node.js
  • Environments where through-wall human sensing without subject consent is a legal or ethical concern
  • Users who need camera-equivalent visual detail — RuView produces semantic states (someone-sleeping, room-active), not images

Risks and cautions

High

Beta-stage project with a heavy dependency surface, multi-language toolchain, broken npm history, and inherent dual-use privacy concerns around through-wall WiFi sensing.

  • Development Status :: 4 - Beta per pyproject.toml — explicitly not production-stable
  • 40+ Python runtime dependencies including PyTorch and OpenCV create a large deployment and reproducibility footprint
  • The npm surface was broken in the published 0.1.0 tarball (dist/index.cjs require target verified broken) and only fixed in the unreleased 0.2.0 per CHANGELOG
  • Through-wall human sensing without cameras raises consent and legal questions that vary by jurisdiction and use case
  • pyproject.toml repository URLs point to github.com/ruvnet/wifi-densepose rather than the canonical github.com/ruvnet/RuView
  • Repository topics include wifi-hacking and wifi-security, signaling awareness of the dual-use nature of through-wall WiFi sensing
  • Every measurement is cryptographically attested through the Cognitum Seed module, providing tamper-evidence without a cloud round-trip
  • The rvagent Streamable HTTP transport enforces a 1 MiB body cap (returns HTTP 413) with a port-aware localhost origin gate per ADR-264
  • The claim-check tool fails closed on empty input (CLI exit 2 + empty_text tool error), preventing silent pass-through of unvalidated claims
  • No cloud or internet connection is required — all inference runs on edge hardware, reducing the network attack surface
  • Multi-frequency mesh scanning processes RF signals from neighbors' routers as illuminators, meaning RuView operates on signals from devices it does not own or control

Alternatives to compare

ApproachWhen to useTrade-off
IP security cameras (e.g., Reolink, Amcrest)
You need visual identification, recording, and forensic evidence$30–200 per camera plus NVR/storage
mmWave human presence sensors (e.g., HLK-LD2410)
You need fast, localized presence detection in a single room without WiFi CSI complexity$5–15 per module
Home Assistant native presence detection
You only need basic occupancy from existing Bluetooth, PIR, or device-tracker sensorsFree
Wearable health monitors (e.g., Apple Watch, Fitbit)
You need medical-grade heart-rate tracking and the user can reliably wear and charge the device$100–400 per device

What this trend reveals

Eldercare fall detection without cameras or wearables

RuView's 10 inferred semantic states include fall-risk-elevated, elderly-inactivity-anomaly, and possible-distress — precisely the signals that eldercare facilities need but cannot capture with cameras in private rooms. The $9-per-node hardware cost and edge-only processing make this economically viable at facility scale, and the Home Assistant Blueprint starters lower the automation barrier.

Deploy two ESP32 nodes in a single room, connect to Home Assistant via the --mqtt flag, and benchmark the fall-risk-elevated entity against staged ground-truth events over a 7-day period.

RF privacy auditing as a defensive service

The same CSI extraction that powers RuView's presence detection can demonstrate how exposed a building's WiFi environment is to external sensing. The wifi-hacking and wifi-security topics suggest the author already sees this dual-use framing, and the $9 node cost makes wide-area RF privacy surveys tractable.

Use RuView's ESP32 nodes to detect presence from outside a target building, document the detection range and false-positive rate, and compare against the facility's expectation of RF privacy.

Camera-free smart-home automation for privacy-sensitive rooms

RuView's Matter endpoint and HAP-1.1 bridge trigger automations in all four major ecosystems without any camera feed. Users who reject cameras in bedrooms or bathrooms can still get room-level presence, sleep-stage classification, and apnea screening from a $9 node.

Deploy one ESP32 node in a bedroom, pair via Matter to Apple Home, and verify that the someone-sleeping and no-movement entities trigger expected automations across a 48-hour window.

Best next action

Prototype a single-room presence deployment in Home Assistant

The fastest validation path uses one ESP32 node, a Home Assistant instance, and the --mqtt flag to confirm that RuView produces usable semantic entities in a real room — before scaling to a multi-node mesh.

  1. Acquire 1–2 ESP32 development boards compatible with the RuView firmware (approximately $9 each)
  2. Flash the RuView firmware and position the node in a target room with known occupancy patterns
  3. Set up the wifi-densepose v1.2.0 Python environment (Python ≥3.9) on the machine running the inference pipeline
  4. Connect to Home Assistant by launching RuView with the --mqtt flag and verify that all 21 entities appear
  5. Log the someone-sleeping and room-active entity transitions against known occupancy over 24–48 hours

RepoDaily verdict

RuView delivers a genuinely novel capability — camera-free, through-wall presence and vital-sign sensing from $9 ESP32 nodes — but it is a Beta-stage project with a 40+ dependency stack, a three-language toolchain, and unresolved dual-use privacy questions. Smart-home builders and eldercare prototypers should treat it as a high-potential research platform, not a drop-in production system.

Sources