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.4.1-esp32
vault / ruview / v0.4.1-esp32

ruview @ v0.4.1-esp32

integrity

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

release notes

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

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

SHA256 Checksums

See SHA256SUMS.txt attached to this release.

download

unix · zip
curl -fL -o v0.4.1-esp32.zip https://ratatoskr.space/pkg/ruview/v0.4.1-esp32.zip
                    printf '%s  %s\n' '23922b9cbcd781d6a30eb52796a9e3ee7a681d3f18e52012fc57cc6090ec8800' 'v0.4.1-esp32.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/ruview/v0.4.1-esp32.zip"
$out = "v0.4.1-esp32.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "23922b9cbcd781d6a30eb52796a9e3ee7a681d3f18e52012fc57cc6090ec8800") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v0.4.1-esp32.tar.gz https://ratatoskr.space/pkg/ruview/v0.4.1-esp32.tar.gz
                    printf '%s  %s\n' '69006bf7e9918a95a907dd011f57aaf8cabae3dfaa155fc684cbd3d5adaadfd3' 'v0.4.1-esp32.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/ruview/v0.4.1-esp32.tar.gz"
$out = "v0.4.1-esp32.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "69006bf7e9918a95a907dd011f57aaf8cabae3dfaa155fc684cbd3d5adaadfd3") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o v0.4.1-esp32.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.4.1-esp32.zip
                    printf '%s  %s\n' '23922b9cbcd781d6a30eb52796a9e3ee7a681d3f18e52012fc57cc6090ec8800' 'v0.4.1-esp32.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.4.1-esp32.zip"
$out = "v0.4.1-esp32.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "23922b9cbcd781d6a30eb52796a9e3ee7a681d3f18e52012fc57cc6090ec8800") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v0.4.1-esp32.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.4.1-esp32.tar.gz
                    printf '%s  %s\n' '69006bf7e9918a95a907dd011f57aaf8cabae3dfaa155fc684cbd3d5adaadfd3' 'v0.4.1-esp32.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.4.1-esp32.tar.gz"
$out = "v0.4.1-esp32.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "69006bf7e9918a95a907dd011f57aaf8cabae3dfaa155fc684cbd3d5adaadfd3") { throw "sha256 mismatch" }
artifact format size hashes
v0.4.1-esp32.zip zip 34.9 MiB
blake3-24 8c427725e1454176fca65cf290a7b0c1dad0561ac96ee026
sha256 23922b9cbcd781d6a30eb52796a9e3ee7a681d3f18e52012fc57cc6090ec8800
sha1 c5b66807fcb56f4a43aa6aba7ae7806a2fa7815f
v0.4.1-esp32.tar.gz tar.gz 32.8 MiB
blake3-24 2cf6bad5ffb21e32ec74d963cd21eff5ee6016b7d2633c2b
sha256 69006bf7e9918a95a907dd011f57aaf8cabae3dfaa155fc684cbd3d5adaadfd3
sha1 7ec0a121ecfc70a8a5564d3cf29219ef5dd6112d

install

bazel
http_archive(
    name = "ruview",
    urls = ["https://ratatoskr.space/pkg/ruview/v0.4.1-esp32.tar.gz"],
    integrity = "sha256-aQBr9+mRipWpB90BH1eq+Mq649+qFV/GhMvT1a2q39M=",
    strip_prefix = "ruview-v0.4.1-esp32",
)
zig
.url = "https://ratatoskr.space/pkg/ruview/v0.4.1-esp32.tar.gz",
install via yggdrasil mesh
bazel
http_archive(
    name = "ruview",
    urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.4.1-esp32.tar.gz"],
    integrity = "sha256-aQBr9+mRipWpB90BH1eq+Mq649+qFV/GhMvT1a2q39M=",
    strip_prefix = "ruview-v0.4.1-esp32",
)
zig
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.4.1-esp32.tar.gz",
← v0.4.2-esp32v0.4.0-desktop →