Implements R20.1's catalogued refinement: when NV conf > 60% AND amplitude > 3 pT, trust NV entirely. Mixed result (5 distances): - 0.5 m: NV=72.00 ✓, smart=72.0 (+0.0 error, NV trusted) ✓ - 1.0 m: NV=144 (harmonic!), smart trusts wrong NV (+72 BPM error) - 1.5 m+: falls back to weighted (NV conf below threshold) Production lesson: the threshold-based policy is correct in spirit but incorrect with simple FFT rate estimator (picks harmonics). Production needs: 1. Harmonic rejection (Pan-Tompkins QRS or autocorrelation) 2. Cross-check vs breathing band 3. Per-frame plausibility window R20.1's 'production needs Pan-Tompkins' note is confirmed BINDING, not nice-to-have, before threshold hand-off can ship. ADR-114 implementation budget refined: +30-50 LOC for Pan-Tompkins. Five-step quantum arc: - R20 vision (tick 37) - Doc 17 bridge (tick 38) - ADR-114 spec (tick 39) - R20.1 working demo (tick 40) - R20.2 threshold refinement (this tick) Production ADR-114 cog now has all known refinements catalogued BEFORE any Rust code is written. Honest mixed result — catalogue-then-revisit pattern works: R20.1 flagged production gap; R20.2 attempted fix; fix surfaced deeper gap (harmonic rejection). Three layers of refinement. |
||
|---|---|---|
| .. | ||
| environment | ||
| happiness-vector | ||
| medical | ||
| research-sota | ||
| sleep | ||
| stress | ||
| three.js | ||
| README.md | ||
| ruview_live.py | ||
README.md
Examples
Real-time sensing applications built on the RuView platform.
Unified Dashboard (start here)
pip install pyserial numpy
python examples/ruview_live.py --csi COM7 --mmwave COM4
The live dashboard auto-detects available sensors and displays fused vitals, environment data, and events in real-time. Works with any combination of sensors.
Individual Examples
| Example | Sensors | What It Does |
|---|---|---|
| ruview_live.py | CSI + mmWave + Light | Unified dashboard: HR, BR, BP, stress, presence, light, RSSI |
| Medical: Blood Pressure | mmWave | Contactless BP estimation from HRV |
| Medical: Vitals Suite | mmWave | 10-in-1: HR, BR, BP, HRV, sleep stages, apnea, cough, snoring, activity, meditation |
| Sleep: Apnea Screener | mmWave | Detects breathing cessation events, computes AHI |
| Stress: HRV Monitor | mmWave | Real-time stress level from heart rate variability |
| Environment: Room Monitor | CSI + mmWave | Occupancy, light, RF fingerprint, activity events |
Hardware
| Port | Device | Cost | What It Provides |
|---|---|---|---|
| COM7 | ESP32-S3 (WiFi CSI) | ~$9 | Presence, motion, breathing, heart rate (through walls) |
| COM4 | ESP32-C6 + Seeed MR60BHA2 | ~$15 | Precise HR/BR, presence, distance, ambient light |
Either sensor works alone. Both together enable fusion (mmWave 80% + CSI 20%).
Quick Start
pip install pyserial numpy
# Unified dashboard (recommended)
python examples/ruview_live.py --csi COM7 --mmwave COM4
# Blood pressure estimation
python examples/medical/bp_estimator.py --port COM4
# Sleep apnea screening (run overnight)
python examples/sleep/apnea_screener.py --port COM4 --duration 28800
# Stress monitoring (workday session)
python examples/stress/hrv_stress_monitor.py --port COM4 --duration 3600
# Room environment monitor
python examples/environment/room_monitor.py --csi-port COM7 --mmwave-port COM4
# CSI only (no mmWave)
python examples/ruview_live.py --csi COM7 --mmwave none