Skip to content

Releases: RetiaLLC/DefconBadge2026

Meshtastic MUI Touch UI for the Badge

Choose a tag to compare

@skickar skickar released this 10 Jul 07:04

Full-color touch Meshtastic for the Retia DEF CON badge: the LVGL device-UI (MUI) with the on-screen keyboard, node map, touch region picker, and message bubbles — plus the badge-specific fixes: bit-banged XPT2046 touch (the badge's crossed SPI lines), phone TCP API (:4403) alive alongside the home UI, BLE off by default (enable from settings or the phone app), and the displaymode/bluetooth self-heal so config written by other Meshtastic builds (e.g. via the Badge Launcher) can never dark-screen the GUI.

Flash (standalone, full image at 0x0)

pip install esptool
esptool --chip esp32s3 --port <PORT> write-flash 0x0 meshtastic-mui-touch.factory.bin

…or from your browser at scriptkitty.sh.

Set your region on the touch picker at first boot. Prefer switching between this, MeshCore, an NES emulator and more from an SD-card menu? That's Badge Launcher v2 "Touch" — this build is included there as a guest.

Source: meshtastic/firmware v2.7.23 + retia-mui patches (tag touchscreen-build-launcher-fix).

🤖 Generated with Claude Code

Reticulum RNode Firmware for the Badge

Choose a tag to compare

@skickar skickar released this 09 Jul 12:35

RNode v1.85 for the 2024 DEF CON badge — turns the badge into a host-controlled 915 MHz LoRa transceiver for the Reticulum network stack (works with rnsd, NomadNet, Sideband, MeshChat).

Flash + provision

pip install esptool rns
esptool --chip esp32s3 --port <PORT> write-flash 0x0 rnode-1.85.factory.bin
rnodeconf <PORT> -r --platform 80 --product f0 --model fe --hwrev 1

Full instructions and interface config: firmware/reticulum/. Source, flash scripts, and Nibble Zero builds: RetiaLLC/NibbleReticulum (release v1.85).

Verification

Bidirectional badge ↔ Nibble Zero Reticulum link on hardware: 3/3 packets delivered with proofs at 914.875 MHz / SF8 / 125 kHz / CR5 (RSSI −45 dBm, SNR 11 dB).

⚠️ Never transmit without a 915 MHz antenna on the U.FL (J1) connector. Headless build — the TFT stays dark; the green debug LED blinks RX/TX.

🤖 Generated with Claude Code

MeshCore for the Badge — Touch Messenger + Companion

Choose a tag to compare

@skickar skickar released this 09 Jul 22:19

Off-grid LoRa mesh messaging on the badge, three ways. All builds: MeshCore v1.16.0 core, US 915 MHz preset (910.525 MHz / BW 62.5 / SF7) out of the box, hardware-verified badge-to-badge with delivery ACKs.

🖥️ Touch Messenger — the one to flash

meshcore-touch-messenger.factory.bin — a complete standalone mesh communicator on the badge's touchscreen: chats, contacts, channels, on-screen keyboard, emoji, RF monitor + spectrum analyzer apps, piezo notification chimes, D-pad navigation (A = select, hold A = power menu, B = back). No phone needed — but it's still a full BLE companion at the same time, so the MeshCore phone app can pair to it too. Built from the WADAMESH touch UI ported to the badge.

pip install esptool
esptool --chip esp32s3 --port <PORT> write-flash 0x0 meshcore-touch-messenger.factory.bin

First boot runs a ~1-minute setup wizard (name + region) on the touchscreen.

📱 Companion (BLE) — pair your phone

meshcore-companion-ble.factory.bin — the badge as a radio for the official MeshCore phone app (Android/iOS). Color status screen; the pairing PIN is shown on the badge's display when the app connects. If re-pairing after a reflash, "Forget device" in your phone's Bluetooth settings first.

🔌 Companion (USB) — drive it from a computer

meshcore-companion-usb.factory.bin — companion protocol over USB serial, for meshcore-cli, meshcore.js, or the web client. Also handy as a scriptable test peer.


  • Source: RetiaLLC/MeshCore (badge board variant, branch retia-badge) and RetiaLLC/wadamesh (touch messenger, branch retia-badge)
  • All images use the badge's DIO bootloader and 8 MB layout — flash at offset 0x0; settings/identity live in their own flash region and survive app-only updates
  • ⚠️ Never transmit without the LoRa antenna attached
  • MeshCore is the meshcore.io open-source mesh project (MIT); this is an independent port for the Retia badge

Anemoia NES Emulator for the Badge

Choose a tag to compare

@skickar skickar released this 09 Jul 10:39

Turn your badge into an NES. Anemoia NES is now available for the Retia 2024 DEF CON badge: an SD-card ROM browser, save states, the D-pad + A/B as your controller, and chiptune audio on the piezo buzzer.

Source, docs, and curated free-homebrew game list: https://github.com/RetiaLLC/Anemoia-DefconBadge

Flash the attached image

pip install esptool
esptool --chip esp32s3 --port <PORT> --baud 921600 \
  --before default-reset --after hard-reset write-flash 0x0 anemoia-badge-factory.bin

Then put .nes files (use legally-free homebrew — tested list) on a FAT micro-SD in the slot under the D-pad, and power up.

Controls: tap BOOT = START · BOOT+B = SELECT · hold BOOT = pause menu (save states, volume, quit) · a beep at power-on means the speaker path is healthy.

Ported from Shim06/Anemoia-ESP32 (GPL-3.0) with badge-specific fixes throughout the SPI, DMA, and audio stack — details in the port notes.