yggvault ratatoskr-space connected via regular web
Color theme
also available via yggdrasil mesh http://[203:b338:2a84:a18f:986:47ae:1a4:d8d3]/pkg/ruview/v0.8.1-esp32
vault / ruview / v0.8.1-esp32

ruview @ v0.8.1-esp32

integrity

size
61.9 MiB
downloaded
last checked
source https://github.com/ruvnet/RuView · available · github

release notes

ESP32-S3 CSI node firmware — two field-reported sensing bugs fixed and validated on real hardware (ESP32-S3 QFN56 rev v0.2, 8MB flash / 2MB PSRAM).

Fixes

Hardware validation (boot log, rev v0.2 silicon)

disp_hal: SH8601 panel init OK (368x448)            # write-only panel "succeeds" on bare board
disp_hal: FT3168 not found (ret=ESP_FAIL)           # touch readback fails — no real panel
disp_task: ... running headless so CSI captures (#1000)
csi_collector: CSI filter upgraded to MGMT+DATA (no display, RuView#893)
mmwave: No mmWave sensor detected (CSI-only mode)   # no false detect on empty UART

CSI streamed cleanly (frames len 128→384/256), 600 callbacks / 22s, zero crash or watchdog.

Flashing

ESP32-S3, esptool offsets:

esptool --chip esp32s3 -p <PORT> -b 460800 write_flash \
  0x0 bootloader.bin  0x8000 partition-table.bin \
  0xf000 ota_data_initial.bin  0x20000 esp32-csi-node-s3-8mb.bin

4MB (no-display) boards: use esp32-csi-node-s3-4mb.bin @ 0x20000 and partition-table-4mb.bin @ 0x8000.

SHA-256

0a66190d…36822  esp32-csi-node-s3-8mb.bin
b818e358…f6e7c2  esp32-csi-node-s3-4mb.bin
dda279df…d8a216  bootloader.bin
67222c25…4d322b  partition-table.bin
4c2cc4ff…0d81f0  partition-table-4mb.bin
7d2c7ac4…82c62f  ota_data_initial.bin

App version 0.7.0 · ESP-IDF v5.4 · built from main @ 65e29ef47. Binaries are the exact bytes flashed during hardware validation.

download

unix · zip
curl -fL -o v0.8.1-esp32.zip https://ratatoskr.space/pkg/ruview/v0.8.1-esp32.zip
                    printf '%s  %s\n' '2065960beb3327838859d172b7e5eee6443339391f47b3459887683476810ffb' 'v0.8.1-esp32.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/ruview/v0.8.1-esp32.zip"
$out = "v0.8.1-esp32.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "2065960beb3327838859d172b7e5eee6443339391f47b3459887683476810ffb") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v0.8.1-esp32.tar.gz https://ratatoskr.space/pkg/ruview/v0.8.1-esp32.tar.gz
                    printf '%s  %s\n' '4adc2ca509b5a6ba7c810448755e9b2923e0bedc1f8664c7b575d72a10888e30' 'v0.8.1-esp32.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/ruview/v0.8.1-esp32.tar.gz"
$out = "v0.8.1-esp32.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "4adc2ca509b5a6ba7c810448755e9b2923e0bedc1f8664c7b575d72a10888e30") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o v0.8.1-esp32.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.8.1-esp32.zip
                    printf '%s  %s\n' '2065960beb3327838859d172b7e5eee6443339391f47b3459887683476810ffb' 'v0.8.1-esp32.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.8.1-esp32.zip"
$out = "v0.8.1-esp32.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "2065960beb3327838859d172b7e5eee6443339391f47b3459887683476810ffb") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v0.8.1-esp32.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.8.1-esp32.tar.gz
                    printf '%s  %s\n' '4adc2ca509b5a6ba7c810448755e9b2923e0bedc1f8664c7b575d72a10888e30' 'v0.8.1-esp32.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.8.1-esp32.tar.gz"
$out = "v0.8.1-esp32.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "4adc2ca509b5a6ba7c810448755e9b2923e0bedc1f8664c7b575d72a10888e30") { throw "sha256 mismatch" }
artifact format size hashes
v0.8.1-esp32.zip zip 61.9 MiB
blake3-24 25f321bc61f33c385a445bd67def6f8167827a9778d61aaf
sha256 2065960beb3327838859d172b7e5eee6443339391f47b3459887683476810ffb
sha1 79520869751fe55b413ecc88363b3e1683976180
v0.8.1-esp32.tar.gz tar.gz 60.1 MiB
blake3-24 879ab43f836da40fca22c3eaee2b9a0ca236289d17af8b6c
sha256 4adc2ca509b5a6ba7c810448755e9b2923e0bedc1f8664c7b575d72a10888e30
sha1 565075915853db88b065ff9b257c070a9326acf8

install

bazel
http_archive(
    name = "ruview",
    urls = ["https://ratatoskr.space/pkg/ruview/v0.8.1-esp32.tar.gz"],
    integrity = "sha256-StwspQm1prp8gQRIdV6bKSPgvtwfhmTHtXXXKhCIjjA=",
    strip_prefix = "ruview-v0.8.1-esp32",
)
zig
.url = "https://ratatoskr.space/pkg/ruview/v0.8.1-esp32.tar.gz",
install via yggdrasil mesh
bazel
http_archive(
    name = "ruview",
    urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.8.1-esp32.tar.gz"],
    integrity = "sha256-StwspQm1prp8gQRIdV6bKSPgvtwfhmTHtXXXKhCIjjA=",
    strip_prefix = "ruview-v0.8.1-esp32",
)
zig
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.8.1-esp32.tar.gz",
← v0.8.2-esp32v1770 →