github ruvnet/RuView v0.5.3-esp32
ESP32-S3 CSI Firmware v0.5.3 — Cross-Node Fusion + DynamicMinCut

5 hours ago

What's Changed

Cross-Node Mesh Fusion

  • RSSI-weighted feature fusion across multiple ESP32 nodes — closer node gets higher weight
  • DynamicMinCut person separation via ruvector_mincut on subcarrier temporal correlation graph
  • RSSI-based skeleton position tracking — walk between nodes and the skeleton follows
  • Motion-responsive skeleton — arm swing (0-80px), leg kick (0-50px), walking bob, head nod all driven by real CSI data

Per-Node State (ADR-068)

  • Each ESP32 gets independent classification, vitals, person count
  • Stale node eviction after 60s inactivity
  • Multi-node aggregation: max(per_node_counts)

RuVector Signal Processing (Phases 1-3)

  • Subcarrier importance weighting via mincut partition
  • Temporal EMA keypoint smoothing with coherence gating
  • Skeleton kinematic constraints (Jakobsen relaxation, 12-bone COCO-17 tree)
  • Compressed pose history for trajectory matching

Smoothing & Quality

  • Client-side lerp interpolation (alpha=0.15) for fluid skeleton
  • Server EMA (alpha=0.15) for temporal blending
  • Dampened procedural animation, recalibrated for real ESP32 data
  • Vital sign filtering: larger median window (31), faster EMA, looser jump filter

Hardware Benchmarks (2 ESP32 nodes, 30s)

Metric v0.5.2 (baseline) v0.5.3 (fusion) Improvement
Keypoint jitter std=4.5px std=1.3px -72%
Feature noise 109.4 77.6 -29%
Feature stability std=154.1 std=105.4 -32%
Confidence 0.643 0.686 +7%
Presence accuracy 93.4% 94.6% +1.3pp

Bug Fixes

  • RSSI byte offset (#332), stack overflow, stale node leak, unsafe pointer removed
  • Person count: sum→max aggregation, recalibrated thresholds
  • Firmware CI: IDF v5.4, xxd→od

Binaries

File Flash Size Description
esp32-csi-node.bin 8MB Main firmware
esp32-csi-node-4mb.bin 4MB For 4MB flash boards
bootloader.bin Bootloader
partition-table.bin 8MB Partition table
partition-table-4mb.bin 4MB Partition table (4MB)
ota_data_initial.bin OTA data

Full Changelog: v0.5.2-esp32...v0.5.3-esp32

Don't miss a new RuView release

NewReleases is sending notifications on new releases.