Releases: RetiaLLC/badge-launcher
Release list
Badge Launcher v2.0.0 "Touch"
The flagship badge experience: one flash, one SD card, seven firmwares.
Hold UP + tap RESET → menu → pick what your badge becomes:
- 📡 MeshCore touch messenger (pre-installed) — full-color touch UI, on-screen keyboard, badge↔badge encrypted messaging over LoRa
- 📡 Meshtastic MUI touch + classic standard/low-power builds
- 🕸 Reticulum RNode — the badge as an RNS LoRa radio for MeshChat/Sideband/NomadNet (one-time
rnodeconfprovisioning; hardware-verified badge↔badge) - 🎮 Anemoia NES emulator + 37 validated homebrew games (
/romson the card) - 🌈 WLED pride rainbow on the ear NeoPixels
⚠ Requires a FAT-formatted micro-SD card (this is true of launcher v1 as well).
Install
esptool --chip esp32s3 --port <PORT> write-flash 0x0 launcher-v2.factory.bin— or flash from your browser at scriptkitty.sh- Unzip sd-card-apps-v2.zip onto the card (required)
- Unzip sd-card-games-v2.zip onto the card (optional, adds the NES library)
Every firmware keeps its own private slice of flash — identities, contacts, settings, and saves survive switching. Un-brickable by construction: the launcher lives in a never-rewritten factory partition.
Want DOOM? That's Launcher v1 "Classic" — its resident WADs need the flash space v2 spends on the touch apps.
⚠ v1 and v2 SD bins are built for different partition tables — don't mix them.
Hardware-verified on the bench: install/boot/swap of all seven firmwares, settings persistence across the full swap matrix, and badge↔badge RF for all three mesh stacks.
🤖 Generated with Claude Code
Badge Launcher v1.0.0
Badge Launcher v1.0.0
Dual-boot for the Retia 2024 DEF CON badge: hold UP, tap RESET, pick a firmware from the TFT menu, and it's running ~10 seconds later. No computer needed. Guarded by a cat.
Install
pip install esptool
esptool --chip esp32s3 --port <PORT> write-flash 0x0 launcher.factory.binOne flash sets the badge up completely (sd-card.zip onto a FAT micro-SD card (dedicated slot, under the D-pad) to get the full menu:
| Menu entry | What it is |
|---|---|
doom-silent.bin |
PrBoom (DOOM shareware), quiet |
doom-audio.bin |
Same, with piezo SFX (GPIO9 sigma-delta) |
meshtastic-standard.bin |
Meshtastic 2.7.23, stock behavior |
meshtastic-lowpower.bin |
Meshtastic 2.7.23, ~39% lower idle draw — the daily driver |
wled-pride.bin |
WLED — boots the 10 ear NeoPixels straight into a Pride 2015 rainbow 🌈 |
Drop your own launcher-compatible .bin in /firmware/ on the card and it appears in the menu — see the README for the two-line PlatformIO recipe.
Meshtastic settings (owner, region, keys) survive every switch — the launcher never touches nvs/spiffs. The bundled WLED is built FS-less specifically so it doesn't clobber that storage either (verified: a Meshtastic owner survives a WLED round-trip). Interrupted installs can't brick the badge: the launcher lives in the factory partition and the bootloader falls back to it.
Not included: the Meshtastic MUI touch build (3.1 MB) — it cannot fit the shared app slot alongside the resident Doom WADs; flash it over USB from DefconBadge2026 instead.
Verified
All acceptance criteria hardware-tested on the bench (2026-07-08): install & boot each firmware from SD, 9.4 s Doom switch with resident WADs, settings intact across switches and 9 reboots, interrupted-install recovery + retry, hold-UP entry, zero added boot latency on normal power-on. WLED added and verified end-to-end (menu → install from SD → Pride rainbow; Meshtastic settings survive the round-trip).
🤖 Generated with Claude Code