Set up and run RuView mmWave / FMCW radar sensing — ESP32-C6 + Seeed MR60BHA2 (60 GHz, heart rate / breathing rate / presence) and HLK-LD2410 (24 GHz, presence + distance), plus mmWave↔WiFi-CSI sensor fusion (48-byte fused vitals, MR60BHA2/LD2410 auto-detect, v0.5.0+). Use when the deployment includes a millimetre-wave radar alongside or instead of WiFi CSI.
87%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
High
Do not use without reviewing
The radio side-channel: 60 GHz and 24 GHz FMCW radar, standalone and fused with WiFi CSI.
| Device | Port | Band | Provides | ~Cost |
|---|---|---|---|---|
| ESP32-C6 + Seeed MR60BHA2 | COM4 (typical) | 60 GHz FMCW | Heart rate, breathing rate, presence | ~$15 |
| HLK-LD2410 | — | 24 GHz FMCW | Presence + distance (gated zones) | ~$3 |
The C6 is RISC-V and can run the radar pipeline; it is not a WiFi-CSI node (use an ESP32-S3 for CSI). LD2410 is a UART module wired to a host or to the C6.
The ESP32 firmware auto-detects an attached MR60BHA2 or LD2410 and emits 48-byte fused vitals records (CSI-derived + radar-derived, reconciled). Binary is ~12 KB larger than the CSI-only build. Build/flash as in ruview-hardware-setup (Windows: Python-subprocess; ESP-IDF v5.4 ≠ Git Bash). Recommended stable firmware tag: v0.5.0-esp32 or later — see docs/user-guide.md release table.
# Provision the radar/fusion node (same provision.py; the firmware probes for the radar on boot)
python firmware/esp32-csi-node/provision.py --port COM8 --ssid "WiFi" --password "secret" --target-ip 192.168.1.20
# Confirm: serial monitor should report which radar was detected and start emitting fused vitalspython scripts/mmwave_fusion_bridge.py # bridges radar HR/BR + CSI → unified spatial model
node scripts/passive-radar.js # passive-radar style processing for explorationThe 3D point-cloud demo fuses camera depth (MiDaS) + WiFi CSI + mmWave radar → unified spatial model (~22 ms pipeline, 19K+ pts/frame; ADR-094). Drive it with scripts/mmwave_fusion_bridge.py plus the point-cloud front-end.
examples/medical/README.md.| Situation | Prefer |
|---|---|
| Contactless vitals, subject stationary, line of sight | MR60BHA2 (cleaner HR/BR than CSI alone) |
| Cheap, robust presence / occupancy in a defined zone | LD2410 (or LD2410 + CSI) |
| Through-wall presence / activity, no line of sight | WiFi CSI (mmWave doesn't penetrate walls) |
| Pose / skeletons | WiFi CSI (WiFlow) — mmWave doesn't do this here |
| Highest-confidence vitals | Fusion — 48-byte fused vitals reconcile CSI + radar |
| Volumetric 3D | Fusion — camera depth + CSI + mmWave point cloud |
README.md, docs/user-guide.md (release table — v0.5.0 mmWave fusion notes, binary sizes)scripts/mmwave_fusion_bridge.py, scripts/passive-radar.jsexamples/medical/README.md (60 GHz mmWave vitals)ruview-verifyruvnet/RuView
1ec7f3a
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.