Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: ruvnet/RuView

ESP32-S3 CSI Firmware v0.4.3.1 — Watchdog Fix

15 Mar 16:11
@ruvnet ruvnet

Choose a tag to compare

ESP32-S3 CSI Firmware v0.4.3.1 — Watchdog Fix

Patch release for v0.4.3 that fixes a task watchdog crash on Core 1 (#266).

What's Fixed

Task watchdog starvation on Core 1 — The edge DSP task (biquad filters, Welford stats, BPM estimation, multi-person vitals) was CPU-intensive enough to starve the IDLE1 task, triggering the watchdog timer every 5 seconds. The firmware kept running but spammed error logs and could cause instability.

Fix: The DSP task now yields to IDLE after every processed frame (vTaskDelay(1)). At 20 Hz CSI rate this adds ~1 ms per frame — negligible for vitals extraction.

Verified on real ESP32-S3: 0 watchdog triggers in 60 seconds of live WiFi CSI (was every 5 seconds before).

Includes all v0.4.3 fixes

  • Fall detection threshold 2.0 → 15.0 rad/s2 (#263)
  • 3-frame debounce + 5s cooldown for fall alerts
  • 4MB flash support (#265)

Flash Instructions

Same as v0.4.3 — see v0.4.3 release notes for full instructions.

8MB boards:

python -m esptool --chip esp32s3 --port COM7 --baud 460800 \
 write_flash --flash_mode dio --flash_size 8MB --flash_freq 80m \
 0x0 bootloader.bin 0x8000 partition-table.bin \
 0xf000 ota_data_initial.bin 0x20000 esp32-csi-node.bin

4MB boards:

python -m esptool --chip esp32s3 --port COM7 --baud 460800 \
 write_flash --flash_mode dio --flash_size 4MB --flash_freq 80m \
 0x0 bootloader.bin 0x8000 partition-table-4mb.bin \
 0xF000 ota_data_initial.bin 0x20000 esp32-csi-node-4mb.bin
Loading
elric2011, samurai-busido, chib30333, SilentProgrammer-max, Freeak88, and marizhitsdiff-beep reacted with thumbs up emoji tolik518 and nakheel77 reacted with heart emoji
8 people reacted

ESP32-S3 CSI Firmware v0.4.3 — Fall Detection Fix + 4MB Flash

15 Mar 15:53
@ruvnet ruvnet
5b2aacd
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

ESP32-S3 CSI Node Firmware v0.4.3 — Fall Detection Fix + 4MB Flash Support

What's Fixed

False fall detection alerts (#263)

The previous firmware (v0.4.2 and earlier) triggered constant "Fall Detected" alerts during normal walking and movement. The threshold was set to 2.0 rad/s2, but normal activity produces 2-5 rad/s2.

This release fixes the problem by:

  • Raising the default threshold from 2.0 to 15.0 rad/s2
  • Requiring 3 consecutive frames above threshold before alerting
  • Adding a 5-second cooldown between alerts

Verified on real hardware: 0 false alerts in 60s with 1,300+ live WiFi CSI frames. Previous firmware had 7 false alerts in 45s.

Already have v0.4.2? Fix without reflashing:

python provision.py --port COM7 --fall-thresh 15000

What's New

4MB flash support (#265)

ESP32-S3 boards with 4MB flash (e.g. SuperMini 4MB) are now officially supported. Thanks to @sebbu for proving feasibility with a community workaround!

Download Guide

File Flash Size Size
esp32-csi-node.bin 8MB 978 KB
bootloader.bin Both 18 KB
partition-table.bin 8MB 3 KB
ota_data_initial.bin Both 8 KB
esp32-csi-node-4mb.bin 4MB 755 KB
partition-table-4mb.bin 4MB 3 KB

Flash — 8MB boards (most ESP32-S3):

python -m esptool --chip esp32s3 --port COM7 --baud 460800 \
 write_flash --flash_mode dio --flash_size 8MB --flash_freq 80m \
 0x0 bootloader.bin 0x8000 partition-table.bin \
 0xf000 ota_data_initial.bin 0x20000 esp32-csi-node.bin

Flash — 4MB boards (e.g. SuperMini 4MB):

python -m esptool --chip esp32s3 --port COM7 --baud 460800 \
 write_flash --flash_mode dio --flash_size 4MB --flash_freq 80m \
 0x0 bootloader.bin 0x8000 partition-table-4mb.bin \
 0xF000 ota_data_initial.bin 0x20000 esp32-csi-node-4mb.bin

Provision WiFi:

python firmware/esp32-csi-node/provision.py --port COM7 \
 --ssid "YourWiFi" --password "YourPassword" --target-ip 192.168.1.20

CI: All 11 QEMU jobs green

Closes #263, Closes #265

Contributors

sebbu
Loading
samurai-busido reacted with thumbs up emoji chib30333 reacted with laugh emoji tolik518 reacted with heart emoji
3 people reacted

v0.4.2-esp32: Channel Override + MAC Filter (ADR-060)

13 Mar 12:29
@ruvnet ruvnet
d793c1f
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

ESP32-S3 CSI Node Firmware v0.4.2 — Channel Override + MAC Filter (ADR-060)

Boot Proof (COM7, 2026年03月13日)

I (229) app_init: Project name: esp32-csi-node
I (233) app_init: App version: v0.4.2-esp32-dirty
I (238) app_init: Compile time: Mar 13 2026 08:37:29
I (243) app_init: ELF file SHA256: 6fac16e35...
I (260) efuse_init: Chip rev: v0.2
I (291) spi_flash: detected chip: gd
I (294) spi_flash: flash io: dio
I (370) nvs_config: No NVS config found, using compiled defaults
I (370) main: ESP32-S3 CSI Node (ADR-018) — Node ID: 1
I (390) wifi:wifi firmware version: 48ea317a7
I (530) wifi:mode : sta (3c:0f:02:ec:c2:28)
I (530) main: WiFi STA initialized, connecting to SSID: wifi-densepose

Firmware Binary Hashes (SHA-256)

File Size SHA-256
esp32-csi-node.bin 978,064 bytes 4884001780fff646946003a462498daf6f14b70e4f369d444d9eb0f5dbb68877
bootloader.bin 18,880 bytes 7fb987037d737a6f87fe955d4fa8ae1f872f1e4f7998a572910ee669989d84fb
partition-table.bin 3,072 bytes 67222c257c0477501fd4002275638dc4262b34eb68235b8289fb1337054d322b

New Features

Channel Override (--channel)

python provision.py --port COM7 --channel 6

Explicitly set CSI channel (1-14 for 2.4GHz, 36-177 for 5GHz). When omitted, firmware auto-detects channel from connected AP using esp_wifi_sta_get_ap_info().

MAC Address Filter (--filter-mac)

python provision.py --port COM7 --filter-mac AA:BB:CC:DD:EE:FF

Only collect CSI from frames matching the specified source MAC. Reduces noise in multi-AP environments.

Combined Example

python provision.py --port COM7 --ssid "MyWiFi" --password "secret" \
 --target-ip 192.168.1.20 --channel 6 --filter-mac AA:BB:CC:DD:EE:FF

Bug Fixes

  • Channel mismatch — Auto-detect AP channel after WiFi connect instead of hardcoding (#247)
  • MAC filter — Drop non-matching CSI frames before processing (#229)

Capabilities Verified on Hardware

Capability Status
ESP32-S3 boot (QFN56 rev v0.2) PASS
8MB GD flash detection PASS
NVS config load (defaults) PASS
WiFi STA init + connect retry PASS
ADR-018 binary frame format PASS
ADR-060 channel/MAC filter fields PASS
CSI collector init PASS
Edge intelligence defaults (tier 2) PASS
TDM defaults (slot 0, count 1) PASS

Flash Instructions

python -m esptool --chip esp32s3 --port COM7 --baud 460800 write_flash \
 0x0 bootloader.bin \
 0x8000 partition-table.bin \
 0x20000 esp32-csi-node.bin

Provisioning All Options

python provision.py --port COM7 \
 --ssid "MyWiFi" --password "secret" \
 --target-ip 192.168.1.20 --target-port 5005 \
 --node-id 1 \
 --tdm-slot 0 --tdm-total 3 \
 --edge-tier 2 \
 --channel 6 \
 --filter-mac AA:BB:CC:DD:EE:FF

Architecture

  • ADR-060: Channel override and MAC filter design
  • NVS keys: csi_channel (u8), filter_mac (6-byte blob)
  • Auto-channel: esp_wifi_sta_get_ap_info() after WiFi connect
  • MAC filter: memcmp(info->mac, ...) in CSI callback

Built with ESP-IDF v5.4 | Target: ESP32-S3 | Flash: 8MB (53% free)

Loading
Rash200217, austinjs471, kebab-casee, samurai-busido, tolik518, SilentProgrammer-max, triadterm, cybfly816, kopvier, AdamComwoy, and 3 more reacted with thumbs up emoji reumend, nakheel77, and christiangarcia0311 reacted with heart emoji
16 people reacted

ESP32-S3 CSI Firmware v0.4.1 — CSI Build Fix (ADR-057)

12 Mar 16:18
@ruvnet ruvnet

Choose a tag to compare

ESP32-S3 CSI Firmware v0.4.1

Critical bugfix release — fixes CSI not being enabled in pre-built firmware binaries.

What was broken

The committed sdkconfig had CONFIG_ESP_WIFI_CSI_ENABLED disabled (line 1135), causing all builds to produce firmware that crashed at runtime with:

E (6700) wifi:CSI not enabled in menuconfig!

This affected all pre-built binaries from v0.1.0 through v0.4.0-alpha.

Fixes (ADR-057)

  1. sdkconfig — CSI now enabled (CONFIG_ESP_WIFI_CSI_ENABLED=y)
  2. sdkconfig.defaults — Created from template so fresh builds always inherit CSI
  3. csi_collector.c — Added #error compile-time guard to prevent this from recurring
  4. sdkconfig.defaults.template — Fixed NVS encryption default (was causing build failure)

Verified

  • Built with Docker (espressif/idf:v5.2)
  • Flashed to ESP32-S3 (QFN56, rev v0.2, 8MB GD flash)
  • Boot log confirms CSI initialization without errors
  • Binary size: 1,041 KB (49% partition free)

Flashing

python -m esptool --chip esp32s3 --port COM7 --baud 460800 \
 write_flash --flash-mode dio --flash-size 8MB --flash-freq 80m \
 0x0 bootloader.bin \
 0x8000 partition-table.bin \
 0xf000 ota_data_initial.bin \
 0x20000 esp32-csi-node.bin

Provisioning (after flash)

python firmware/esp32-csi-node/provision.py \
 --port COM7 --ssid "YOUR_WIFI" --password "YOUR_PASS" \
 --target-ip YOUR_PC_IP --target-port 5005

Hardware Support

Variant Status
ESP32-S3 (all: DevKitC, N16R8, Super Mini, Zero) Supported
ESP32 (original D0WD) Unsupported (use ADR-018 frame format for interop)
ESP32-C3 Unsupported (RISC-V, needs separate build target)
ESP32-C6 Unsupported (RISC-V, needs separate build target)

Related Issues

  • #241 — Tracking issue for this fix
  • #223 — CSI not enabled in menuconfig (root cause)
  • #238 — 0.4 firmware not working (original ESP32, unsupported variant)
  • #234 — ESP32-C3 support request
  • #210 — Flashing issues with Super Mini
  • #190 — No data received from ESP32-S3

SHA256 Checksums

See SHA256SUMS.txt attached to this release.

Loading
austinjs471, tolik518, samurai-busido, nakheel77, SilentProgrammer-max, and chib30333 reacted with thumbs up emoji
6 people reacted

RuView Desktop v0.4.0

10 Mar 01:58
@ruvnet ruvnet
0b98917
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

RuView Desktop v0.4.0

WiFi-based human pose estimation desktop application.

Downloads

Platform Architecture Download
macOS Apple Silicon (M1/M2/M3) RuView-Desktop-*-macos-arm64.zip
macOS Intel RuView-Desktop-*-macos-x64.zip
Windows x64 RuView-Desktop-*.msi or RuView-Desktop-*.exe

Installation

macOS:

  1. Download the appropriate .zip file for your Mac
  2. Extract the zip file
  3. Move RuView Desktop.app to your Applications folder
  4. Right-click and select "Open" (first time only, to bypass Gatekeeper)

Windows:

  1. Download the .msi installer
  2. Run the installer
  3. Launch RuView Desktop from the Start menu

Requirements

  • macOS 11.0+ (Big Sur or later)
  • Windows 10/11 (64-bit)
Loading
samurai-busido, jerichoad, Rash200217, Amanux7, nirajgiriXD, eferlin, nakheel77, austinjs471, tolik518, Reinhard-Berger, and 4 more reacted with thumbs up emoji
14 people reacted

RuView Desktop v0.4.1

10 Mar 04:06
@github-actions github-actions

Choose a tag to compare

RuView Desktop v0.4.1

WiFi-based human pose estimation desktop application.

Downloads

Platform Architecture Download
macOS Apple Silicon (M1/M2/M3) RuView-Desktop-*-macos-arm64.zip
macOS Intel RuView-Desktop-*-macos-x64.zip
Windows x64 RuView-Desktop-*.msi or RuView-Desktop-*.exe

Installation

macOS:

  1. Download the appropriate .zip file for your Mac
  2. Extract the zip file
  3. Move RuView Desktop.app to your Applications folder
  4. Right-click and select "Open" (first time only, to bypass Gatekeeper)

Windows:

  1. Download the .msi installer
  2. Run the installer
  3. Launch RuView Desktop from the Start menu

Requirements

  • macOS 11.0+ (Big Sur or later)
  • Windows 10/11 (64-bit)

Full Changelog: v0.4.0-desktop...desktop-v0.4.1

Loading
samurai-busido, nakheel77, tolik518, Reinhard-Berger, noaft, christiangarcia0311, and SilentProgrammer-max reacted with thumbs up emoji Reinhard-Berger, chib30333, Gono0, iamsweeting, and arosstale reacted with rocket emoji
11 people reacted

RuView Desktop v0.4.0

10 Mar 15:17
@github-actions github-actions

Choose a tag to compare

RuView Desktop v0.4.0

WiFi-based human pose estimation desktop application.

Downloads

Platform Architecture Download
macOS Apple Silicon (M1/M2/M3) RuView-Desktop-*-macos-arm64.zip
macOS Intel RuView-Desktop-*-macos-x64.zip
Windows x64 RuView-Desktop-*.msi or RuView-Desktop-*.exe

Installation

macOS:

  1. Download the appropriate .zip file for your Mac
  2. Extract the zip file
  3. Move RuView Desktop.app to your Applications folder
  4. Right-click and select "Open" (first time only, to bypass Gatekeeper)

Windows:

  1. Download the .msi installer
  2. Run the installer
  3. Launch RuView Desktop from the Start menu

Requirements

  • macOS 11.0+ (Big Sur or later)
  • Windows 10/11 (64-bit)

Full Changelog: desktop-v0.4.1...desktop-v0.4.0

Loading
samurai-busido, nakheel77, dip16igor, cel636584-commits, SilentProgrammer-max, aniketdhawle13-design, cybfly816, and chib30333 reacted with thumbs up emoji
8 people reacted

RuView Training Datasets v1.0.0

10 Mar 18:09
@ruvnet ruvnet

Choose a tag to compare

Real WiFi CSI datasets for training RuView pose estimation models.

Datasets

Dataset Samples Activities Size
csi-activity 24 brushteeth, cook, getintobed, sleeping, walk, washingdishes 1 MB
csi-vitals 23 Heart rate monitoring (66-90 BPM) 800 KB
csi-respiration 1 Breathing detection 44 KB

Data Source

Converted from Intel CSI Tool .dat files to RuView JSON format.

Format

Each sample is a JSON file with:

  • csi_features: 5600 values (100 frames ×ばつ 56 subcarriers)
  • keypoints: 17 COCO pose keypoints
  • activity: Activity label
  • metadata: RSSI, noise, frame count

Usage

Download and extract to ~/.ruview/datasets/

Loading
samurai-busido, RMartires, nakheel77, Cevnoir, Saidjony, summerlexie2000, tolik518, lumix4554, sipavichcryptos01-crypto, haven-jeon, and 3 more reacted with thumbs up emoji riccardogabellone, sipavichcryptos01-crypto, Reinhard-Berger, and chib30333 reacted with rocket emoji
15 people reacted

RuView Desktop v0.3.0

09 Mar 17:24
@github-actions github-actions

Choose a tag to compare

RuView Desktop v0.3.0

WiFi-based human pose estimation desktop application.

Downloads

Platform Architecture Download
macOS Apple Silicon (M1/M2/M3) RuView-Desktop-*-macos-arm64.zip
macOS Intel RuView-Desktop-*-macos-x64.zip
Windows x64 RuView-Desktop-*.msi or RuView-Desktop-*.exe

Installation

macOS:

  1. Download the appropriate .zip file for your Mac
  2. Extract the zip file
  3. Move RuView Desktop.app to your Applications folder
  4. Right-click and select "Open" (first time only, to bypass Gatekeeper)

Windows:

  1. Download the .msi installer
  2. Run the installer
  3. Launch RuView Desktop from the Start menu

Requirements

  • macOS 11.0+ (Big Sur or later)
  • Windows 10/11 (64-bit)

What's Changed

  • feat: complete Tauri desktop frontend with all pages and enhanced design by @ruvnet in #198
  • Add temporal graph evolution & RuVector integration research by @ruvnet in #197

Full Changelog: v0.3.0-desktop-alpha...desktop-v0.3.0

Contributors

ruvnet
Loading
samurai-busido, Robin-Rhee, lakaassekoo, PACHAKUTlQ, Reinhard-Berger, and SilentProgrammer-max reacted with thumbs up emoji renanbastos93, Saidjony, jonasbalan, vyankateshpotdar, Gemeda4927, tolik518, The-Shakib, Lemniscate-world, PACHAKUTlQ, nakheel77, and 3 more reacted with heart emoji
17 people reacted

RuView Desktop v0.3.0-alpha — Windows (Debug Build)

09 Mar 03:28
@ruvnet ruvnet
c82c4fc
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

RuView Desktop v0.3.0-alpha (Windows x64)

Work in Progress — Debug build for testing. Production builds with bundled assets will follow.

Quick Start

# 1. Clone the repo and install frontend dependencies
git clone https://github.com/ruvnet/RuView.git
cd RuView/rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui
npm install
# 2. Start the frontend dev server
npx vite --host
# 3. Download and run the exe (below)
# The app window opens and loads from localhost:5173

Why a dev server? This is a debug build — it loads the React frontend from localhost:5173 via Vite. Production builds will bundle assets directly into the exe.

Requirements

  • Windows 10 (1803+) or Windows 11
  • WebView2 runtime (pre-installed on modern Windows)
  • Node.js 20+ (for the Vite dev server)

What's Included

Page Description
Dashboard Live stat cards with count-up animation, server panel, quick actions, node grid
Nodes Sortable table with expandable detail rows
Flash 3-step serial firmware flash wizard
OTA Update Single-node and batch over-the-air updates with strategy selection
Edge Modules WASM module upload and lifecycle management (start/stop/unload)
Sensing Server start/stop, scrolling log viewer with pause/clear, activity feed
Mesh View Force-directed canvas topology graph with click-to-inspect
Settings Server configuration (ports, bind address, discovery)

Design Highlights

  • Dark professional theme (ADR-053) with glassmorphism cards
  • Gradient accents on logo, nav indicator, and primary buttons
  • Page transitions with fade-in + scale animations
  • Status dot glows for online/error/warning states
  • Staggered card fade-ins on the dashboard
  • Live status bar polling node count and server state

Build from Source

See the Desktop README for full build instructions.

🤖 Generated with claude-flow

Loading
samurai-busido, tolik518, nakheel77, mr3nz1, asywx, Linegik, SilentProgrammer-max, JeffBasso, phrancky5, chib30333, and 4 more reacted with thumbs up emoji
14 people reacted
1 2 18 19 21

AltStyle によって変換されたページ (->オリジナル) /