Welcome to RuView
Relevant source files
The following files were used as context for generating this wiki page:
RuView (WiFi-DensePose) provides a camera-free radio frequency (RF) perception system. The platform transforms Channel State Information (CSI) from standard WiFi signals into human sensing data, including presence, vitals, and pose estimation.
Everything runs at the edge without requiring cloud connectivity, cameras, or internet access. The system measures how people perturb radio waves to determine their location, activity, and health status.
Sources: plugins/ruview/agents/ruview-onboarding-guide.md:21-30, CLAUDE.md:3-5
Repository Architecture
The project organizes code into functional boundaries across multiple languages and hardware targets. The primary implementation resides in a Rust workspace.
| Path | Purpose |
|---|---|
v2/crates/ | Production Rust crates and tests. |
archive/v1/ | Python reference implementation and deterministic proof. |
firmware/ | ESP32-S3 and ESP32-C6 firmware code. |
harness/ruview/ | CLI, Model Context Protocol (MCP) server, and contributor tools. |
ui/mobile/ | React Native / Expo mobile application. |
plugins/ruview/ | Claude Code and Codex plugin assets. |
Sources: CLAUDE.md:3-8, CLAUDE.md:31-38, harness/ruview/src/tools.js:23-28
System Component Flow
The following diagram illustrates how CSI data travels from hardware to the user interface.
The sensing server ingests UDP packets from ESP32 nodes, applies digital signal processing, and serves updates via WebSockets.
Sources: plugins/ruview/skills/ruview-quickstart/SKILL.md:30-36, ui/mobile/README.md:195-210, v2/crates/wifi-densepose-desktop/README.md:12-25
Hardware Compatibility
RuView requires specific hardware capabilities to process the CSI DSP pipeline.
- Supported Chips: ESP32-S3 (4MB or 8MB) and ESP32-C6.
- Unsupported Chips: ESP32-C3 and the original ESP32 (single-core limitations).
- Node Requirements: A single node provides limited spatial resolution. Developers should use two or more nodes for accurate results.
Sources: plugins/ruview/skills/ruview-quickstart/SKILL.md:46-49, plugins/ruview/agents/ruview-onboarding-guide.md:26-27
Getting Started
The project provides three onboarding tiers based on available hardware.
Setup Tiers
- Tier 0 (Docker): Pull
ruvnet/wifi-densepose:latestto view the dashboard with simulated CSI data. - Tier 1 (Source): Build the Rust workspace in
v2/and run the deterministic Python proof inarchive/v1/data/proof/verify.py. - Tier 2 (Hardware): Flash firmware to an ESP32-S3 and run the
wifi-densepose-sensing-serverto ingest live streams.
Sources: plugins/ruview/skills/ruview-quickstart/SKILL.md:10-40, plugins/ruview/agents/ruview-onboarding-guide.md:11-15
Sensing Applications
The platform supports various applications through modular crates and scripts.
- Presence & Occupancy: Detects people through walls and tracks entry/exit events.
- Vital Signs: Monitors breathing rate (6–30 BPM) and heart rate (40–120 BPM) contactlessly.
- Pose Estimation: Generates 1 skeletons via the WiFlow architecture.
- Mass Casualty Assessment (MAT): Identifies survivors in disaster scenarios using specialized sensing logic.
- Environment Mapping: Fingerprints rooms to detect moved objects or structural changes.
Sources: ui/mobile/README.md:12-18, plugins/ruview/skills/ruview-quickstart/SKILL.md:58-65
Operating Rules
To ensure technical accuracy and system integrity, all contributors must follow these non-negotiable rules:
- Accuracy Labeling: You must tag accuracy statements as
MEASURED(with a reproducer),CLAIMED, orSYNTHETIC. - Camera Disclaimer: Never present WiFi sensing as camera-grade technology.
- Hardware Validation: A successful build or simulator is not evidence of hardware functionality; you must provide captured boot or runtime logs from real silicon.
- Security: Validate all inputs at process, network, and hardware boundaries. Never commit credentials or
.envfiles.
Sources: CLAUDE.md:13-28, harness/ruview/src/tools.js:14-18
RuView represents an end-to-end toolkit for camera-free perception, scaling from simple Docker demos to complex multistatic mesh networks. By strictly separating measured evidence from claims, the project maintains a reliable trust pipeline for edge-based human sensing.