MeshCore for the Badge — Touch Messenger + Companion
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.binFirst 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, branchretia-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