ruview @ v0.4.3-esp32
integrity
- size
- 25.1 MiB
- downloaded
- last checked
release notes
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/s², but normal activity produces 2-5 rad/s².
This release fixes the problem by:
- Raising the default threshold from 2.0 to 15.0 rad/s²
- 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
download
unix · zip
curl -fL -o v0.4.3-esp32.zip https://ratatoskr.space/pkg/ruview/v0.4.3-esp32.zip
printf '%s %s\n' '43e9e92bfc1ec066d224cd69f6e57769d75ca0d2f2c45228a8a3197235f0e26b' 'v0.4.3-esp32.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/ruview/v0.4.3-esp32.zip"
$out = "v0.4.3-esp32.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "43e9e92bfc1ec066d224cd69f6e57769d75ca0d2f2c45228a8a3197235f0e26b") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v0.4.3-esp32.tar.gz https://ratatoskr.space/pkg/ruview/v0.4.3-esp32.tar.gz
printf '%s %s\n' 'ae05734ce996fea80b404b733e368015863dbf180eefe78501c017802aaf76f5' 'v0.4.3-esp32.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/ruview/v0.4.3-esp32.tar.gz"
$out = "v0.4.3-esp32.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "ae05734ce996fea80b404b733e368015863dbf180eefe78501c017802aaf76f5") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o v0.4.3-esp32.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.4.3-esp32.zip
printf '%s %s\n' '43e9e92bfc1ec066d224cd69f6e57769d75ca0d2f2c45228a8a3197235f0e26b' 'v0.4.3-esp32.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.4.3-esp32.zip"
$out = "v0.4.3-esp32.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "43e9e92bfc1ec066d224cd69f6e57769d75ca0d2f2c45228a8a3197235f0e26b") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v0.4.3-esp32.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.4.3-esp32.tar.gz
printf '%s %s\n' 'ae05734ce996fea80b404b733e368015863dbf180eefe78501c017802aaf76f5' 'v0.4.3-esp32.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.4.3-esp32.tar.gz"
$out = "v0.4.3-esp32.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "ae05734ce996fea80b404b733e368015863dbf180eefe78501c017802aaf76f5") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v0.4.3-esp32.zip | zip | 25.1 MiB |
blake3-24 4f30087ca184a29a24d0348758a67a64ebbdf48ea58dd458
sha256 43e9e92bfc1ec066d224cd69f6e57769d75ca0d2f2c45228a8a3197235f0e26b
sha1 21433fb855ddf7a54085937cab0797839886782b
|
| v0.4.3-esp32.tar.gz | tar.gz | 24.1 MiB |
blake3-24 0773e8eaa55c04ddb5275d74190c370af8120897072b5425
sha256 ae05734ce996fea80b404b733e368015863dbf180eefe78501c017802aaf76f5
sha1 7d8cf0b36f991c7c633902842fc1fb6f8429803d
|
install
bazel
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v0.4.3-esp32.tar.gz"],
integrity = "sha256-rgVzTOmW/qgLQEtzPjaAFYY9vxgO7+eFAcAXgCqvdvU=",
strip_prefix = "ruview-v0.4.3-esp32",
)
zig
.url = "https://ratatoskr.space/pkg/ruview/v0.4.3-esp32.tar.gz",
install via yggdrasil mesh
bazel
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.4.3-esp32.tar.gz"],
integrity = "sha256-rgVzTOmW/qgLQEtzPjaAFYY9vxgO7+eFAcAXgCqvdvU=",
strip_prefix = "ruview-v0.4.3-esp32",
)
zig
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v0.4.3-esp32.tar.gz",