v0.8.8-esp32
ruvnet/RuViewv0.8.8-esp32Aug 31, 2026by ruvnet
Upgrading?
Release notes summary
This firmware release improves reliability and correctness for ESP32 nodes by ensuring consistent occupancy reporting and stabilizing the temporal clock on the ESP32-C6.
Key Highlights
- Explicit 8 Hz stable sample stream for C6 temporal sensing
- Occupancy consistency fix: zero count when presence is false
- Separation of raw CSI and DSP clocks
- Improved update diagnostics and safer OTA handling
New Features
- 8 Hz stable sample stream on ESP32-C6
- Occupancy consistency logic
- Enhanced OTA status reporting
Full Release Notes
# RuView ESP32 firmware 0.8.8 Firmware 0.8.8 is a reliability and correctness release for ESP32-S3 and ESP32-C6 RuView nodes. It makes the timing used by signal processing explicit, prevents contradictory occupancy output, and improves update diagnostics. ## What changed ### Empty means zero people Older firmware could report `presence=false` and a nonzero person count in the same edge packet. That was internally contradictory and could contaminate an empty-room calibration. Firmware 0.8.8 clears the count whenever the presence gate is closed. The sensing server repeats the same check when it receives data from older nodes. This is a consistency fix, not proof that the heuristic can count multiple people accurately. See [ADR 346](../adr/ADR-346-fail-closed-edge-occupancy-evidence.md). ### Stable time scale on ESP32-C6 Raw CSI and on-device signal processing now have separate clocks. The C6 keeps raw CSI moving over the network while its Tier 2 filters process a stable 8 Hz sample stream. The S3 retains its 20 Hz DSP default. A phase-preserving sampler keeps callback jitter from shifting those clocks. The result is a correct time base for motion and vital-band features. It does not by itself prove that heartbeat, respiration, gesture, or pose estimates are more accurate. See [ADR 347](../adr/ADR-347-rate-aware-esp32-temporal-sensing.md). ### Better diagnostics and safer updates The one-second controller log now shows both raw callback yield and DSP rate. The OTA status endpoint reports the actual selected application partition size instead of a fixed 900 KB assumption. Firmware upload remains fail closed when the node has no provisioned OTA signing secret. ## Measured hardware validation All results below are physical measurements from 2026-08-31. They are not simulator claims. | Board | Duration | Raw CSI mean | DSP clock | Live coverage | Steady-state transport errors | |-------|---------:|-------------:|----------:|--------------:|------------------------------:| | ESP32-C6 node 4 | 300.64 s | 34.92 pps | 8.00 Hz | 97.62% | 0 | | ESP32-C6 node 7 | 300.70 s | 36.32 pps | 8.00 Hz | 97.40% | 0 | | ESP32-S3 node 1 | 300 s | 28.03 pps | Tier 0 | 100.00% | 0 | The first C6 empty-room qualification observed 61 absent packets with zero nonzero counts. The second C6 was transport-qualified in an occupied room and still needs its own controlled empty-room sequence. Full evidence is recorded in: 1. [C6 timing and transport](../validation/2026-08-31-esp32-c6-rate-aware-sensing.md) 2. [C6 occupancy integrity](../validation/2026-08-31-esp32-c6-occupancy-integrity.md) 3. [Second C6 timing and transport](../validation/2026-08-31-esp32-c6-node7-rate-aware-sensing.md) 4. [S3 transport](../validation/2026-08-31-esp32-s3-rate-aware-transport.md) ## Choose the correct download | Release file | Target | |--------------|--------| | `esp32-csi-node-v0.8.8-s3-8mb-flash-bundle.zip` | ESP32-S3 with 8 MB flash | | `esp32-csi-node-v0.8.8-s3-4mb-flash-bundle.zip` | ESP32-S3 with 4 MB flash | | `esp32-csi-node-v0.8.8-c6-4mb-flash-bundle.zip` | ESP32-C6 using the supported 4 MB partition layout | | `esp32-csi-node-v0.8.8-s3-8mb.bin` | S3 8 MB application only | | `esp32-csi-node-v0.8.8-s3-4mb.bin` | S3 4 MB application only | | `esp32-csi-node-v0.8.8-c6-4mb.bin` | C6 application only | Never mix S3 and C6 images. Confirm the chip and physical flash before writing. ## Install or update For a fresh installation, extract the matching bundle and follow its included `FLASHING.md`. The standard offsets are: | Image | Offset | |-------|-------:| | Bootloader | `0x0000` | | Partition table | `0x8000` | | OTA metadata | `0xf000` | | Application | `0x20000` | For an existing provisioned node: 1. Back up the current application partition. 2. Confirm the exact chip, flash layout, logical node, and serial port. 3. Read `http://DEVICE_IP:8032/ota/status`. 4. Use an application-only serial update at `0x20000` only when the running partition is `ota_0` and the image matches the board. 5. Reboot and confirm version 0.8.8, the preserved node identity, channel, and sensing-server target. 6. Run a five-minute burn-in before returning the node to calibration duty. The full bundle does not contain an NVS image. A four-offset install therefore preserves the existing WiFi and node settings, but operators should still keep a backup before changing firmware. ## What this release does not prove Firmware 0.8.8 does not prove medical-grade vital signs, accurate person counting, identity, dense pose, through-wall video, or room separation. Those claims require synchronized references and leakage-free held-out sequences. The practical next acceptance test is a controlled empty-room capture with at least 30 absent edge packets per updated node, zero absent packets carrying a nonzero count, and zero transport or parser errors. Accuracy evaluation then needs held-out occupied, movement, heartbeat-reference, and adjacent-room sequences. ## Download integrity The attached `SHA256SUMS.txt` is the canonical checksum manifest for the six downloadable firmware files: ```text 7bbb97d26f53b9d9beb420cd4ebf5b3913f51da31e09d4161c0a3245b69ac529 esp32-csi-node-v0.8.8-c6-4mb.bin 26fce74fada920be9e8c46c4d0d3046be4a90254200372563873f85b96843ea4 esp32-csi-node-v0.8.8-s3-4mb.bin baf6f86dc593156a19f837c56a1a1b235123d2edacf5f582363302097e3ae8f2 esp32-csi-node-v0.8.8-s3-8mb.bin cbcaa1564d9fe71f0eda1d6a1fad0e63fe5cb54a8cc5cf97b24f82af786d55d5 esp32-csi-node-v0.8.8-c6-4mb-flash-bundle.zip 3862ece2fa83c0ec4bb62b718c85d4f613e0221667577b3daf164e46a39d1c8b esp32-csi-node-v0.8.8-s3-4mb-flash-bundle.zip 132d3d4fe3f23625eccbf6b4c2f404b31cb94f754bb2638d98cf2d0f65f8de46 esp32-csi-node-v0.8.8-s3-8mb-flash-bundle.zip ```
Related Repositories
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode,DeepSeek Harness and more. Only official website: ccswitch.io
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
The design vocabulary for your coding agent. Steer with polish and bolder, review with critique and audit, catch AI slop before it ships.
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one