Agent skill

RuView mmWave Radar Setup

by ruvnet in ruvnet/RuView

Sets up and runs 60 GHz and 24 GHz mmWave radar sensing on ESP32 boards in RuView, alone or fused with WiFi CSI.

MITAuto-check: notesDevelopment

Install RuView mmWave Radar Setup

skills CLI
$ npx skills add ruvnet/RuView --skill ruview-mmwave -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ruvnet/RuView ruview-mmwave --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ruvnet/RuView.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/ruview/skills/ruview-mmwave .claude/skills/ruview-mmwave && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ruview-mmwave
GitHub stars
97k
Token cost
~907 tokens
SKILL.md length
330 words
Files
1
Skills in repo
24
Repo updated
First seen
Licence
MIT

At a glance

Sets up and runs 60 GHz and 24 GHz mmWave radar sensing on ESP32 boards in RuView, alone or fused with WiFi CSI.

  • Works in 4 steps: Firmware with mmWave fusion (v0.5.0+) → mmWave ↔ WiFi-CSI fusion bridge (host… → Standalone radar use → …
  • Setting up a 60 GHz or 24 GHz radar sensor with an ESP32 board
  • SKILL.md covers Hardware, 1. Firmware with mmWave fusion…, 2. mmWave ↔ WiFi-CSI fusion… and 3. Standalone radar use, plus 2 more sections
  • Calls python and node

What it does

The skill covers two radar options. A Seeed MR60BHA2 on an ESP32-C6 works at 60 GHz and reports heart rate, breathing rate and presence, while an HLK-LD2410 works at 24 GHz and gives presence and distance in gated zones. The C6 can run the radar pipeline but is not a WiFi-CSI node, so an ESP32-S3 is needed for CSI, and the LD2410 is a UART module wired to a host or to the C6.

From firmware version 0.5.0 the ESP32 firmware detects an attached MR60BHA2 or LD2410 by itself and emits 48-byte fused vitals records that reconcile CSI-derived and radar-derived readings, at about 12 KB more binary size than a CSI-only build. Provisioning uses firmware/esp32-csi-node/provision.py, and building follows the ruview-hardware-setup skill. On the host, scripts/mmwave_fusion_bridge.py joins radar heart and breathing rates with CSI into one spatial model, and scripts/passive-radar.js does passive-radar style processing.

A comparison guide says when each sensor fits: the MR60BHA2 for contactless vitals on a near-stationary subject in line of sight, the LD2410 for cheap presence in a defined zone, and either one alongside CSI for more confidence. The excerpt is cut off partway through that table.

When your agent uses it

  • Setting up a 60 GHz or 24 GHz radar sensor with an ESP32 board
  • Fusing radar readings with WiFi CSI sensing
  • Choosing between a vitals radar and a presence radar for a deployment
  • Provisioning ESP32 firmware that auto-detects an attached radar

Example prompts

  • “Set up the MR60BHA2 radar on my ESP32-C6 and confirm the firmware detects it.”
  • “Run the mmWave fusion bridge so radar heart rate and breathing rate join the CSI data.”
  • “Should I use the LD2410 or the MR60BHA2 for room occupancy?”

Requirements

  • An ESP32-C6 with a Seeed MR60BHA2, or an HLK-LD2410 module
  • An ESP32-S3 node if WiFi CSI sensing is also needed
  • Python for provisioning and the fusion bridge
  • Pre-approved tools (allowed-tools): Bash, Read, Write, Edit, Glob, Grep

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Firmware with mmWave fusion (v0.5.0+)
  2. mmWave ↔ WiFi-CSI fusion bridge (host side)
  3. Standalone radar use
  4. When to use mmWave vs. WiFi CSI

What it can do on your machine

Read from SKILL.md and the folder at commit 0ef6b96. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Write
    • Edit
    • Glob
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python
    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

RuView mmWave Radar Setup loads about 907 tokens when it runs. Until then it costs about 94 tokens; SKILL.md has 330 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~94
When it runs · the whole SKILL.md, loaded when a task matches
~907

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Write, Edit, Glob, Grep

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ruvnet/RuView at commit 0ef6b96, republished under its MIT licence (© ruvnet). 330 words, ~907 tokens.

Download SKILL.mdSave it as .claude/skills/ruview-mmwave/SKILL.md (or your agent's skills folder).
name
ruview-mmwave
description
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.
allowed-tools
Bash, Read, Write, Edit, Glob, Grep

RuView mmWave / FMCW Radar

The radio side-channel: 60 GHz and 24 GHz FMCW radar, standalone and fused with WiFi CSI.

Hardware

DevicePortBandProvides~Cost
ESP32-C6 + Seeed MR60BHA2COM4 (typical)60 GHz FMCWHeart rate, breathing rate, presence~$15
HLK-LD2410—24 GHz FMCWPresence + 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.

1. Firmware with mmWave fusion (v0.5.0+)

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.

bash
# 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 vitals

2. mmWave ↔ WiFi-CSI fusion bridge (host side)

bash
python scripts/mmwave_fusion_bridge.py            # bridges radar HR/BR + CSI → unified spatial model
node scripts/passive-radar.js                     # passive-radar style processing for exploration

The 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.

3. Standalone radar use

  • MR60BHA2 (60 GHz) — best for contactless vitals on a (near-)stationary subject: blood pressure proxy, heart rate, breathing rate; $15 hardware, no wearable. See examples/medical/README.md.
  • LD2410 (24 GHz) — best for cheap presence + coarse distance / gated zones; complements CSI presence (PIR-style fusion) for higher confidence.

4. When to use mmWave vs. WiFi CSI

SituationPrefer
Contactless vitals, subject stationary, line of sightMR60BHA2 (cleaner HR/BR than CSI alone)
Cheap, robust presence / occupancy in a defined zoneLD2410 (or LD2410 + CSI)
Through-wall presence / activity, no line of sightWiFi CSI (mmWave doesn't penetrate walls)
Pose / skeletonsWiFi CSI (WiFlow) — mmWave doesn't do this here
Highest-confidence vitalsFusion — 48-byte fused vitals reconcile CSI + radar
Volumetric 3DFusion — camera depth + CSI + mmWave point cloud

Reference

  • Hardware tables: README.md, docs/user-guide.md (release table — v0.5.0 mmWave fusion notes, binary sizes)
  • scripts/mmwave_fusion_bridge.py, scripts/passive-radar.js
  • examples/medical/README.md (60 GHz mmWave vitals)
  • ADR-094 (point-cloud GitHub Pages deployment)
  • Validate firmware changes with the QEMU helpers and ruview-verify

© ruvnet, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/ruview/skills/ruview-mmwave of ruvnet/RuView.

Open the folder on GitHubat commit 0ef6b96

Compare with similar skills

RuView mmWave Radar Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

RuView mmWave Radar Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
RuView mmWave Radar Setup this skillruvnet/RuView97k—~907Automated safety check: NotesMIT
Vibepulseniclasvestlund-YT/vibepulse208—~1.6kAutomated safety check: PassMIT
Esp32 Firmware Engineeralxv2016/folloup-sticky1151 repos~3.8kAutomated safety check: PassGPL-3.0
Embedded DebugFastLED/FastLED7.5k—~1.4kAutomated safety check: PassMIT
Openscad MechanicalBlueAndi/Pixelix443—~1.8kAutomated safety check: PassMIT
Auto EmbeddedDunCanYounG-1/MICU-auto-embedded253—~1.6kAutomated safety check: PassCC-BY-NC-4.0

Similar skills

  • Vibepulse

    niclasvestlund-YT/vibepulse

    A skill your agent uses for VibePulse panel questions, permission behavior, setup, status, or doctor diagnostics for the optional local Codex bridge.

    208 GitHub stars~1.6k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Esp32 Firmware Engineer

    alxv2016/folloup-sticky

    ESP32 firmware engineering for ESP-IDF projects. An agent skill from alxv2016/folloup-sticky.

    115 GitHub starsUsed in 1 repo~3.8k tokens
    DevelopmentAuto-check passed
  • Embedded Debug

    FastLED/FastLED

    Firmware crash analysis, stack trace decoder, and register dump interpreter for ESP32/ARM/AVR platforms.

    7.5k GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Openscad Mechanical

    BlueAndi/Pixelix

    Create and edit OpenSCAD (.scad) files for 3D-printable mechanical parts and housings.

    443 GitHub stars~1.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Auto Embedded

    DunCanYounG-1/MICU-auto-embedded

    全平台嵌入式 AI 开发框架(对标 Trellis):把 RIPER-5 五阶段协议 + 四文件记忆 + 分层架构门禁 + Scout/Builder/Verifier 多 Agent + 24 个工具调用技能(build/flash/debug/serial/can/modbus/visa/static/memory/rtos/scons),做成『装进工程、项目级 hook…

    253 GitHub stars~1.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Esp32 Log Triage

    FastLED/FastLED

    Parse and classify ESP32 serial log output to identify FastLED-related errors, RMT/I2S/SPI driver faults, timing violations, RTOS issues, and crash signatures.

    7.5k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed

More from ruvnet/RuView

All 24 skills in this repo
  • Reference for RuView's research-grade WiFi sensing features: multistatic fusion, cross-viewpoint geometry, persistent field models, RF tomography, intention signals and mesh security.

    97k GitHub stars~1.2k tokensUpdated today
    Auto-check: notes
  • Runs RuView's WiFi sensing applications: presence, vital signs, activity and fall detection, pose estimation, sleep monitoring and environment mapping.

    97k GitHub stars~1.1k tokensUpdated today
    Auto-check: notes
  • Covers the RuView `wifi-densepose` command line binary, its Axum REST API and the WebAssembly builds for browsers and ESP32, for embedding or scripting RuView.

    97k GitHub stars~1.2k tokensUpdated today
    Auto-check: notes
  • Tunes a deployed RuView WiFi-sensing system without changing code: firmware sdkconfig variants, NVS provisioning over serial, channel and MAC filtering, edge processing tiers and mesh slotting.

    97k GitHub stars~1.7k tokensUpdated today
    Auto-check: notes
  • Drives a web browser through the agent-browser CLI, using compact accessibility snapshots with element refs in place of the full DOM to keep context small.

    97k GitHub starsUsed in 4 repos~1.3k tokens
    Auto-check passed
  • Brings a RuView CSI sensing node online by building ESP32-S3 or ESP32-C6 firmware, flashing the board, provisioning WiFi and checking the serial output.

    97k GitHub stars~1.8k tokensUpdated today
    Auto-check: notes

Works with

Categories

Questions about RuView mmWave Radar Setup

What does RuView mmWave Radar Setup do?

Sets up and runs 60 GHz and 24 GHz mmWave radar sensing on ESP32 boards in RuView, alone or fused with WiFi CSI. The skill covers two radar options. A Seeed MR60BHA2 on an ESP32-C6 works at 60 GHz and reports heart rate, breathing rate and presence, while an HLK-LD2410 works at 24 GHz and gives presence and distance in gated zones.

When should I use RuView mmWave Radar Setup?

RuView mmWave Radar Setup fits situations like: setting up a 60 GHz or 24 GHz radar sensor with an ESP32 board; fusing radar readings with WiFi CSI sensing; choosing between a vitals radar and a presence radar for a deployment; provisioning ESP32 firmware that auto-detects an attached radar.

How do I install RuView mmWave Radar Setup in Claude Code?

Run `npx skills add ruvnet/RuView --skill ruview-mmwave -a claude-code`. Or copy the skill folder (plugins/ruview/skills/ruview-mmwave in ruvnet/RuView) into .claude/skills/ruview-mmwave in your project. Claude Code loads it when a task matches its description.

How do I install RuView mmWave Radar Setup in Codex?

Run `npx skills add ruvnet/RuView --skill ruview-mmwave -a codex`. Or copy the skill folder (plugins/ruview/skills/ruview-mmwave in ruvnet/RuView) into .agents/skills/ruview-mmwave in your project. Codex loads it when a task matches its description.

Can I use RuView mmWave Radar Setup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ruvnet/RuView --skill ruview-mmwave -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ruview-mmwave, .gemini/skills/ruview-mmwave, .github/skills/ruview-mmwave and .opencode/skills/ruview-mmwave in your project.

What does RuView mmWave Radar Setup need to run?

Going by SKILL.md and its folder, RuView mmWave Radar Setup needs the command-line tools its instructions call (python and node). Our summary lists: An ESP32-C6 with a Seeed MR60BHA2, or an HLK-LD2410 module; An ESP32-S3 node if WiFi CSI sensing is also needed; Python for provisioning and the fusion bridge. Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, Glob, Grep.

Does RuView mmWave Radar Setup access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is RuView mmWave Radar Setup safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does RuView mmWave Radar Setup use?

RuView mmWave Radar Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does RuView mmWave Radar Setup use?

About 907 tokens (SKILL.md is roughly 3.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to RuView mmWave Radar Setup?

Skills that share tags, products or a category with RuView mmWave Radar Setup: Vibepulse (niclasvestlund-YT/vibepulse, 208 stars), Esp32 Firmware Engineer (alxv2016/folloup-sticky, 115 stars), Embedded Debug (FastLED/FastLED, 7.5k stars) and Openscad Mechanical (BlueAndi/Pixelix, 443 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains RuView mmWave Radar Setup?

ruvnet (a GitHub user) maintains it in ruvnet/RuView, which has 96,741 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 7, 2026.

Source: ruvnet/RuView on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.