-
roro9stack v0.11.0
StableCI / build (push) Successful in 14m4sreleased this
2026-10-06 14:39:59 +00:00 | 22 commits to main since this releasev0.11.0: updates from Gitea (Settings > Firmware checks the project's server, lists the last ten releases and installs one straight into the inactive slot; a daily check announces a newer one; IRC steps aside while the device talks to the server); the Check for updates setting; CI that tests every push to main, builds both firmwares on every pull request and signs and publishes a release for every tag, with coverage and badges
Files
roro9stack-v0.11.0.ota: the signed Update File. Copy it to/updateson the SD card and install it from Settings > Firmware or the Storage App, or push it over Wi-Fi withscripts/ota_push.py.roro9stack-v0.11.0-factory.bin: the whole flash image, for a first install over USB at offset 0.roro9stack-v0.11.0.elf.gz: the symbols, to decode a crash report from this build.SHA256SUMS: checksums of the three.
Changes since v0.10.0
- CI: a branch's pushes run nothing, its pull request runs once
- Updates from Gitea, step 5: the daily check's announcement, the docs, ADR 0009
- Updates from Gitea, step 4: the Firmware page shows the project's releases
- Updates from Gitea, step 3: install from Gitea, and IRC steps aside for it
- Updates from Gitea, step 2: the connection (check and list work on the device)
- Updates from Gitea, step 1: the model (host-tested)
- R1 plan: updates from Gitea, the design round (Q162-Q174)
- R1 plan: pull requests, merged by rebase then a merge commit (Q161)
- CI: the badges are published from main only
- CI: a push runs the tests, a pull request also builds the firmware
- Coverage of lib/ by the host tests, and badges in the README
- R1 plan: CI and releases are in place
- R1 plan: CI as built on the container runner
- CI: jobs run in a container, PlatformIO directly in it, the toolchains in a volume
- Release build: tags from before Firmware Updates carry no public key to check against
- R1 plan and ADR 0008: CI signs releases; README section on CI
- CI: tests and builds on every push, a signed release on a tag (#5)
- CI: try the runner's label as it is registered
- CI: a first workflow, to see what the runner gives a job (#5)
Downloads
-
roro9stack v0.10.0 Stable
released this
2026-10-06 08:11:31 +00:00 | 44 commits to main since this releasev0.10.0: the Notes App (plain text notes in /notes, an editor that saves by itself, up to 16 KB); e in the Storage App's text viewer; keys sent through the Debug Console are no longer swallowed now and then
Files
roro9stack-v0.10.0.ota: the signed Update File. Copy it to/updateson the SD card and install it from Settings > Firmware or the Storage App, or push it over Wi-Fi withscripts/ota_push.py.roro9stack-v0.10.0-factory.bin: the whole flash image, for a first install over USB at offset 0.roro9stack-v0.10.0.elf.gz: the symbols, to decode a crash report from this build.SHA256SUMS: checksums of the three.
Changes since v0.9.0
- F1 plan: Notes ships as v0.10.0
- Notes: plain text notes on the SD card, with an editor that saves by itself (#19)
- A key sent through the Debug Console could turn the screen "off" for a tick
- F1 plan: the Notes design round (Q141-Q150)
Downloads
-
roro9stack v0.9.0 Stable
released this
2026-10-06 07:03:50 +00:00 | 49 commits to main since this releasev0.9.0: the Storage App (browse, copy, move, rename, delete, viewers for text, hex, pcap, gpx and ota; Maintenance replaces Settings > Storage); files dated by the Clock whatever its source; a panic at Wi-Fi join fixed (#46)
Files
roro9stack-v0.9.0.ota: the signed Update File. Copy it to/updateson the SD card and install it from Settings > Firmware or the Storage App, or push it over Wi-Fi withscripts/ota_push.py.roro9stack-v0.9.0-factory.bin: the whole flash image, for a first install over USB at offset 0.roro9stack-v0.9.0.elf.gz: the symbols, to decode a crash report from this build.SHA256SUMS: checksums of the three.
Changes since v0.8.1
- F1 plan: the Storage App ships as v0.9.0; the SNTP panic is #46
- Wi-Fi: SNTP could be started twice at a join, and ESP-IDF asserts on that
- F1 steps 2-6: the Storage App, its viewers, and Maintenance moved in (#3)
- F1 step 1: names, read-only rules and the packed listing (host-tested)
- F1 plan: the Storage App's design round (Q128-Q140)
Downloads
-
roro9stack v0.8.1 Stable
released this
2026-10-06 04:42:33 +00:00 | 55 commits to main since this releasev0.8.1: the main loop rests between passes (core 1 from 100 % to 1 %); Pause GNSS for LoRa (the receiver costs the radio 8 dB); lora noise test
Files
roro9stack-v0.8.1.ota: the signed Update File. Copy it to/updateson the SD card and install it from Settings > Firmware or the Storage App, or push it over Wi-Fi withscripts/ota_push.py.roro9stack-v0.8.1-factory.bin: the whole flash image, for a first install over USB at offset 0.roro9stack-v0.8.1.elf.gz: the symbols, to decode a crash report from this build.SHA256SUMS: checksums of the three.
Changes since v0.8.0
Downloads
-
roro9stack v0.8.0 Stable
released this
2026-10-05 23:32:01 +00:00 | 59 commits to main since this releasev0.8.0: S1, the System App (tasks, memory, network per service, system); tasks and net on the console
Files
roro9stack-v0.8.0.ota: the signed Update File. Copy it to/updateson the SD card and install it from Settings > Firmware or the Storage App, or push it over Wi-Fi withscripts/ota_push.py.roro9stack-v0.8.0-factory.bin: the whole flash image, for a first install over USB at offset 0.roro9stack-v0.8.0.elf.gz: the symbols, to decode a crash report from this build.SHA256SUMS: checksums of the three.
Changes since v0.7.0
Downloads
-
roro9stack v0.7.0 Stable
released this
2026-10-05 22:48:41 +00:00 | 65 commits to main since this releasev0.7.0: S1, fixed IPv4 per Saved Network, DNS and NTP servers in Settings, connection details
Files
roro9stack-v0.7.0.ota: the signed Update File. Copy it to/updateson the SD card and install it from Settings > Firmware or the Storage App, or push it over Wi-Fi withscripts/ota_push.py.roro9stack-v0.7.0-factory.bin: the whole flash image, for a first install over USB at offset 0.roro9stack-v0.7.0.elf.gz: the symbols, to decode a crash report from this build.SHA256SUMS: checksums of the three.
Changes since v0.6.1
Downloads
-
roro9stack v0.6.1 Stable
released this
2026-10-05 21:25:55 +00:00 | 69 commits to main since this releasev0.6.1: the SD card no longer 'refuses' writes (our copy of the SD driver, ADR 0007); sd card; write faults in info
Files
roro9stack-v0.6.1.ota: the signed Update File. Copy it to/updateson the SD card and install it from Settings > Firmware or the Storage App, or push it over Wi-Fi withscripts/ota_push.py.roro9stack-v0.6.1-factory.bin: the whole flash image, for a first install over USB at offset 0.roro9stack-v0.6.1.elf.gz: the symbols, to decode a crash report from this build.SHA256SUMS: checksums of the three.
Changes since v0.6.0
- ADR 0007: link the upstream report and the issue that follows it
sd card: what the card says it is, from its CID register- SD driver: a dummy byte before the ready test; say why a write failed (#21)
- lib/SD: Arduino-ESP32 3.3.12's SD library, as it comes
Downloads
-
roro9stack v0.6.0 Stable
released this
2026-10-05 19:40:43 +00:00 | 74 commits to main since this releasev0.6.0: M3, the LoRa radio receive only (Radio Service, LoRa Scanner with Sniffer, Captures and Sweep); put verifies the card; Gemini page budget
Files
roro9stack-v0.6.0.ota: the signed Update File. Copy it to/updateson the SD card and install it from Settings > Firmware or the Storage App, or push it over Wi-Fi withscripts/ota_push.py.roro9stack-v0.6.0-factory.bin: the whole flash image, for a first install over USB at offset 0.roro9stack-v0.6.0.elf.gz: the symbols, to decode a crash report from this build.SHA256SUMS: checksums of the three.
Changes since v0.5.0
- M3 done: the listening hour heard nothing; a reference node is needed for M4
- M3 step 5: Sweep, the band's signal strength as bars and a waterfall
- M3 step 4: the LoRa Scanner App, Sniffer and Captures
- M3 step 3: the Radio Service, receive only
- Gemini: count the App's per-line tables in the page budget
- Debug Console put: verify the card's copy, never zero-fill after a failed write
- M3 step 2: Meshtastic header and presets, pcap with LoRaTap (host-tested)
- M3 step 1: RadioLib and
lora probe - M3 plan: radio bring-up, receive only (Q89-Q104)
Downloads
-
roro9stack v0.5.0 Stable
released this
2026-10-04 23:49:13 +00:00 | 84 commits to main since this releasev0.5.0: G1, a Gemini client (TOFU, redirects, input, bookmarks, Saved Pages offline, big pages read from the card)
Files
roro9stack-v0.5.0.ota: the signed Update File. Copy it to/updateson the SD card and install it from Settings > Firmware or the Storage App, or push it over Wi-Fi withscripts/ota_push.py.roro9stack-v0.5.0-factory.bin: the whole flash image, for a first install over USB at offset 0.roro9stack-v0.5.0.elf.gz: the symbols, to decode a crash report from this build.SHA256SUMS: checksums of the three.
Changes since v0.4.0
- G1 done: Saved Pages read offline, checked by hand
- G1: accept a ~12 KB heap dip during a fetch with IRC connected (Q86 revised)
- Gemini: read big pages from the card as you scroll (Q88)
- G1 steps 5-6: input prompts, bookmarks, downloads, Saved Pages
- G1 step 4: the Gemini App (rendering, links, history, address line)
- G1 step 3: the Gemini fetcher (TOFU, redirects, floors, pages via the card)
- G1 step 2: Gemini parsers (host-tested), and the memory decision (Q86)
- G1 step 1: gemini get, and two TLS connections measured
- G1 design: Gemini client plan, glossary (Capsule, Saved Page)
Downloads
-
roro9stack v0.4.0 Stable
released this
2026-10-04 21:42:41 +00:00 | 94 commits to main since this releasev0.4.0: M2, GNSS (Position and Sky views, Tracks, clock from satellites); IRC stop; mDNS removed; smaller TLS buffers
Files
roro9stack-v0.4.0.ota: the signed Update File. Copy it to/updateson the SD card and install it from Settings > Firmware or the Storage App, or push it over Wi-Fi withscripts/ota_push.py.roro9stack-v0.4.0-factory.bin: the whole flash image, for a first install over USB at offset 0.roro9stack-v0.4.0.elf.gz: the symbols, to decode a crash report from this build.SHA256SUMS: checksums of the three.
Changes since v0.3.0
- Rebuild the framework with smaller TLS buffers (ADR 0006)
- Stop IRC by hand; remove mDNS
- Trim task stacks and buffers by measurement: +15 KB with IRC up
- M2: record cold-start time to first fix and the heap measurement
- M2 step 6: Tracks, recorded to GPX in the background
- M2 step 5: GNSS App, with the Position and Sky views
- M2 step 4: GNSS mark in the Status Bar; the clock follows the Fix
- M2 step 3: GNSS Service, with standby and the clock from a Fix
- M2 step 2: NMEA parser (host-tested)
- M2 step 1: gnss probe finds the receiver on RX 15 / TX 13 at 115200
- M2 design: GNSS plan, glossary (GNSS Service, Fix, Track), ADR 0001 note
- key command: del and tab
Downloads
Public Access