2025-02-23 10:19:53 +01:00
{
2026-01-10 23:15:50 +01:00
"staticPath" : "/firmware" ,
"role" : {
2026-03-26 13:14:06 +01:00
"meshos" : {
"icon" : "dashboard" ,
"title" : "MeshOS"
} ,
2026-01-10 23:15:50 +01:00
"gui" : {
"icon" : "gradient" ,
"title" : "Ripple GUI" ,
"tooltip" : "all your device settings are saved on internal flash"
} ,
"guiSD" : {
"icon" : "gradient" ,
"title" : "Ripple GUI: data on SD card" ,
"tooltip" : "all your device settings are saved on SD card"
} ,
"companionBle" : {
"icon" : "smartphone" ,
"title" : "Companion" ,
"subTitle" : "Bluetooth" ,
"tooltip" : "Chat via mobile phone App or Web Client - Radio can only connect via Bluetooth"
} ,
"companionUsb" : {
"icon" : "usb" ,
"title" : "Companion" ,
"subTitle" : "USB" ,
"tooltip" : "Chat via Web client or command line client - Radio can only connect via USB"
} ,
"repeater" : {
"icon" : "cell_tower" ,
"title" : "Repeater" ,
"tooltip" : "Special role just for routing packets. Configured via Config/Console on flasher main page"
} ,
"roomServer" : {
"icon" : "forum" ,
"title" : "Room Server" ,
"tooltip" : "Special role for local room server. Configured via Config/Console on flasher main page"
}
} ,
2026-03-26 13:14:06 +01:00
"notice" : {
"otafixRecommended" : "<article class='tertiary-container'>We strongly recommend installing <a target='_blank' href='/firmware/${bootloader}'>OTAFIX bootloader</a> for more reliable Bluetooth OTA DFU. <a target='_blank' href='https://github.com/meshcore-dev/MeshCore/blob/main/docs/faq.md#73-q-is-there-a-way-to-lower-the-chance-of-a-failed-ota-device-firmware-update-dfu'>Read more</a></article>" ,
"otafixNeeded" : "<article class='tertiary-container'>WARNING: We strongly recommend installing <a target='_blank' href='/firmware/${bootloader}'>OTAFIX bootloader</a> if you plan to update firmware via OTA bluetooth, as factory bootloader does not support it! <a target='_blank' href='https://github.com/meshcore-dev/MeshCore/blob/main/docs/faq.md#73-q-is-there-a-way-to-lower-the-chance-of-a-failed-ota-device-firmware-update-dfu'>Read more</a></article>"
} ,
2026-01-10 23:15:50 +01:00
"maker" : {
"elecrow" : {
"name" : "Elecrow"
} ,
"heltec" : {
"name" : "Heltec"
} ,
"seeed" : {
"name" : "Seeed Studio"
} ,
"rak" : {
"name" : "RAK Wireless"
} ,
"promicro" : {
"name" : "ProMicro"
} ,
"lilygo" : {
"name" : "LilyGo"
} ,
"raspberry" : {
"name" : "Raspberry Pi"
}
} ,
"device" : [
2026-03-26 13:14:06 +01:00
{
"maker" : "heltec" ,
"class" : "ripple" ,
"name" : "Heltec v4 + Expansion Kit (Touch)" ,
"tooltip" : "<img class='device' src='/img/heltec_v4_exp.svg'>" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"firmware" : [
{
"role" : "gui" ,
"version" : {
"v9.2" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-HeltecV4-v9.2-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-HeltecV4-v9.2.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "v9.2 changes:\n* multibyte path hash support\n\nv9.1 changes:\n* Off-grid (client repeat) mode\n* faster map rendering\n* Bandwidth 500 support\n\n<b><a target='_blank' href='https://buymeacoffee.com/ripplebiz/e/491480'>Full changelog</a></b>"
} ,
"v8.2" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-HeltecV4-ExpKit-v8.2-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-HeltecV4-ExpKit-v8.2.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Updated UI colour scheme\n* New Regions screen, with 'Scan Local' menu\n* New 'Owner Info' menu, from Discover > Scan Local\n\n<b><a target='_blank' href='https://buymeacoffee.com/ripplebiz/e/491480'>Full changelog</a></b>"
}
}
}
]
} ,
2026-01-10 23:15:50 +01:00
{
"maker" : "lilygo" ,
"class" : "ripple" ,
"name" : "LilyGo T-Deck" ,
"tooltip" : "<img class='device' src='/img/lilygo_tdeck.svg'>" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"firmware" : [
{
"role" : "gui" ,
"version" : {
2026-03-26 13:14:06 +01:00
"v9.2" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-v9.2-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-v9.2.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "v9.2 changes:\n* multibyte path hash support\n\nv9.1 changes:\n* Off-grid (client repeat) mode\n* faster map rendering\n* Bandwidth 500 support\n* trackball crash fix\n\n<b><a target='_blank' href='https://buymeacoffee.com/ripplebiz/e/361676'>Full changelog</a></b>"
} ,
"v8.2" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-v8.2-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-v8.2.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Updated UI colour scheme\n* New Regions screen, with 'Scan Local' menu\n* New 'Owner Info' menu, from Discover > Scan Local\n\n<b><a target='_blank' href='https://buymeacoffee.com/ripplebiz/e/361676'>Full changelog</a></b>"
} ,
2026-01-10 23:15:50 +01:00
"v7.14" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-v7.14-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-v7.14.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* NEW: 'Scan Local' menu in Discover\n* Message text: now converts accented chars to ASCII equivalent\n* Popular emojis now converted, eg ':thumbsup'\n* Contacts can be tagged and custom notes added\n* Repeater CLI, 'neighbors' command now using binary req/resp\n* Max group channels now upped to 6\n* Bug fix: some CLI responses were lost from dup timestamp.\n* #channel key calc now forces lowercase\n* Better canned messages for CLI screens\n* Group channel message, 'Reply To' menu\n* Kid Mode: now supports up to 1 group channel chat"
} ,
"v7.12" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-v7.12-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-v7.12.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Vibe pref now saved\n* Remote admin prefixes, extra spaces allowed\n* Presets updated\n* Msg details: ‘ heard by’ \n* Repeater and room CLI: “get” command (get full telemetry)\n* Channel details: Alerts ON/OFF menu"
} ,
"v7.11" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-v7.11-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-v7.11.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* New: Kid Mode and remote admin\n* message details, ENTER to goto next message\n* Group channel message rendering improved"
} ,
"v7.10" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-v7.10-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-v7.10.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* New network: region presets\n* Security: new PIN Lock Screen\n* Pixel art: improved colour picker\n* Message details: new ‘ Show on Map’ menu\n* New clipboard system: long press for copy/paste"
} ,
"v7.9" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-v7.9-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-v7.9.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Max group channels now 4\n* Auto channel support (name starting with ‘ #’ )\n* Home Screen: ‘ $’ key jumps to next contact with unread > 0\n* New message details screen (scroll up to msg, then select)\n* GPS Config screen redesign\n* Home Screen, tap on top-right of screen opens GPS Info\n* Repeater and room server admin CLI: added “setperm” and “get acl” support"
} ,
"v7.7" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-v7.7-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-v7.7.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Max contacts now doubled\n* Only (home) contacts can now DM you\n* Home Screen, swipe left/right to go thru filters\n* Identity screen: new advert location pref\n* New “Permissions” screen: set Telemetry permissions\n* Map view: new “Set Advert Loc” menu.\n* Canned Message: special “< prev msg>” item (re-type last msg)"
} ,
"v7.6" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-v7.6-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-v7.6.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* \"Multi ACKs\" support (Optimise menu)\n* Advert path details (from node details screen)\n* Group channel chats, message path details\n* Home menu: Brightness DAY/NIGHT\n* Canned Messages support\n* MeshCore lib updates/fixes"
} ,
"v7.5" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-v7.5-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-v7.5.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Sensor node support\n* Preamble now 16\n* Home Screen: node ID prefixes displayed\n* Discover list: space to toggle ID prefixes"
} ,
"v7.4" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-v7.4-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-v7.4.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Discover, Node details now shows advert path\n* New GPS telemetry permissions: ALLOW:Home, ALLOW:All\n* Group channel outbound messages now with confirmation counters\n* T-Deck Plus (new keyboard model) auto backlight on/off\n* Map labels now non-overlapping\n* Network profiles now with customisable BW and CR"
} ,
"v7.3" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-v7.3-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-v7.3.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* GPS tracks!\n* Optimise menu: Interference threshold, AGC reset interval"
} ,
"v7.1" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-UKStore-v7.1-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-UKStore-v7.1.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Channel details hex or base64 input\n* Screen off long press shortened to 1 sec\n* A-Z key press now jumps to contacts\n* ‘ @‘ key now refreshes/reorders list by most recent advert\n* MeshCore lib updates/fixes\n* better Help/Tutorial screens"
} ,
"v7.0" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-UKStore-v7.0-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-UKStore-v7.0.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Saved paths, manual set path,\n* Trackball press is now select, long press for screen off,\n* Room keep-alive packets now not sent,\n* Discover screen, max now 140,\n* New customisable sounds: new-advert.mp3, existing-advert.mp3"
} ,
"v6.9" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-UKStore-v6.9-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-UKStore-v6.9.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Sound and other prefs now persisted\n* New “Show on Map” conversation menu\n* MeshCore lib fixes"
} ,
"v6.8" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-UKStore-v6.8-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-UKStore-v6.8.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Repeater & Room UI redesign\n* Room, admin CLI now from menu"
} ,
"v6.7" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "RippleUltra-TDeck-v6.7-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "RippleUltra-TDeck-v6.7.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Public channel auto-configured (new profiles)\n* Telemetry support (location, ‘ online’ indicator)\n* Rooms, unsynced counter (green)\n* Room stats dialog\n* Discover, ‘ Send ID Broadcast’ menu"
} ,
"v6.6" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "RippleUltra-TDeck-v6.6-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "RippleUltra-TDeck-v6.6.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* now saves repeater and room server passwords.\n* New 'auto advert ON/OFF' option"
} ,
"v6.5" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "RippleUltra-TDeck-v6.5-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "RippleUltra-TDeck-v6.5.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Existing profiles have SF editable"
} ,
"v6.3" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "RippleUltra-TDeck-v6.3-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "RippleUltra-TDeck-v6.3.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* BUG Fix: advert verify caused memory corruption"
} ,
"v6.2" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "RippleUltra-TDeck-v6.2-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "RippleUltra-TDeck-v6.2.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
]
} ,
"v6.0-beta22" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "RippleUltra-TDeck-v6.0-beta22-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "RippleUltra-TDeck-v6.0-beta22.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
]
}
}
} ,
{
"role" : "guiSD" ,
"version" : {
2026-03-26 13:14:06 +01:00
"v9.2" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-SD-v9.2-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-SD-v9.2.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "v9.2 changes:\n* multibyte path hash support\n\nv9.1 changes:\n* Off-grid (client repeat) mode\n* faster map rendering\n* Bandwidth 500 support\n* trackball crash fix\n\n<b><a target='_blank' href='https://buymeacoffee.com/ripplebiz/e/361676'>Full changelog</a></b>"
} ,
"v8.2" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-SD-v8.2-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-SD-v8.2.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Updated UI colour scheme\n* New Regions screen, with 'Scan Local' menu\n* New 'Owner Info' menu, from Discover > Scan Local\n\n<b><a target='_blank' href='https://buymeacoffee.com/ripplebiz/e/361676'>Full changelog</a></b>"
} ,
2026-01-10 23:15:50 +01:00
"v7.14" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-SD-v7.14-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-SD-v7.14.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* NEW: 'Scan Local' menu in Discover\n* Message text: now converts accented chars to ASCII equivalent\n* Popular emojis now converted, eg ':thumbsup'\n* Contacts can be tagged and custom notes added\n* Repeater CLI, 'neighbors' command now using binary req/resp\n* Max group channels now upped to 6\n* Bug fix: some CLI responses were lost from dup timestamp.\n* #channel key calc now forces lowercase\n* Better canned messages for CLI screens\n* Group channel message, 'Reply To' menu\n* Kid Mode: now supports up to 1 group channel chat"
} ,
"v7.12" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-SD-v7.12-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-SD-v7.12.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Vibe pref now saved\n* Remote admin prefixes, extra spaces allowed\n* Presets updated\n* Msg details: ‘ heard by’ \n* Repeater and room CLI: “get” command (get full telemetry)\n* Channel details: Alerts ON/OFF menu"
} ,
"v7.11" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-SD-v7.11-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-SD-v7.11.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* New: Kid Mode and remote admin\n* message details, ENTER to goto next message\n* Group channel message rendering improved"
} ,
"v7.10" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-SD-v7.10-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-SD-v7.10.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* New network: region presets\n* Security: new PIN Lock Screen\n* Pixel art: improved colour picker\n* Message details: new ‘ Show on Map’ menu\n* New clipboard system: long press for copy/paste"
} ,
"v7.9" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-SD-v7.9-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-SD-v7.9.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Max group channels now 4\n* Auto channel support (name starting with ‘ #’ )\n* Home Screen: ‘ $’ key jumps to next contact with unread > 0\n* New message details screen (scroll up to msg, then select)\n* GPS Config screen redesign\n* Home Screen, tap on top-right of screen opens GPS Info\n* Repeater and room server admin CLI: added “setperm” and “get acl” support"
} ,
"v7.7" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-SD-v7.7-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-SD-v7.7.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Max contacts now doubled\n* Only (home) contacts can now DM you\n* Home Screen, swipe left/right to go thru filters\n* Identity screen: new advert location pref\n* New “Permissions” screen: set Telemetry permissions\n* Map view: new “Set Advert Loc” menu.\n* Canned Message: special “< prev msg>” item (re-type last msg)"
} ,
"v7.6" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-SD-v7.6-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-SD-v7.6.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* \"Multi ACKs\" support (Optimise menu)\n* Advert path details (from node details screen)\n* Group channel chats, message path details\n* Home menu: Brightness DAY/NIGHT\n* Canned Messages support\n* MeshCore lib updates/fixes"
} ,
"v7.5" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-SD-v7.5-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-SD-v7.5.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Sensor node support\n* Preamble now 16\n* Home Screen: node ID prefixes displayed\n* Discover list: space to toggle ID prefixes"
} ,
"v7.4" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-SD-v7.4-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-SD-v7.4.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Discover, Node details now shows advert path\n* New GPS telemetry permissions: ALLOW:Home, ALLOW:All\n* Group channel outbound messages now with confirmation counters\n* T-Deck Plus (new keyboard model) auto backlight on/off\n* Map labels now non-overlapping\n* Network profiles now with customisable BW and CR"
} ,
"v7.3" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-SD-v7.3-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-SD-v7.3.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* GPS tracks!\n* Optimise menu: Interference threshold, AGC reset interval"
} ,
"v7.1" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-SD-UKStore-v7.1-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-SD-UKStore-v7.1.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Channel details hex or base64 input\n* Screen off long press shortened to 1 sec\n* A-Z key press now jumps to contacts\n* ‘ @‘ key now refreshes/reorders list by most recent advert\n* MeshCore lib updates/fixes\n* better Help/Tutorial screens"
} ,
"v7.0" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-SD-UKStore-v7.0-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-SD-UKStore-v7.0.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Saved paths, manual set path,\n* Trackball press is now select, long press for screen off,\n* Room keep-alive packets now not sent,\n* Discover screen, max now 140,\n* New customisable sounds: new-advert.mp3, existing-advert.mp3"
} ,
"v6.9" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-SD-UKStore-v6.9-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-SD-UKStore-v6.9.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Sound and other prefs now persisted\n* New “Show on Map” conversation menu\n* MeshCore lib fixes"
} ,
"v6.8" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeck-SD-UKStore-v6.8-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeck-SD-UKStore-v6.8.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Repeater & Room UI redesign\n* Room, admin CLI now from menu"
} ,
"v6.7" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "RippleUltra-TDeck-SD-v6.7-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "RippleUltra-TDeck-SD-v6.7.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Public channel auto-configured (new profiles)\n* Telemetry support (location, ‘ online’ indicator)\n* Rooms, unsynced counter (green)\n* Room stats dialog\n* Discover, ‘ Send ID Broadcast’ menu"
} ,
"v6.6" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "RippleUltra-TDeck-SD-v6.6-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "RippleUltra-TDeck-SD-v6.6.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* now saves repeater and room server passwords.\n* New 'auto advert ON/OFF' option"
} ,
"v6.5" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "RippleUltra-TDeck-SD-v6.5-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "RippleUltra-TDeck-SD-v6.5.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Existing profiles have SF editable"
} ,
"v6.3" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "RippleUltra-TDeck-SD-v6.3-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "RippleUltra-TDeck-SD-v6.3.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* BUG Fix: advert verify caused memory corruption"
} ,
"v6.2" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "RippleUltra-TDeck-SD-v6.2-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "RippleUltra-TDeck-SD-v6.2.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
]
} ,
"v6.0-beta22" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "RippleUltra-TDeck-SD-v6.0-beta22-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "RippleUltra-TDeck-SD-v6.0-beta22.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
]
}
}
}
]
} ,
{
"maker" : "lilygo" ,
"class" : "ripple" ,
"name" : "LilyGo T-Deck Pro" ,
"tooltip" : "<img class='device' src='/img/lilygo_tdeck_pro.svg'>" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"firmware" : [
{
"role" : "gui" ,
"version" : {
2026-03-26 13:14:06 +01:00
"v9.2" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeckPro-v9.2-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeckPro-v9.2.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "v9.2 changes:\n* multibyte path hash support\n\nv9.1 changes:\n* Off-grid (client repeat) mode\n* Bandwidth 500 support\n\nv9.0 changes:\n*support for v1.0 and v1.1 hardware models (separate .bin files in zip)\n* Discover list now overwrites oldest entry if full\n* new UI: customisable home icon grid, and new icon grid menus\n\n<b><a target='_blank' href='https://buymeacoffee.com/ripplebiz/e/450194'>Full changelog</a></b>"
} ,
"v8.2" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeckPro-v8.2-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeckPro-v8.2.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Updated UI colour scheme\n* New Regions screen, with 'Scan Local' menu\n* New 'Owner Info' menu, from Discover > Scan Local\n\n<b><a target='_blank' href='https://buymeacoffee.com/ripplebiz/e/450194'>Full changelog</a></b>"
} ,
2026-01-10 23:15:50 +01:00
"v7.14" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeckPro-v7.14-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeckPro-v7.14.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* NEW: 'Scan Local' menu in Discover\n* Message text: now converts accented chars to ASCII equivalent\n* Popular emojis now converted, eg ':thumbsup'\n* Contacts can be tagged and custom notes added\n* Repeater CLI, 'neighbors' command now using binary req/resp\n* Max group channels now upped to 6\n* Bug fix: some CLI responses were lost from dup timestamp.\n* #channel key calc now forces lowercase\n* Better canned messages for CLI screens\n* Group channel message, 'Reply To' menu\n* Kid Mode: now supports up to 1 group channel chat"
} ,
"v7.12" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeckPro-v7.12-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeckPro-v7.12.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Vibe pref now saved\n* Display off pref (to locked screen)\n* UI style updates\n* Remote admin prefixes, extra spaces allowed\n* Presets updated\n* Msg details: ‘ heard by’ \n* Repeater and room CLI: “get” command (get full telemetry)\n* Channel details: Alerts ON/OFF menu"
} ,
"v7.11" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeckPro-v7.11-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeckPro-v7.11.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* New: Kid Mode and remote admin\n* message details, ENTER to goto next message\n* Group channel message rendering improved"
} ,
"v7.10" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeckPro-v7.10-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeckPro-v7.10.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* New network: region presets\n* Security: new PIN Lock Screen\n* Map view: keys 0..9 change map contrast\n* Message details: new ‘ Show on Map’ menu\n* New clipboard system: long press for copy/paste\n* Locked screen redesign\n* LED alert option: now flashes keyboard backlight"
} ,
"v7.9" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeckPro-v7.9-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeckPro-v7.9.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Max group channels now 4\n* Auto channel support (name starting with ‘ #’ )\n* Home Screen: ‘ $’ key jumps to next contact with unread > 0\n* Home Screen, tap on top-right of screen opens GPS Info\n* Repeater and room server admin CLI: added “setperm” and “get acl” support\n* Map tiles dir now “/tiles-bw” (or “/tiles” as fallback)"
} ,
"v7.8" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeckPro-v7.8-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeckPro-v7.8.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Map support!\n* GPS Config screen fixed\n* Lock screen, current date added\n* Various screen layout fixes"
} ,
"v7.7" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeckPro-v7.7-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeckPro-v7.7.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Initial release"
}
}
} ,
{
"role" : "guiSD" ,
"version" : {
2026-03-26 13:14:06 +01:00
"v9.2" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeckPro-SD-v9.2-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeckPro-SD-v9.2.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "v9.2 changes:\n* multibyte path hash support\n\nv9.1 changes:\n* Off-grid (client repeat) mode\n* Bandwidth 500 support\n\nv9.0 changes:\n*support for v1.0 and v1.1 hardware models (separate .bin files in zip)\n* Discover list now overwrites oldest entry if full\n* new UI: customisable home icon grid, and new icon grid menus\n\n<b><a target='_blank' href='https://buymeacoffee.com/ripplebiz/e/450194'>Full changelog</a></b>"
} ,
2026-01-10 23:15:50 +01:00
"v7.14" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeckPro-SD-v7.14-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeckPro-SD-v7.14.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* NEW: 'Scan Local' menu in Discover\n* Message text: now converts accented chars to ASCII equivalent\n* Popular emojis now converted, eg ':thumbsup'\n* Contacts can be tagged and custom notes added\n* Repeater CLI, 'neighbors' command now using binary req/resp\n* Max group channels now upped to 6\n* Bug fix: some CLI responses were lost from dup timestamp.\n* #channel key calc now forces lowercase\n* Better canned messages for CLI screens\n* Group channel message, 'Reply To' menu\n* Kid Mode: now supports up to 1 group channel chat"
} ,
"v7.12" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeckPro-SD-v7.12-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeckPro-SD-v7.12.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Vibe pref now saved\n* Display off pref (to locked screen)\n* UI style updates\n* Remote admin prefixes, extra spaces allowed\n* Presets updated\n* Msg details: ‘ heard by’ \n* Repeater and room CLI: “get” command (get full telemetry)\n* Channel details: Alerts ON/OFF menu"
} ,
"v7.11" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeckPro-SD-v7.11-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeckPro-SD-v7.11.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* New: Kid Mode and remote admin\n* message details, ENTER to goto next message\n* Group channel message rendering improved"
} ,
"v7.10" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeckPro-SD-v7.10-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeckPro-SD-v7.10.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* New network: region presets\n* Security: new PIN Lock Screen\n* Map view: keys 0..9 change map contrast\n* Message details: new ‘ Show on Map’ menu\n* New clipboard system: long press for copy/paste\n* Locked screen redesign\n* LED alert option: now flashes keyboard backlight"
} ,
"v7.9" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeckPro-SD-v7.9-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeckPro-SD-v7.9.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Max group channels now 4\n* Auto channel support (name starting with ‘ #’ )\n* Home Screen: ‘ $’ key jumps to next contact with unread > 0\n* Home Screen, tap on top-right of screen opens GPS Info\n* Repeater and room server admin CLI: added “setperm” and “get acl” support\n* Map tiles dir now “/tiles-bw” (or “/tiles” as fallback)"
} ,
"v7.8" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeckPro-SD-v7.8-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeckPro-SD-v7.8.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Map support!\n* GPS Config screen fixed\n* Lock screen, current date added\n* Various screen layout fixes"
} ,
"v7.7" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDeckPro-SD-v7.7-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDeckPro-SD-v7.7.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Initial release"
}
}
2026-03-26 13:14:06 +01:00
} ,
2026-01-10 23:15:50 +01:00
{
"role" : "gui" ,
2026-03-26 13:14:06 +01:00
"title" : "Ripple GUI (T-Deck Pro v1.1)" ,
2026-01-10 23:15:50 +01:00
"version" : {
2026-03-26 13:14:06 +01:00
"v9.2" : {
2026-01-10 23:15:50 +01:00
"files" : [
{
"type" : "flash-wipe" ,
2026-03-26 13:14:06 +01:00
"name" : "Ultra-TDeckProV11-v9.2-merged.bin" ,
2026-01-10 23:15:50 +01:00
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
2026-03-26 13:14:06 +01:00
"name" : "Ultra-TDeckProV11-v9.2.bin" ,
2026-01-10 23:15:50 +01:00
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
2026-03-26 13:14:06 +01:00
"notes" : "v9.2 changes:\n* multibyte path hash support\n\nv9.1 changes:\n* Off-grid (client repeat) mode\n* Bandwidth 500 support\n\nv9.0 changes:\n*support for v1.0 and v1.1 hardware models (separate .bin files in zip)\n* Discover list now overwrites oldest entry if full\n* new UI: customisable home icon grid, and new icon grid menus\n\n<b><a target='_blank' href='https://buymeacoffee.com/ripplebiz/e/450194'>Full changelog</a></b>"
}
}
} ,
{
"role" : "guiSD" ,
"title" : "Ripple GUI: data on SD card (T-Deck Pro v1.1)" ,
"version" : {
"v9.2" : {
2026-01-10 23:15:50 +01:00
"files" : [
{
"type" : "flash-wipe" ,
2026-03-26 13:14:06 +01:00
"name" : "Ultra-TDeckProV11-SD-v9.2-merged.bin" ,
2026-01-10 23:15:50 +01:00
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
2026-03-26 13:14:06 +01:00
"name" : "Ultra-TDeckProV11-SD-v9.2.bin" ,
2026-01-10 23:15:50 +01:00
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
2026-03-26 13:14:06 +01:00
"notes" : "v9.2 changes:\n* multibyte path hash support\n\nv9.1 changes:\n* Off-grid (client repeat) mode\n* Bandwidth 500 support\n\nv9.0 changes:\n*support for v1.0 and v1.1 hardware models (separate .bin files in zip)\n* Discover list now overwrites oldest entry if full\n* new UI: customisable home icon grid, and new icon grid menus\n\n<b><a target='_blank' href='https://buymeacoffee.com/ripplebiz/e/450194'>Full changelog</a></b>"
}
}
}
]
} ,
{
"maker" : "lilygo" ,
"class" : "ripple" ,
"name" : "LilyGo T5 E-Paper S3 Pro (H752-XX)" ,
"tooltip" : "<img class='device' src='/img/lilygo_t5_pro.svg'>" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"firmware" : [
{
"role" : "gui" ,
"version" : {
"v9.2" : {
2026-01-10 23:15:50 +01:00
"files" : [
{
"type" : "flash-wipe" ,
2026-03-26 13:14:06 +01:00
"name" : "Ultra-T5Pro-v9.2-merged.bin" ,
2026-01-10 23:15:50 +01:00
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
2026-03-26 13:14:06 +01:00
"name" : "Ultra-T5Pro-v9.2.bin" ,
2026-01-10 23:15:50 +01:00
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
2026-03-26 13:14:06 +01:00
"notes" : "v9.2 changes:\n* multibyte path hash support\n\nv9.1 changes:\n* Off-grid (client repeat) mode\n* Bandwidth 500 support\n\n<b><a target='blank' href='https://buymeacoffee.com/ripplebiz/e/478441'>full changelog</a></b>"
2026-01-10 23:15:50 +01:00
} ,
2026-03-26 13:14:06 +01:00
"v8.2" : {
2026-01-10 23:15:50 +01:00
"files" : [
{
"type" : "flash-wipe" ,
2026-03-26 13:14:06 +01:00
"name" : "Ultra-T5Pro-v8.2-merged.bin" ,
2026-01-10 23:15:50 +01:00
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
2026-03-26 13:14:06 +01:00
"name" : "Ultra-T5Pro-v8.2.bin" ,
2026-01-10 23:15:50 +01:00
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
2026-03-26 13:14:06 +01:00
"notes" : "v8.2 changes:\n* updated UI colour scheme\n* new Regions screen, with 'Scan Local' menu\n* new 'Owner Info' menu, from Discover > Scan Local\n<b><a target='_blank' href='https://buymeacoffee.com/ripplebiz/e/478441'>Full changelog</a></b>"
}
}
}
]
} ,
{
"maker" : "lilygo" ,
"class" : "ripple" ,
"name" : "LilyGo T-Lora Pager" ,
"tooltip" : "<img class='device' src='/img/lilygo_pager.svg'>" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"firmware" : [
{
"role" : "gui" ,
"title" : "[SX1262] Ripple GUI" ,
"version" : {
"v9.2" : {
2026-01-10 23:15:50 +01:00
"files" : [
{
"type" : "flash-wipe" ,
2026-03-26 13:14:06 +01:00
"name" : "Ultra-TPager-SX1262-v9.2-merged.bin" ,
2026-01-10 23:15:50 +01:00
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
2026-03-26 13:14:06 +01:00
"name" : "Ultra-TPager-SX1262-v9.2.bin" ,
2026-01-10 23:15:50 +01:00
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
2026-03-26 13:14:06 +01:00
"notes" : "v9.2 changes:\n* multibyte path hash support\n\nv9.1 changes:\n* Off-grid (client repeat) mode\n* Bandwidth 500 support\n\n<b><a target='blank' href='https://buymeacoffee.com/ripplebiz/e/415984'>full changelog</a></b>"
2026-01-10 23:15:50 +01:00
} ,
2026-03-26 13:14:06 +01:00
"v8.2" : {
2026-01-10 23:15:50 +01:00
"files" : [
{
"type" : "flash-wipe" ,
2026-03-26 13:14:06 +01:00
"name" : "Ultra-TPager-sx1262-v8.2-merged.bin" ,
2026-01-10 23:15:50 +01:00
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
2026-03-26 13:14:06 +01:00
"name" : "Ultra-TPager-sx1262-v8.2.bin" ,
2026-01-10 23:15:50 +01:00
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
2026-03-26 13:14:06 +01:00
"notes" : "* Updated UI colour scheme\n* New Regions screen, with 'Scan Local' menu\n* New 'Owner Info' menu, from Discover > Scan Local\n\n<b><a target='_blank' href='https://buymeacoffee.com/ripplebiz/e/415984'>Full changelog</a></b>"
2026-01-10 23:15:50 +01:00
} ,
"v7.14" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-sx1262-v7.14-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-sx1262-v7.14.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* NEW: 'Scan Local' menu in Discover\n* Message text: now converts accented chars to ASCII equivalent\n* Popular emojis now converted, eg ':thumbsup'\n* Contacts can be tagged and custom notes added\n* Repeater CLI, 'neighbors' command now using binary req/resp\n* Max group channels now upped to 6\n* Bug fix: some CLI responses were lost from dup timestamp.\n* #channel key calc now forces lowercase\n* Better canned messages for CLI screens\n* Group channel message, 'Reply To' menu\n* Kid Mode: now supports up to 1 group channel chat"
} ,
"v7.12" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-v7.12-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-v7.12.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Vibe pref now saved\n* Remote admin prefixes, extra spaces allowed\n* Presets updated\n* Msg details: ‘ heard by’ \n* Repeater and room CLI: “get” command (get full telemetry)\n* Channel details: Alerts ON/OFF menu"
} ,
"v7.11" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-v7.11-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-v7.11.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* New: Kid Mode and remote admin\n* message details, ENTER to goto next message\n* Group channel message rendering improved"
} ,
"v7.10" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-v7.10-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-v7.10.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* New network: region presets\n* Security: new PIN Lock Screen\n* Channel details: “Type ‘ #’” menu\n* Message details: new ‘ Show on Map’ menu\n* New clipboard system: long press scroll wheel for copy/paste"
} ,
"v7.9" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-v7.9-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-v7.9.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Max group channels now 4\n* Auto channel support (name starting with ‘ #’ )\n* Scroll wheel disabled while screen off\n* Keyboard backlight now flashes on new message (config via LED menu option)\n* Home Screen: ‘ $’ key jumps to next contact with unread > 0\n* New message details screen (scroll up to msg, then select)\n* GPS Config screen redesign\n* Home Screen, tap on top-right of screen opens GPS Info\n* Repeater and room server admin CLI: added “setperm” and “get acl” support"
} ,
"v7.7" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-v7.7-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-v7.7.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Max contacts now doubled\n* Only (home) contacts can now DM you\n* Home Screen, ‘ .’ and ‘ ,’ keys to go thru filters\n* Identity screen: new advert location pref\n* New “Permissions” screen: set Telemetry permissions\n* Canned Message: special “< prev msg>” item (re-type last msg)\n* Long press Enter and Backspace now more snappy\n* New GPS power ON / OFF setting\n* New Brightness: DAY / NIGHT setting"
} ,
"v7.6" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-v7.6-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-v7.6.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* \"Multi ACKs\" support (Optimise menu)\n* Advert path details (from node details screen)\n* Group channel chats, message path details\n* Home menu: Brightness DAY/NIGHT\n* Canned Messages support\n* MeshCore lib updates/fixes"
} ,
"v7.5" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-v7.5-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-v7.5.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Sensor node support\n* Map panning, keys: W,S,A,D\n* Preamble now 16\n* Home Screen: node ID prefixes displayed\n* Discover list: space to toggle ID prefixes"
} ,
"v7.4" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-v7.4-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-v7.4.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Discover, Node details now shows advert path\n* New GPS telemetry permissions: ALLOW:Home, ALLOW:All\n* Group channel outbound messages now with confirmation counters\n* Map labels now non-overlapping\n* Network profiles now with customisable BW and CR"
} ,
"v7.3" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-v7.3-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-v7.3.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* GPS tracks!\n* Optimise menu: Interference threshold, AGC reset interval"
} ,
"v7.1" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-UKStore-v7.1-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-UKStore-v7.1.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Channel details hex or base64 input\n* A-Z key press now jumps to contacts\n* ‘ @‘ key now refreshes/reorders list by most recent advert\n* MeshCore lib updates/fixes"
} ,
"v7.0" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-UKStore-v7.0-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-UKStore-v7.0.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Initial release"
}
}
} ,
{
"role" : "guiSD" ,
"title" : "[SX1262] Ripple GUI: data on SD card" ,
"version" : {
2026-03-26 13:14:06 +01:00
"v9.2" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-SX1262-SD-v9.2-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-SX1262-SD-v9.2.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "v9.2 changes:\n* multibyte path hash support\n\nv9.1 changes:\n* Off-grid (client repeat) mode\n* Bandwidth 500 support\n\n<b><a target='blank' href='https://buymeacoffee.com/ripplebiz/e/415984'>full changelog</a></b>"
} ,
"v8.2" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-SD-sx1262-v8.2-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-SD-sx1262-v8.2.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Updated UI colour scheme\n* New Regions screen, with 'Scan Local' menu\n* New 'Owner Info' menu, from Discover > Scan Local\n\n<b><a target='_blank' href='https://buymeacoffee.com/ripplebiz/e/415984'>Full changelog</a></b>"
} ,
2026-01-10 23:15:50 +01:00
"v7.14" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-SD-sx1262-v7.14-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-SD-sx1262-v7.14.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* NEW: 'Scan Local' menu in Discover\n* Message text: now converts accented chars to ASCII equivalent\n* Popular emojis now converted, eg ':thumbsup'\n* Contacts can be tagged and custom notes added\n* Repeater CLI, 'neighbors' command now using binary req/resp\n* Max group channels now upped to 6\n* Bug fix: some CLI responses were lost from dup timestamp.\n* #channel key calc now forces lowercase\n* Better canned messages for CLI screens\n* Group channel message, 'Reply To' menu\n* Kid Mode: now supports up to 1 group channel chat"
} ,
"v7.12" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-SD-v7.12-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-SD-v7.12.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Vibe pref now saved\n* Remote admin prefixes, extra spaces allowed\n* Presets updated\n* Msg details: ‘ heard by’ \n* Repeater and room CLI: “get” command (get full telemetry)\n* Channel details: Alerts ON/OFF menu"
} ,
"v7.11" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-SD-v7.11-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-SD-v7.11.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* New: Kid Mode and remote admin\n* message details, ENTER to goto next message\n* Group channel message rendering improved"
} ,
"v7.10" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-SD-v7.10-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-SD-v7.10.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* New network: region presets\n* Security: new PIN Lock Screen\n* Channel details: “Type ‘ #’” menu\n* Message details: new ‘ Show on Map’ menu\n* New clipboard system: long press scroll wheel for copy/paste"
} ,
"v7.9" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-SD-v7.9-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-SD-v7.9.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Max group channels now 4\n* Auto channel support (name starting with ‘ #’ )\n* Scroll wheel disabled while screen off\n* Keyboard backlight now flashes on new message (config via LED menu option)\n* Home Screen: ‘ $’ key jumps to next contact with unread > 0\n* New message details screen (scroll up to msg, then select)\n* GPS Config screen redesign\n* Home Screen, tap on top-right of screen opens GPS Info\n* Repeater and room server admin CLI: added “setperm” and “get acl” support"
} ,
"v7.7" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-SD-v7.7-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-SD-v7.7.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Max contacts now doubled\n* Only (home) contacts can now DM you\n* Home Screen, ‘ .’ and ‘ ,’ keys to go thru filters\n* Identity screen: new advert location pref\n* New “Permissions” screen: set Telemetry permissions\n* Canned Message: special “< prev msg>” item (re-type last msg)\n* Long press Enter and Backspace now more snappy\n* New GPS power ON / OFF setting\n* New Brightness: DAY / NIGHT setting"
} ,
"v7.5" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-SD-v7.5-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-SD-v7.5.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Sensor node support\n* Map panning, keys: W,S,A,D\n* Preamble now 16\n* Home Screen: node ID prefixes displayed\n* Discover list: space to toggle ID prefixes"
} ,
"v7.4" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-SD-v7.4-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-SD-v7.4.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Discover, Node details now shows advert path\n* New GPS telemetry permissions: ALLOW:Home, ALLOW:All\n* Group channel outbound messages now with confirmation counters\n* Map labels now non-overlapping\n* Network profiles now with customisable BW and CR"
} ,
"v7.3" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-SD-v7.3-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-SD-v7.3.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* GPS tracks!\n* Optimise menu: Interference threshold, AGC reset interval"
} ,
"v7.1" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-SD-UKStore-v7.1-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-SD-UKStore-v7.1.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Channel details hex or base64 input\n* A-Z key press now jumps to contacts\n* ‘ @‘ key now refreshes/reorders list by most recent advert\n* MeshCore lib updates/fixes"
} ,
"v7.0" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-SD-UKStore-v7.0-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-SD-UKStore-v7.0.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Initial release"
}
}
} ,
{
"role" : "gui" ,
"title" : "[LR1121] Ripple GUI" ,
"version" : {
2026-03-26 13:14:06 +01:00
"v9.2" : {
2026-01-10 23:15:50 +01:00
"files" : [
{
"type" : "flash-wipe" ,
2026-03-26 13:14:06 +01:00
"name" : "Ultra-TPager-LR1121-v9.2-merged.bin" ,
2026-01-10 23:15:50 +01:00
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
2026-03-26 13:14:06 +01:00
"name" : "Ultra-TPager-LR1121-v9.2.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "v9.2 changes:\n* multibyte path hash support\n\nv9.1 changes:\n* Off-grid (client repeat) mode\n* Bandwidth 500 support\n\n<b><a target='blank' href='https://buymeacoffee.com/ripplebiz/e/415984'>full changelog</a></b>"
} ,
"v8.2" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-LR1121-v8.2-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-LR1121-v8.2.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Updated UI colour scheme\n* New Regions screen, with 'Scan Local' menu\n* New 'Owner Info' menu, from Discover > Scan Local\n\n<b><a target='_blank' href='https://buymeacoffee.com/ripplebiz/e/415984'>Full changelog</a></b>"
} ,
"v7.14" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-LR1121-v7.14-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-LR1121-v7.14.bin" ,
2026-01-10 23:15:50 +01:00
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* NEW: 'Scan Local' menu in Discover\n* Message text: now converts accented chars to ASCII equivalent\n* Popular emojis now converted, eg ':thumbsup'\n* Contacts can be tagged and custom notes added\n* Repeater CLI, 'neighbors' command now using binary req/resp\n* Max group channels now upped to 6\n* Bug fix: some CLI responses were lost from dup timestamp.\n* #channel key calc now forces lowercase\n* Better canned messages for CLI screens\n* Group channel message, 'Reply To' menu\n* Kid Mode: now supports up to 1 group channel chat"
}
}
} ,
{
"role" : "guiSD" ,
"title" : "[LR1121] Ripple GUI: data on SD card" ,
"version" : {
2026-03-26 13:14:06 +01:00
"v9.2" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-LR1121-SD-v9.2-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-LR1121-SD-v9.2.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "v9.2 changes:\n* multibyte path hash support\n\nv9.1 changes:\n* Off-grid (client repeat) mode\n* Bandwidth 500 support\n\n<b><a target='blank' href='https://buymeacoffee.com/ripplebiz/e/415984'>full changelog</a></b>"
} ,
"v8.2" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-SD-LR1121-v8.2-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-SD-LR1121-v8.2.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Updated UI colour scheme\n* New Regions screen, with 'Scan Local' menu\n* New 'Owner Info' menu, from Discover > Scan Local\n\n<b><a target='_blank' href='https://buymeacoffee.com/ripplebiz/e/415984'>Full changelog</a></b>"
} ,
2026-01-10 23:15:50 +01:00
"v7.14" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TPager-SD-LR1121-v7.14-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TPager-SD-LR1121-v7.14.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* NEW: 'Scan Local' menu in Discover\n* Message text: now converts accented chars to ASCII equivalent\n* Popular emojis now converted, eg ':thumbsup'\n* Contacts can be tagged and custom notes added\n* Repeater CLI, 'neighbors' command now using binary req/resp\n* Max group channels now upped to 6\n* Bug fix: some CLI responses were lost from dup timestamp.\n* #channel key calc now forces lowercase\n* Better canned messages for CLI screens\n* Group channel message, 'Reply To' menu\n* Kid Mode: now supports up to 1 group channel chat"
}
}
}
]
} ,
{
"maker" : "lilygo" ,
"class" : "ripple" ,
"name" : "LilyGo T-Display Pro" ,
"icon" : "/img/esp_now.svg" ,
"tooltip" : "<img class='device' src='/img/lilygo_tdisplay.svg'>" ,
"type" : "esp32" ,
"firmware" : [
{
"role" : "gui" ,
"version" : {
"v7.5" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-ESPNOW-TDisplayPro-v7.5-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-ESPNOW-TDisplayPro-v7.5.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Sensor node support\n* LoRa spreading factor now 16\n* Home Screen: node ID prefixes displayed\n* Discover, Node details now shows advert path\n* new GPS telemetry permissions: ALLOW:Home, ALLOW:All\n* group channel outbound messages now with confirmation counters\n* map labels now non-overlapping\n* network profiles now with customisable BW and CR\n* GPS tracks!\n* Optimise menu: Interference threshold, AGC reset interval\n* Channel details hex or base64 input"
} ,
"v6.8" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TDisplayPro-ESPNOW-UKStore-v6.8-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TDisplayPro-ESPNOW-UKStore-v6.8.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
2026-03-26 13:14:06 +01:00
"notes" : "* Repeater & Room UI redesign\n* Room, admin CLI now from menu"
}
}
}
]
} ,
{
"maker" : "lilygo" ,
"class" : "ripple" ,
"name" : "LilyGo T-Watch S3 Plus" ,
"tooltip" : "<img class='device' src='/img/lilygo_twatch_plus.svg'>" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"firmware" : [
{
"role" : "gui" ,
"version" : {
"v9.3" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "Ultra-TWatchS3Plus-v9.3.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-TWatchS3Plus-v9.3.bin" ,
"title" : "App firmware bin (use with m5 booloader)"
}
] ,
"notes" : "* Power saving added (battery life from ~12 hr to ~20 hr)\n* Stopwatch and countdown Timer home screen widgets\n* Help tutorial screens"
}
}
}
]
} ,
{
"maker" : "seeed" ,
"class" : "ripple" ,
"name" : "Seeed Studio Wio Tracker L1 Pro" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/wio_tracker_l1.svg'>" ,
"type" : "nrf52" ,
"erase" : "WioTrackerL1_QSPIFlash_Format-v1.2.zip" ,
"bootloader" : "wio_tracker_l1_bootloader-0.9.2-OTAFIX2.1.uf2" ,
"firmware" : [
{
"role" : "gui" ,
"version" : {
"v8.2" : {
"files" : [
{
"type" : "download" ,
"name" : "Ultra-WioTrackerL1-v8.2.uf2" ,
"title" : "UF2 file for manual USB DFU mass storage update"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-WioTrackerL1-v8.2.zip" ,
"title" : "App firmware"
}
] ,
"notes" : "* Updated UI colour scheme\n* New Regions screen, with 'Scan Local' menu\n* New 'Owner Info' menu, from Discover > Scan Local\n\n<b><a target='_blank' href='https://buymeacoffee.com/ripplebiz/e/469784'>Full changelog</a></b>"
} ,
"v7.14" : {
"files" : [
{
"type" : "download" ,
"name" : "Ultra-WioTrackerL1-v7.14.uf2" ,
"title" : "UF2 file for manual USB DFU mass storage update"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-WioTrackerL1-v7.14.zip" ,
"title" : "App firmware"
}
] ,
"notes" : "* NEW: 'Scan Local' menu in Discover\n* Message text: now converts accented chars to ASCII equivalent\n* Popular emojis now converted, eg ':thumbsup'\n* Contacts can be tagged and custom notes added\n* Repeater CLI, 'neighbors' command now using binary req/resp\n* Max group channels now upped to 6\n* Bug fix: some CLI responses were lost from dup timestamp.\n* #channel key calc now forces lowercase\n* Better canned messages for CLI screens\n* Group channel message, 'Reply To' menu\n* Kid Mode: now supports up to 1 group channel chat"
} ,
"v7.12.1" : {
"files" : [
{
"type" : "download" ,
"name" : "Ultra-WioTrackerL1-v7.12.1.uf2" ,
"title" : "UF2 file for manual USB DFU mass storage update"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-WioTrackerL1-v7.12.1.zip" ,
"title" : "App firmware"
}
] ,
"notes" : "* Battery scale fix\n* UI style updates\n* Remote admin prefixes, extra spaces allowed\n* Presets updated\n* Msg details: ‘ heard by’ \n* Repeater and room CLI: “get” command (get full telemetry)\n* Channel details: Alerts ON/OFF menu"
} ,
"v7.12" : {
"files" : [
{
"type" : "download" ,
"name" : "Ultra-WioTrackerL1-v7.12.uf2" ,
"title" : "UF2 file for manual USB DFU mass storage update"
} ,
{
"type" : "flash-update" ,
"name" : "Ultra-WioTrackerL1-v7.12.zip" ,
"title" : "App firmware"
}
] ,
"notes" : "* Fixed PIN unlock screen\n* Added kid mode support\n* Repeater and Room CLI: new \"get\" command for full telemetry fetch"
}
}
}
]
} ,
{
"maker" : "lilygo" ,
"class" : "meshos" ,
"name" : "LilyGo T-Deck" ,
"tooltip" : "<img class='device' src='/img/lilygo_tdeck.svg'>" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"firmware" : [
{
"role" : "meshos" ,
"version" : {
"v1.1.8" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "MeshOS-TDeck-1.1.8-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "MeshOS-TDeck-1.1.8.bin" ,
"title" : "App firmware bin"
} ,
{
"type" : "download" ,
"name" : "MeshOS-TDeck-1.1.8.zip" ,
"title" : "SD Update zip"
}
] ,
"notes" : "* Better compatibility with MeshCore app\n* Channels increased to 20 when used with the app\n* Low memory messages fix\n* other bug fixes"
} ,
"v1.1.7" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "MeshOS-TDeck-1.1.7-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "MeshOS-TDeck-1.1.7.bin" ,
"title" : "App firmware bin"
} ,
{
"type" : "download" ,
"name" : "MeshOS-TDeck-1.1.7.zip" ,
"title" : "SD Update zip"
}
] ,
"notes" : "* Bluetooth companion (Beta)\n* Improved heard list\n* bug fixes\n* SD card discovery/heard storage"
} ,
"v1.1.6" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "MeshOS-TDeck-1.1.6-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "MeshOS-TDeck-1.1.6.bin" ,
"title" : "App firmware bin"
} ,
{
"type" : "download" ,
"name" : "MeshOS-TDeck-1.1.6.zip" ,
"title" : "SD Update zip"
}
] ,
"notes" : "* Bluetooth companion (Beta)\n* Improved heard list\n* bug fixes\n* SD card discovery/heard storage"
} ,
"v1.1.3" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "MeshOS-TDeck-1.1.3-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "MeshOS-TDeck-1.1.3.bin" ,
"title" : "App firmware bin"
} ,
{
"type" : "download" ,
"name" : "MeshOS-TDeck-1.1.3.zip" ,
"title" : "SD Update zip"
}
] ,
"notes" : "* UI Optimsiations\n* PSK Channel entry (channel 5)\n* Bugfixes"
} ,
"v1.1.2" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "MeshOS-TDeck-1.1.2-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "MeshOS-TDeck-1.1.2.bin" ,
"title" : "App firmware bin"
} ,
{
"type" : "download" ,
"name" : "MeshOS-TDeck-1.1.2.zip" ,
"title" : "SD Update zip"
}
] ,
"notes" : "* Timezone fixes\n* Home & Lock Screen Wallpaper settings\n* Terminal buffer increased\n* Bugfixes"
} ,
"v1.1.1" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "MeshOS-TDeck-1.1.1-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "MeshOS-TDeck-1.1.1.bin" ,
"title" : "App firmware bin"
} ,
{
"type" : "download" ,
"name" : "MeshOS-TDeck-1.1.1.zip" ,
"title" : "SD Update zip"
}
] ,
"notes" : "* Map Fixes\n* Notification optimisations\n* Other fixes"
} ,
"v1.1.0" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "MeshOS-TDeck-1.1.0-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "MeshOS-TDeck-1.1.0.bin" ,
"title" : "App firmware bin"
} ,
{
"type" : "download" ,
"name" : "MeshOS-TDeck-1.1.0.zip" ,
"title" : "SD Update zip"
}
] ,
"notes" : "* DM UI updated for easier DM chat, badge message notifications.\n* DM notifications on homescreen.\n* Emoji fixes.\n* 179 extra glyphs added to the main font to support text display for 9 countries/regions.\n* International keyboard support for 9 countries/regions.\n* GPS Time Sync update.\n* Tile support for maps in zoom view.\n* Lots of bug fixes, tweaks etc."
} ,
"v1.0.10" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "MeshOS-TDeck-1.0.10-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "MeshOS-TDeck-1.0.10.bin" ,
"title" : "App firmware bin"
} ,
{
"type" : "download" ,
"name" : "MeshOS-TDeck-1.0.10.zip" ,
"title" : "SD Update zip"
}
] ,
"notes" : "* Path set for contacts fixed.\n* Added delete contacts, repeaters, rooms from the contact details panel.\n* Bulk delete repeaters, rooms, chat with /clearcontacts repeaters|rooms|chat\n* Radio Profiles updated to match most recent MeshCore App profiles.\n* Map bug that showed wierd UK outline when no GPS was set.\n* Keyboard backlight fix when AOD off and device wakes. (T-Deck + with new KB only)\n* Low entropy key fix."
} ,
"v1.0.8" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "MeshOS-TDeck-1.0.8-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "MeshOS-TDeck-1.0.8.bin" ,
"title" : "App firmware bin"
}
] ,
"notes" : "* Initial release"
}
}
}
]
} ,
{
"maker" : "lilygo" ,
"class" : "meshos" ,
"name" : "LilyGo T-Lora Pager" ,
"tooltip" : "<img class='device' src='/img/lilygo_pager.svg'>" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"firmware" : [
{
"role" : "meshos" ,
"version" : {
"v1.1.8" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "MeshOS-TPager-1.1.8-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "MeshOS-TPager-1.1.8.bin" ,
"title" : "App firmware bin"
} ,
{
"type" : "download" ,
"name" : "MeshOS-TPager-1.1.8.zip" ,
"title" : "SD Update zip"
}
] ,
"notes" : "* Better compatibility with MeshCore app\n* Channels increased to 20 when used with the app\n* Low memory messages fix\n* other bug fixes"
} ,
"v1.1.7" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "MeshOS-TPager-1.1.7-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "MeshOS-TPager-1.1.7.bin" ,
"title" : "App firmware bin"
} ,
{
"type" : "download" ,
"name" : "MeshOS-TPager-1.1.7.zip" ,
"title" : "SD Update zip"
}
] ,
"notes" : "* Bug fixes\n* Update compatibility with MeshOS android app\n* Contacts fixed for official MeshCore app"
} ,
"v1.1.6" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "MeshOS-TPager-1.1.6-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "MeshOS-TPager-1.1.6.bin" ,
"title" : "App firmware bin"
} ,
{
"type" : "download" ,
"name" : "MeshOS-TPager-1.1.6.zip" ,
"title" : "SD Update zip"
}
] ,
"notes" : "* Initial release"
2026-01-10 23:15:50 +01:00
}
}
}
]
} ,
{
2026-03-26 13:14:06 +01:00
"maker" : "lilygo" ,
"class" : "meshos" ,
"name" : "LilyGo T-Display P4" ,
"tooltip" : "<img class='device' src='/img/lilygo_tdisplay_p4.svg'>" ,
2026-01-10 23:15:50 +01:00
"icon" : "/img/lora.svg" ,
2026-03-26 13:14:06 +01:00
"type" : "esp32" ,
2026-01-10 23:15:50 +01:00
"firmware" : [
{
2026-03-26 13:14:06 +01:00
"role" : "meshos" ,
"title" : "MeshOS (AMOLED Version)" ,
2026-01-10 23:15:50 +01:00
"version" : {
2026-03-26 13:14:06 +01:00
"v1.0.1" : {
2026-01-10 23:15:50 +01:00
"files" : [
{
2026-03-26 13:14:06 +01:00
"type" : "flash-wipe" ,
"name" : "MeshOS-TDisplay-P4-1.0.1-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
2026-01-10 23:15:50 +01:00
} ,
{
"type" : "flash-update" ,
2026-03-26 13:14:06 +01:00
"name" : "MeshOS-TDisplay-P4-1.0.1.bin" ,
"title" : "App firmware bin"
2026-01-10 23:15:50 +01:00
}
] ,
2026-03-26 13:14:06 +01:00
"notes" : "* Channel Delete\n* Multibyte Path setting\n* GPS Manual Position\n* PTT app"
2026-01-10 23:15:50 +01:00
} ,
2026-03-26 13:14:06 +01:00
"v1.0.0" : {
2026-01-10 23:15:50 +01:00
"files" : [
{
2026-03-26 13:14:06 +01:00
"type" : "flash-wipe" ,
"name" : "MeshOS-V1.0.0-Tdisplay-p4-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
2026-01-10 23:15:50 +01:00
} ,
{
"type" : "flash-update" ,
2026-03-26 13:14:06 +01:00
"name" : "MeshOS-V1.0.0-Tdisplay-p4.bin" ,
"title" : "App firmware bin"
2026-01-10 23:15:50 +01:00
}
] ,
2026-03-26 13:14:06 +01:00
"notes" : "* Initial release"
}
}
} ,
{
"role" : "meshos" ,
"title" : "MeshOS (LCD Version)" ,
"version" : {
"v1.0.1" : {
"files" : [
{
"type" : "flash-wipe" ,
"name" : "MeshOS-TDisplay-P4-LCD-1.0.1-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
} ,
{
"type" : "flash-update" ,
"name" : "MeshOS-TDisplay-P4-LCD-1.0.1.bin" ,
"title" : "App firmware bin"
}
] ,
"notes" : "* Channel Delete\n* Multibyte Path setting\n* GPS Manual Position\n* PTT app"
2026-01-10 23:15:50 +01:00
} ,
2026-03-26 13:14:06 +01:00
"v1.0.0" : {
2026-01-10 23:15:50 +01:00
"files" : [
{
2026-03-26 13:14:06 +01:00
"type" : "flash-wipe" ,
"name" : "MeshOS-V1.0.0-Tdisplay-p4-LCD-merged.bin" ,
"title" : "Combined app+partition+bootloader firmware bin"
2026-01-10 23:15:50 +01:00
} ,
{
"type" : "flash-update" ,
2026-03-26 13:14:06 +01:00
"name" : "MeshOS-V1.0.0-Tdisplay-p4-LCD.bin" ,
"title" : "App firmware bin"
2026-01-10 23:15:50 +01:00
}
] ,
2026-03-26 13:14:06 +01:00
"notes" : "* Initial release"
2026-01-10 23:15:50 +01:00
}
}
}
]
} ,
{
"maker" : "lilygo" ,
"class" : "community" ,
"name" : "LilyGo T3 S3 (SX126x)" ,
"group" : "LilyGo T3 S3" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"tooltip" : "<img class='device' src='/img/lilygo_t3s3.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "LilyGo_T3S3_sx1262_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "LilyGo_T3S3_sx1262_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "LilyGo_T3S3_sx1262_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "LilyGo_T3S3_sx1262_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "LilyGo_T3S3_sx1262_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "LilyGo_T3S3_sx1262_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "LilyGo_T3S3_sx1262_room_server.*?-merged\\.bin" ,
"flash-update" : "LilyGo_T3S3_sx1262_room_server.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "lilygo" ,
"class" : "community" ,
"name" : "LilyGo T3 S3 (SX127x)" ,
"group" : "LilyGo T3 S3" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"tooltip" : "<img class='device' src='/img/lilygo_t3s3.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "LilyGo_T3S3_sx1276_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "LilyGo_T3S3_sx1276_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "LilyGo_T3S3_sx1276_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "LilyGo_T3S3_sx1276_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "LilyGo_T3S3_sx1276_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "LilyGo_T3S3_sx1276_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "LilyGo_T3S3_sx1276_room_server.*?-merged\\.bin" ,
"flash-update" : "LilyGo_T3S3_sx1276_room_server.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "lilygo" ,
"class" : "community" ,
"name" : "LilyGo T-Beam (SX1262)" ,
"group" : "LilyGo T-Beam" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"tooltip" : "<img class='device' src='/img/lilygo_tbeam.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Tbeam_SX1262_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "Tbeam_SX1262_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Tbeam_SX1262_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "Tbeam_SX1262_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "Tbeam_SX1262_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "Tbeam_SX1262_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "Tbeam_SX1262_room_server.*?-merged\\.bin" ,
"flash-update" : "Tbeam_SX1262_room_server.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "lilygo" ,
"class" : "community" ,
2026-03-26 13:14:06 +01:00
"name" : "LilyGo T-Beam 1.2 (SX1276)" ,
"group" : "LilyGo T-Beam" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"tooltip" : "<img class='device' src='/img/lilygo_tbeam.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Tbeam(_SX1276)?_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "Tbeam(_SX1276)?_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Tbeam(_SX1276)?_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "Tbeam(_SX1276)?_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "Tbeam(_SX1276)?_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "Tbeam(_SX1276)?_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "Tbeam(_SX1276)?_room_server.*?-merged\\.bin" ,
"flash-update" : "Tbeam(_SX1276)?_room_server.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "lilygo" ,
"class" : "community" ,
"name" : "LilyGo T-Beam Supreme (SX1262)" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"tooltip" : "<img class='device' src='/img/lilygo_tbeam_supreme.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "T_Beam_S3_Supreme_SX1262_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "T_Beam_S3_Supreme_SX1262_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "T_Beam_S3_Supreme_SX1262_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "T_Beam_S3_Supreme_SX1262_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "T_Beam_S3_Supreme_SX1262_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "T_Beam_S3_Supreme_SX1262_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "T_Beam_S3_Supreme_SX1262_room_server.*?-merged\\.bin" ,
"flash-update" : "T_Beam_S3_Supreme_SX1262_room_server.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "lilygo" ,
"class" : "community" ,
"name" : "LilyGo T-Deck (community)" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"tooltip" : "<img class='device' src='/img/lilygo_tdeck.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "LilyGo_TDeck_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "LilyGo_TDeck_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "LilyGo_TDeck_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "LilyGo_TDeck_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "LilyGo_TDeck_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "LilyGo_TDeck_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "LilyGo_TDeck_room_server.*?-merged\\.bin" ,
"flash-update" : "LilyGo_TDeck_room_server.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "lilygo" ,
"class" : "community" ,
"name" : "LilyGo T-Echo" ,
"icon" : "/img/lora.svg" ,
"type" : "nrf52" ,
"erase" : "LilyGo_T-Echo_QSPIFlash_Format-v1.2.zip" ,
"tooltip" : "<img class='device' src='/img/lilygo_techo.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "LilyGo_T-Echo_companion_radio_ble.*?\\.zip" ,
"download" : "LilyGo_T-Echo_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "LilyGo_T-Echo_companion_radio_usb.*?\\.zip" ,
"download" : "LilyGo_T-Echo_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "LilyGo_T-Echo_[rR]epeater.*?\\.zip" ,
"download" : "LilyGo_T-Echo_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "LilyGo_T-Echo_room_server.*?\\.zip" ,
"download" : "LilyGo_T-Echo_room_server.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "lilygo" ,
"class" : "community" ,
"name" : "LilyGo T-Echo Lite" ,
2026-01-10 23:15:50 +01:00
"icon" : "/img/lora.svg" ,
2026-03-26 13:14:06 +01:00
"type" : "nrf52" ,
"erase" : "FLASH_ERASE_nrf52_softdevice_v6.zip" ,
"tooltip" : "<img class='device' src='/img/lilygo_techo_lite.svg'>" ,
2026-01-10 23:15:50 +01:00
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash" : "LilyGo_T-Echo-Lite_companion_radio_ble.*?\\.zip" ,
"download" : "LilyGo_T-Echo-Lite_companion_radio_ble.*?\\.uf2"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash" : "LilyGo_T-Echo-Lite_companion_radio_usb.*?\\.zip" ,
"download" : "LilyGo_T-Echo-Lite_companion_radio_usb.*?\\.uf2"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash" : "LilyGo_T-Echo-Lite_[rR]epeater.*?\\.zip" ,
"download" : "LilyGo_T-Echo-Lite_[rR]epeater.*?\\.uf2"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash" : "LilyGo_T-Echo-Lite_room_server.*?\\.zip" ,
"download" : "LilyGo_T-Echo-Lite_room_server.*?\\.uf2"
2026-01-10 23:15:50 +01:00
}
}
}
]
} ,
{
"maker" : "lilygo" ,
"class" : "community" ,
2026-03-26 13:14:06 +01:00
"name" : "LilyGo LoRa32 V2.1_1.6" ,
2026-01-10 23:15:50 +01:00
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
2026-03-26 13:14:06 +01:00
"tooltip" : "<img class='device' src='/img/lilygo_tlora_1.6.svg'>" ,
2026-01-10 23:15:50 +01:00
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash-wipe" : "LilyGo_TLora_V2_1_1_6_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "LilyGo_TLora_V2_1_1_6_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash-wipe" : "LilyGo_TLora_V2_1_1_6_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "LilyGo_TLora_V2_1_1_6_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash-wipe" : "LilyGo_TLora_V2_1_1_6_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "LilyGo_TLora_V2_1_1_6_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash-wipe" : "LilyGo_TLora_V2_1_1_6_room_server.*?-merged\\.bin" ,
"flash-update" : "LilyGo_TLora_V2_1_1_6_room_server.*?-[a-f0-9]{7}\\.bin"
2026-01-10 23:15:50 +01:00
}
}
}
]
} ,
{
2026-03-26 13:14:06 +01:00
"maker" : "gat-iot" ,
2026-01-10 23:15:50 +01:00
"class" : "community" ,
2026-03-26 13:14:06 +01:00
"name" : "GAT-IoT GAT562 Tracker" ,
2026-01-10 23:15:50 +01:00
"icon" : "/img/lora.svg" ,
2026-03-26 13:14:06 +01:00
"tooltip" : "<img class='device' src='/img/gatiot_gat562.svg'>" ,
"type" : "nrf52" ,
"erase" : "FLASH_ERASE_nrf52_softdevice_v6.zip" ,
"bootloader" : "wiscore_rak4631_board_bootloader-0.9.2-OTAFIX2.1.uf2" ,
2026-01-10 23:15:50 +01:00
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash" : "GAT562_Mesh_Tracker_Pro_companion_radio_ble.*?\\.zip" ,
"download" : "GAT562_Mesh_Tracker_Pro_companion_radio_ble.*?\\.uf2"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash" : "GAT562_Mesh_Tracker_Pro_companion_radio_usb.*?\\.zip" ,
"download" : "GAT562_Mesh_Tracker_Pro_companion_radio_usb.*?\\.uf2"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash" : "GAT562_Mesh_Tracker_Pro_[rR]epeater.*?\\.zip" ,
"download" : "GAT562_Mesh_Tracker_Pro_[rR]epeater.*?\\.uf2"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash" : "GAT562_Mesh_Tracker_Pro_room_server.*?\\.zip" ,
"download" : "GAT562_Mesh_Tracker_Pro_room_server.*?\\.uf2"
2026-01-10 23:15:50 +01:00
}
}
}
]
} ,
{
2026-03-26 13:14:06 +01:00
"maker" : "gat-iot" ,
2026-01-10 23:15:50 +01:00
"class" : "community" ,
2026-03-26 13:14:06 +01:00
"name" : "GAT-IoT GAT562 30s" ,
2026-01-10 23:15:50 +01:00
"icon" : "/img/lora.svg" ,
2026-03-26 13:14:06 +01:00
"tooltip" : "<img class='device' src='/img/gatiot_gat562_30s.svg'>" ,
2026-01-10 23:15:50 +01:00
"type" : "nrf52" ,
2026-03-26 13:14:06 +01:00
"erase" : "FLASH_ERASE_nrf52_softdevice_v6.zip" ,
"bootloader" : "wiscore_rak4631_board_bootloader-0.9.2-OTAFIX2.1.uf2" ,
2026-01-10 23:15:50 +01:00
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash" : "GAT562_30S_Mesh_Kit_companion_radio_ble.*?\\.zip" ,
"download" : "GAT562_30S_Mesh_Kit_companion_radio_ble.*?\\.uf2"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash" : "GAT562_30S_Mesh_Kit_companion_radio_usb.*?\\.zip" ,
"download" : "GAT562_30S_Mesh_Kit_companion_radio_usb.*?\\.uf2"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash" : "GAT562_30S_Mesh_Kit_[rR]epeater.*?\\.zip" ,
"download" : "GAT562_30S_Mesh_Kit_[rR]epeater.*?\\.uf2"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash" : "GAT562_Mesh_Tracker_Pro_room_server.*?\\.zip" ,
"download" : "GAT562_Mesh_Tracker_Pro_room_server.*?\\.uf2"
2026-01-10 23:15:50 +01:00
}
}
}
]
} ,
{
2026-03-26 13:14:06 +01:00
"maker" : "heltec" ,
2026-01-10 23:15:50 +01:00
"class" : "community" ,
2026-03-26 13:14:06 +01:00
"name" : "Heltec Vision Master E213" ,
2026-01-10 23:15:50 +01:00
"icon" : "/img/lora.svg" ,
2026-03-26 13:14:06 +01:00
"type" : "esp32" ,
"tooltip" : "<img class='device' src='/img/heltec_e213.svg'>" ,
2026-01-10 23:15:50 +01:00
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash-wipe" : "Heltec_E213_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "Heltec_E213_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash-wipe" : "Heltec_E213_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "Heltec_E213_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash-wipe" : "Heltec_E213_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "Heltec_E213_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash-wipe" : "Heltec_E213_room_server.*?-merged\\.bin" ,
"flash-update" : "Heltec_E213_room_server.*?-[a-f0-9]{7}\\.bin"
2026-01-10 23:15:50 +01:00
}
}
}
]
} ,
{
2026-03-26 13:14:06 +01:00
"maker" : "heltec" ,
2026-01-10 23:15:50 +01:00
"class" : "community" ,
2026-03-26 13:14:06 +01:00
"name" : "Heltec Vision Master E290" ,
2026-01-10 23:15:50 +01:00
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
2026-03-26 13:14:06 +01:00
"tooltip" : "<img class='device' src='/img/heltec_e290.svg'>" ,
2026-01-10 23:15:50 +01:00
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash-wipe" : "Heltec_E290_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "Heltec_E290_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash-wipe" : "Heltec_E290_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "Heltec_E290_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash-wipe" : "Heltec_E290_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "Heltec_E290_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash-wipe" : "Heltec_E290_room_server.*?-merged\\.bin" ,
"flash-update" : "Heltec_E290_room_server.*?-[a-f0-9]{7}\\.bin"
2026-01-10 23:15:50 +01:00
}
}
}
]
} ,
{
"maker" : "heltec" ,
"class" : "community" ,
"name" : "Heltec v2" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"tooltip" : "<img class='device' src='/img/heltec_v2.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Heltec_v2_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "Heltec_v2_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Heltec_v2_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "Heltec_v2_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "Heltec_v2_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "Heltec_v2_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "Heltec_v2_room_server.*?-merged\\.bin" ,
"flash-update" : "Heltec_v2_room_server.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "heltec" ,
"class" : "community" ,
"name" : "Heltec v3" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"tooltip" : "<img class='device' src='/img/heltec_v3.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Heltec_v3_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "Heltec_v3_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Heltec_v3_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "Heltec_v3_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "Heltec_v3_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "Heltec_v3_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "Heltec_v3_room_server.*?-merged\\.bin" ,
"flash-update" : "Heltec_v3_room_server.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "heltec" ,
"class" : "community" ,
"name" : "Heltec v4" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"tooltip" : "<img class='device' src='/img/heltec_v4.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "heltec_v4_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "heltec_v4_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "heltec_v4_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "heltec_v4_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "heltec_v4_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "heltec_v4_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "heltec_v4_room_server.*?-merged\\.bin" ,
"flash-update" : "heltec_v4_room_server.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "heltec" ,
"class" : "community" ,
"name" : "Heltec T114" ,
"icon" : "/img/lora.svg" ,
"type" : "nrf52" ,
"erase" : "FLASH_ERASE_nrf52_softdevice_v6.zip" ,
2026-03-26 13:14:06 +01:00
"bootloader" : "heltec_t114_board_bootloader-0.9.2-OTAFIX2.1.uf2" ,
2026-01-10 23:15:50 +01:00
"tooltip" : "<img class='device' src='/img/heltec_t114.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "Heltec_t114_companion_radio_ble.*?\\.zip" ,
"download" : "Heltec_t114_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "Heltec_t114_companion_radio_usb.*?\\.zip" ,
"download" : "Heltec_t114_companion_radio_usb.*?\\.uf2"
}
}
} ,
2026-03-26 13:14:06 +01:00
{
"role" : "repeater" ,
"notice" : "otafixRecommended" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "Heltec_t114_[rR]epeater.*?\\.zip" ,
"download" : "Heltec_t114_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
"notice" : "otafixRecommended" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "Heltec_t114_room_server.*?\\.zip" ,
"download" : "Heltec_t114_room_server.*?\\.uf2"
}
}
} ,
2026-01-10 23:15:50 +01:00
{
"role" : "companionBle" ,
"title" : "Companion" ,
"subTitle" : "Bluetooth [no display]" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "Heltec_t114_without_display_companion_radio_ble.*?\\.zip" ,
"download" : "Heltec_t114_without_display_companion_radio_ble.*?\\.uf2"
}
}
} ,
2026-03-26 13:14:06 +01:00
{
"role" : "companionUsb" ,
"title" : "Companion" ,
"subTitle" : "USB [no display]" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "Heltec_t114_without_display_companion_radio_ble.*?\\.zip" ,
"download" : "Heltec_t114_without_display_companion_radio_ble.*?\\.uf2"
}
}
} ,
2026-01-10 23:15:50 +01:00
{
"role" : "repeater" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixRecommended" ,
"subTitle" : "[no display]" ,
2026-01-10 23:15:50 +01:00
"github" : {
"type" : "repeater" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash" : "Heltec_t114_without_display_[rR]epeater.*?\\.zip" ,
"download" : "Heltec_t114_without_display_[rR]epeater.*?\\.uf2"
2026-01-10 23:15:50 +01:00
}
}
} ,
{
"role" : "roomServer" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixRecommended" ,
"subTitle" : "[no display]" ,
2026-01-10 23:15:50 +01:00
"github" : {
"type" : "room-server" ,
"files" : {
2026-03-26 13:14:06 +01:00
"flash" : "Heltec_t114_without_display_room_server.*?\\.zip" ,
"download" : "Heltec_t114_without_display_room_server.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "heltec" ,
"class" : "community" ,
"name" : "Heltec Wireless Tracker v2" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"tooltip" : "<img class='device' src='/img/heltec_wt2.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "heltec_tracker_v2_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "heltec_tracker_v2_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "heltec_tracker_v2_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "heltec_tracker_v2_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "heltec_tracker_v2_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "heltec_tracker_v2_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "heltec_tracker_v2_room_server.*?-merged\\.bin" ,
"flash-update" : "heltec_tracker_v2_room_server.*?-[a-f0-9]{7}\\.bin"
2026-01-10 23:15:50 +01:00
}
}
}
]
} ,
{
"maker" : "heltec" ,
"class" : "community" ,
"name" : "Heltec MeshPocket" ,
"icon" : "/img/lora.svg" ,
"type" : "nrf52" ,
"erase" : "FLASH_ERASE_nrf52_softdevice_v6.zip" ,
"tooltip" : "<img class='device' src='/img/heltec_meshpocket.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "Mesh_pocket_companion_radio_ble.*?\\.zip" ,
"download" : "Mesh_pocket_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "Mesh_pocket_companion_radio_usb.*?\\.zip" ,
"download" : "Mesh_pocket_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "Mesh_pocket_[rR]epeater.*?\\.zip" ,
"download" : "Mesh_pocket_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "Mesh_pocket_room_server.*?\\.zip" ,
"download" : "Mesh_pocket_room_server.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "heltec" ,
"class" : "community" ,
"name" : "Heltec MeshSolar / MeshTower" ,
"icon" : "/img/lora.svg" ,
"type" : "nrf52" ,
"erase" : "FLASH_ERASE_nrf52_softdevice_v6.zip" ,
"tooltip" : "<img class='device' src='/img/heltec_mesh_solar.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "Heltec_mesh_solar_companion_radio_ble.*?\\.zip" ,
"download" : "Heltec_mesh_solar_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "Heltec_mesh_solar_companion_radio_usb.*?\\.zip" ,
"download" : "Heltec_mesh_solar_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "Heltec_mesh_solar_[rR]epeater.*?\\.zip" ,
"download" : "Heltec_mesh_solar_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "Heltec_mesh_solar_room_server.*?\\.zip" ,
"download" : "Heltec_mesh_solar_room_server.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "heltec" ,
"class" : "community" ,
"name" : "Heltec Wireless Tracker" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"tooltip" : "<img class='device' src='/img/heltec_wt3.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Heltec_Wireless_Tracker_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "Heltec_Wireless_Tracker_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Heltec_Wireless_Tracker_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "Heltec_Wireless_Tracker_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "Heltec_Wireless_Tracker_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "Heltec_Wireless_Tracker_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "Heltec_Wireless_Tracker_room_server.*?-merged\\.bin" ,
"flash-update" : "Heltec_Wireless_Tracker_room_server.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "heltec" ,
"class" : "community" ,
"name" : "Heltec Heltec Wireless Paper" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"tooltip" : "<img class='device' src='/img/heltec_paper.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Heltec_Wireless_Paper_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "Heltec_Wireless_Paper_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Heltec_Wireless_Paper_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "Heltec_Wireless_Paper_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "Heltec_Wireless_Paper_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "Heltec_Wireless_Paper_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "Heltec_Wireless_Paper_room_server.*?-merged\\.bin" ,
"flash-update" : "Heltec_Wireless_Paper_room_server.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "heltec" ,
"class" : "community" ,
"name" : "Heltec WSL3" ,
"icon" : "/img/lora.svg" ,
"type" : "esp32" ,
"tooltip" : "<img class='device' src='/img/heltec_wsl3.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Heltec_WSL3_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "Heltec_WSL3_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Heltec_WSL3_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "Heltec_WSL3_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "Heltec_WSL3_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "Heltec_WSL3_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "Heltec_WSL3_room_server.*?-merged\\.bin" ,
"flash-update" : "Heltec_WSL3_room_server.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "Ikoka" ,
"class" : "community" ,
"name" : "Ikoka Stick" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/ikoka_stick.svg'>" ,
"type" : "nrf52" ,
"erase" : "FLASH_ERASE_nrf52_softdevice_v7.zip" ,
2026-03-26 13:14:06 +01:00
"bootloader" : "xiao_nrf52840_ble_bootloader-0.9.2-OTAFIX2.1.uf2" ,
2026-01-10 23:15:50 +01:00
"firmware" : [
{
"role" : "companionBle" ,
"title" : "Companion radio - 22dBm" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ikoka_stick_nrf_22dbm_companion_radio_ble.*?\\.zip" ,
"download" : "ikoka_stick_nrf_22dbm_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"title" : "Companion radio - 22dBm" ,
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ikoka_stick_nrf_22dbm_companion_radio_usb.*?\\.zip" ,
"download" : "ikoka_stick_nrf_22dbm_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"title" : "Repeater - 22dBm" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "ikoka_stick_nrf_22dbm_[Rr]epeater.*?\\.zip" ,
"download" : "ikoka_stick_nrf_22dbm_[Rr]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"title" : "Room Server - 22dBm" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "ikoka_stick_nrf_22dbm_room_server.*?\\.zip" ,
"download" : "ikoka_stick_nrf_22dbm_room_server.*?\\.uf2"
}
}
} ,
{
"role" : "companionBle" ,
"title" : "Companion radio - 30dBm" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ikoka_stick_nrf_30dbm_companion_radio_ble.*?\\.zip" ,
"download" : "ikoka_stick_nrf_30dbm_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"title" : "Companion radio - 30dBm" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ikoka_stick_nrf_30dbm_companion_radio_usb.*?\\.zip" ,
"download" : "ikoka_stick_nrf_30dbm_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"title" : "Repeater - 30dBm" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "ikoka_stick_nrf_30dbm_[Rr]epeater.*?\\.zip" ,
"download" : "ikoka_stick_nrf_30dbm_[Rr]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"title" : "Room Server - 30dBm" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "ikoka_stick_nrf_30dbm_room_server.*?\\.zip" ,
"download" : "ikoka_stick_nrf_30dbm_room_server.*?\\.uf2"
}
}
} ,
{
"role" : "companionBle" ,
"title" : "Companion radio - 33dBm" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ikoka_stick_nrf_33dbm_companion_radio_ble.*?\\.zip" ,
"download" : "ikoka_stick_nrf_33dbm_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"title" : "Companion radio - 33dBm" ,
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ikoka_stick_nrf_33dbm_companion_radio_usb.*?\\.zip" ,
"download" : "ikoka_stick_nrf_33dbm_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"title" : "Repeater - 33dBm" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "ikoka_stick_nrf_33dbm_[Rr]epeater.*?\\.zip" ,
"download" : "ikoka_stick_nrf_33dbm_[Rr]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"title" : "Room Server - 33dBm" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "ikoka_stick_nrf_33dbm_room_server.*?\\.zip" ,
"download" : "ikoka_stick_nrf_33dbm_room_server.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "Ikoka" ,
"class" : "community" ,
"name" : "Ikoka Nano" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/ikoka_nano.svg'>" ,
"type" : "nrf52" ,
"erase" : "FLASH_ERASE_nrf52_softdevice_v7.zip" ,
2026-03-26 13:14:06 +01:00
"bootloader" : "xiao_nrf52840_ble_bootloader-0.9.2-OTAFIX2.1.uf2" ,
2026-01-10 23:15:50 +01:00
"firmware" : [
{
"role" : "companionBle" ,
"title" : "Companion radio - 22dBm" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ikoka_nano_nrf_22dbm_companion_radio_ble.*?\\.zip" ,
"download" : "ikoka_nano_nrf_22dbm_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"title" : "Companion radio - 22dBm" ,
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ikoka_nano_nrf_22dbm_companion_radio_usb.*?\\.zip" ,
"download" : "ikoka_nano_nrf_22dbm_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"title" : "Repeater - 22dBm" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "ikoka_nano_nrf_22dbm_[Rr]epeater.*?\\.zip" ,
"download" : "ikoka_nano_nrf_22dbm_[Rr]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"title" : "Room Server - 22dBm" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "ikoka_nano_nrf_22dbm_room_server.*?\\.zip" ,
"download" : "ikoka_nano_nrf_22dbm_room_server.*?\\.uf2"
}
}
} ,
{
"role" : "companionBle" ,
"title" : "Companion radio - 30dBm" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ikoka_nano_nrf_30dbm_companion_radio_ble.*?\\.zip" ,
"download" : "ikoka_nano_nrf_30dbm_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"title" : "Companion radio - 30dBm" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ikoka_nano_nrf_30dbm_companion_radio_usb.*?\\.zip" ,
"download" : "ikoka_nano_nrf_30dbm_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"title" : "Repeater - 30dBm" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "ikoka_nano_nrf_30dbm_[Rr]epeater.*?\\.zip" ,
"download" : "ikoka_nano_nrf_30dbm_[Rr]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"title" : "Room Server - 30dBm" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "ikoka_nano_nrf_30dbm_room_server.*?\\.zip" ,
"download" : "ikoka_nano_nrf_30dbm_room_server.*?\\.uf2"
}
}
} ,
{
"role" : "companionBle" ,
"title" : "Companion radio - 33dBm" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ikoka_nano_nrf_33dbm_companion_radio_ble.*?\\.zip" ,
"download" : "ikoka_nano_nrf_33dbm_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"title" : "Companion radio - 33dBm" ,
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ikoka_nano_nrf_33dbm_companion_radio_usb.*?\\.zip" ,
"download" : "ikoka_nano_nrf_33dbm_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"title" : "Repeater - 33dBm" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "ikoka_nano_nrf_33dbm_[Rr]epeater.*?\\.zip" ,
"download" : "ikoka_nano_nrf_33dbm_[Rr]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"title" : "Room Server - 33dBm" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "ikoka_nano_nrf_33dbm_room_server.*?\\.zip" ,
"download" : "ikoka_nano_nrf_33dbm_room_server.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "keepteen" ,
"class" : "community" ,
"name" : "Keepteen LT1" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/keepteen_lt1.svg'>" ,
"type" : "nrf52" ,
"erase" : "FLASH_ERASE_nrf52_softdevice_v6.zip" ,
2026-03-26 13:14:06 +01:00
"bootloader" : "wiscore_rak4631_board_bootloader-0.9.2-OTAFIX2.1.uf2" ,
2026-01-10 23:15:50 +01:00
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "KeepteenLT1_companion_radio_ble.*?\\.zip" ,
"download" : "KeepteenLT1_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "KeepteenLT1_companion_radio_usb.*?\\.zip" ,
"download" : "KeepteenLT1_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "KeepteenLT1_[rR]epeater.*?\\.zip" ,
"download" : "KeepteenLT1_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "KeepteenLT1_room_server.*?\\.zip" ,
"download" : "KeepteenLT1_room_server.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "rak" ,
"class" : "community" ,
2026-03-26 13:14:06 +01:00
"name" : "RAK WisBlock 3112" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/rak_3112.svg'>" ,
"type" : "esp32" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "RAK3112_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "RAK3112_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "RAK3112_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "RAK3112_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "RAK3112_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "RAK3112_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "RAK3112_room_server.*?-merged\\.bin" ,
"flash-update" : "RAK3112_room_server.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "rak" ,
"class" : "community" ,
"name" : "RAK WisBlock / WisMesh (RAK 4631)" ,
2026-01-10 23:15:50 +01:00
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/rak_4631.svg'>" ,
"type" : "nrf52" ,
"erase" : "FLASH_ERASE_nrf52_softdevice_v6.zip" ,
2026-03-26 13:14:06 +01:00
"bootloader" : "wiscore_rak4631_board_bootloader-0.9.2-OTAFIX2.1.uf2" ,
2026-01-10 23:15:50 +01:00
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "RAK_4631_companion_radio_ble.*?\\.zip" ,
"download" : "RAK_4631_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "RAK_4631_companion_radio_usb.*?\\.zip" ,
"download" : "RAK_4631_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixRecommended" ,
2026-01-10 23:15:50 +01:00
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "RAK_4631_[rR]epeater.*?\\.zip" ,
"download" : "RAK_4631_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixRecommended" ,
2026-01-10 23:15:50 +01:00
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "RAK_4631_room_server.*?\\.zip" ,
"download" : "RAK_4631_room_server.*?\\.uf2"
}
}
}
]
} ,
2026-03-26 13:14:06 +01:00
{
"maker" : "rak" ,
"class" : "community" ,
"name" : "RAK WisMesh 1W Booster (3401 + 13302)" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/rak_13302.svg'>" ,
"type" : "nrf52" ,
"erase" : "FLASH_ERASE_nrf52_softdevice_v6.zip" ,
"bootloader" : "wiscore_rak4631_board_bootloader-0.9.2-OTAFIX2.1.uf2" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "RAK_3401_companion_radio_ble.*?\\.zip" ,
"download" : "RAK_3401_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "RAK_3401_companion_radio_usb.*?\\.zip" ,
"download" : "RAK_3401_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
"notice" : "otafixRecommended" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "RAK_3401_[rR]epeater.*?\\.zip" ,
"download" : "RAK_3401_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
"notice" : "otafixRecommended" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "RAK_3401_room_server.*?\\.zip" ,
"download" : "RAK_3401_room_server.*?\\.uf2"
}
}
}
]
} ,
2026-01-10 23:15:50 +01:00
{
"maker" : "rak" ,
"class" : "community" ,
"name" : "RAK WisMesh Tag" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/rak_wismesh_tag.svg'>" ,
"type" : "nrf52" ,
"erase" : "FLASH_ERASE_nrf52_softdevice_v6.zip" ,
2026-03-26 13:14:06 +01:00
"bootloader" : "wismesh_tag_bootloader-0.9.2-OTAFIX2.1.uf2" ,
2026-01-10 23:15:50 +01:00
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "RAK_WisMesh_Tag_companion_radio_ble.*?\\.zip" ,
"download" : "RAK_WisMesh_Tag_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "RAK_WisMesh_Tag_companion_radio_usb.*?\\.zip" ,
"download" : "RAK_WisMesh_Tag_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixRecommended" ,
2026-01-10 23:15:50 +01:00
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "RAK_WisMesh_Tag_[rR]epeater.*?\\.zip" ,
"download" : "RAK_WisMesh_Tag_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixRecommended" ,
2026-01-10 23:15:50 +01:00
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "RAK_WisMesh_Tag_room_server.*?\\.zip" ,
"download" : "RAK_WisMesh_Tag_room_server.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "seeed" ,
"class" : "community" ,
"name" : "Seeed Studio SenseCAP Solar" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/sensecap_solar.svg'>" ,
"type" : "nrf52" ,
"erase" : "FLASH_ERASE_nrf52_softdevice_v7.zip" ,
2026-03-26 13:14:06 +01:00
"bootloader" : "sensecap_solar_bootloader-0.9.2-OTAFIX2.1.uf2" ,
2026-01-10 23:15:50 +01:00
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "SenseCap_Solar_companion_radio_ble.*?\\.zip" ,
"download" : "SenseCap_Solar_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "SenseCap_Solar_companion_radio_usb.*?\\.zip" ,
"download" : "SenseCap_Solar_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "SenseCap_Solar_[rR]epeater.*?\\.zip" ,
"download" : "SenseCap_Solar_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "SenseCap_Solar_room_server.*?\\.zip" ,
"download" : "SenseCap_Solar_room_server.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "seeed" ,
"class" : "community" ,
"name" : "Seeed Studio SenseCAP T1000-E" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/sensecap_t1000e.svg'>" ,
"type" : "nrf52" ,
"erase" : "FLASH_ERASE_nrf52_softdevice_v7.zip" ,
2026-03-26 13:14:06 +01:00
"bootloader" : "t1000_e_bootloader-0.9.2-OTAFIX2.1.uf2" ,
2026-01-10 23:15:50 +01:00
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "t1000e_companion_radio_ble.*?\\.zip" ,
"download" : "t1000e_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "t1000e_companion_radio_usb.*?\\.zip" ,
"download" : "t1000e_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "t1000e_[rR]epeater.*?\\.zip" ,
"download" : "t1000e_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "t1000e_room_server.*?\\.zip" ,
"download" : "t1000e_room_server.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "seeed" ,
"class" : "community" ,
"name" : "Seeed Studio Wio Tracker L1 Pro" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/wio_tracker_l1.svg'>" ,
"type" : "nrf52" ,
"erase" : "WioTrackerL1_QSPIFlash_Format-v1.2.zip" ,
2026-03-26 13:14:06 +01:00
"bootloader" : "wio_tracker_l1_bootloader-0.9.2-OTAFIX2.1.uf2" ,
2026-01-10 23:15:50 +01:00
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "WioTrackerL1_companion_radio_ble.*?\\.zip" ,
"download" : "WioTrackerL1_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "WioTrackerL1_companion_radio_usb.*?\\.zip" ,
"download" : "WioTrackerL1_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "WioTrackerL1_[rR]epeater.*?\\.zip" ,
"download" : "WioTrackerL1_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "WioTrackerL1_room_server.*?\\.zip" ,
"download" : "WioTrackerL1_room_server.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "seeed" ,
"class" : "community" ,
"name" : "Seeed Studio Wio Tracker L1 EINK" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/wio_tracker_l1_eink.svg'>" ,
2026-03-26 13:14:06 +01:00
"bootloader" : "wio_tracker_l1_bootloader-0.9.2-OTAFIX2.1.uf2" ,
2026-01-10 23:15:50 +01:00
"type" : "nrf52" ,
"erase" : "WioTrackerL1_QSPIFlash_Format-v1.2.zip" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "WioTrackerL1Eink_companion_radio_ble.*?\\.zip" ,
"download" : "WioTrackerL1Eink_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "WioTrackerL1Eink_companion_radio_usb.*?\\.zip" ,
"download" : "WioTrackerL1Eink_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "WioTrackerL1Eink_[rR]epeater.*?\\.zip" ,
"download" : "WioTrackerL1Eink_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "WioTrackerL1Eink_room_server.*?\\.zip" ,
"download" : "WioTrackerL1Eink_room_server.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "seeed" ,
"class" : "community" ,
"name" : "Seeed Studio Xiao C3" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/xiao_esp32c3.svg'>" ,
"type" : "esp32" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Xiao_C3_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "Xiao_C3_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Xiao_C3_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "Xiao_C3_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"subTitle" : "(SX1262 version)" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "Xiao_C3_sx1262_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "Xiao_C3_sx1262_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"subTitle" : "(SX1268 version)" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "Xiao_C3_sx1268_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "Xiao_C3_sx1268_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "seeed" ,
"class" : "community" ,
"name" : "Seeed Studio Xiao S3 WIO" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/xiao_esp32s3.svg'>" ,
"type" : "esp32" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Xiao_S3_WIO_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "Xiao_S3_WIO_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Xiao_S3_WIO_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "Xiao_S3_WIO_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "Xiao_S3_WIO_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "Xiao_S3_WIO_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "Xiao_S3_WIO_room_server.*?-merged\\.bin" ,
"flash-update" : "Xiao_S3_WIO_room_server.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "seeed" ,
"class" : "community" ,
"name" : "Seeed Studio Xiao nRF52 WIO" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/xiao_nrf52.svg'>" ,
"type" : "nrf52" ,
"erase" : "Xiao_nrf52_QSPIFlash_Format-v1.2.zip" ,
2026-03-26 13:14:06 +01:00
"bootloader" : "xiao_nrf52840_ble_bootloader-0.9.2-OTAFIX2.1.uf2" ,
2026-01-10 23:15:50 +01:00
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "Xiao_nrf52_companion_radio_ble.*?\\.zip" ,
"download" : "Xiao_nrf52_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "Xiao_nrf52_companion_radio_usb.*?\\.zip" ,
"download" : "Xiao_nrf52_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "Xiao_nrf52_[rR]epeater.*?\\.zip" ,
"download" : "Xiao_nrf52_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixNeeded" ,
2026-01-10 23:15:50 +01:00
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "Xiao_nrf52_room_server.*?\\.zip" ,
"download" : "Xiao_nrf52_room_server.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "elecrow" ,
"class" : "community" ,
"name" : "Elecrow ThinkNode M1" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/thinknode_m1.svg'>" ,
"type" : "nrf52" ,
"erase" : "ThinkNode_M1_QSPIFlash_Format-v1.2.zip" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ThinkNode_M1_companion_radio_ble.*?\\.zip" ,
"download" : "ThinkNode_M1_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ThinkNode_M1_companion_radio_usb.*?\\.zip" ,
"download" : "ThinkNode_M1_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "ThinkNode_M1_[rR]epeater.*?\\.zip" ,
"download" : "ThinkNode_M1_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "ThinkNode_M1_room_server.*?\\.zip" ,
"download" : "ThinkNode_M1_room_server.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "elecrow" ,
"class" : "community" ,
"name" : "Elecrow ThinkNode M2" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/thinknode_m2.svg'>" ,
"type" : "esp32" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "ThinkNode_M2_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "ThinkNode_M2_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "ThinkNode_M2_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "ThinkNode_M2_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "ThinkNode_M2_repeater.*?-merged\\.bin" ,
"flash-update" : "ThinkNode_M2_repeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "ThinkNode_M2_room_server.*?-merged\\.bin" ,
"flash-update" : "ThinkNode_M2_room_server.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "elecrow" ,
"class" : "community" ,
"name" : "Elecrow ThinkNode M3" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/thinknode_m3.svg'>" ,
"type" : "nrf52" ,
"erase" : "FLASH_ERASE_nrf52_softdevice_v6.zip" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ThinkNode_M3_companion_radio_ble.*?\\.zip" ,
"download" : "ThinkNode_M3_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ThinkNode_M3_companion_radio_usb.*?\\.zip" ,
"download" : "ThinkNode_M3_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "ThinkNode_M3_[rR]epeater.*?\\.zip" ,
"download" : "ThinkNode_M3_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "ThinkNode_M3_room_server.*?\\.zip" ,
"download" : "ThinkNode_M3_room_server.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "elecrow" ,
"class" : "community" ,
"name" : "Elecrow ThinkNode M5" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/thinknode_m5.svg'>" ,
"type" : "esp32" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "ThinkNode_M5_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "ThinkNode_M5_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "ThinkNode_M5_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "ThinkNode_M5_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "ThinkNode_M5_repeater.*?-merged\\.bin" ,
"flash-update" : "ThinkNode_M5_repeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "ThinkNode_M5_room_server.*?-merged\\.bin" ,
"flash-update" : "ThinkNode_M5_room_server.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "elecrow" ,
"class" : "community" ,
"name" : "Elecrow ThinkNode M6" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/thinknode_m6.svg'>" ,
"type" : "nrf52" ,
"erase" : "FLASH_ERASE_nrf52_softdevice_v6.zip" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ThinkNode_M6_companion_radio_ble.*?\\.zip" ,
"download" : "ThinkNode_M6_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "ThinkNode_M6_companion_radio_usb.*?\\.zip" ,
"download" : "ThinkNode_M6_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "ThinkNode_M6_[rR]epeater.*?\\.zip" ,
"download" : "ThinkNode_M6_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "ThinkNode_M6_room_server.*?\\.zip" ,
"download" : "ThinkNode_M6_room_server.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "uniteng" ,
"class" : "community" ,
"name" : "UnitEng Station G2" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/station_g2.svg'>" ,
"type" : "esp32" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Station_G2_companion_radio_ble.*?-merged\\.bin" ,
"flash-update" : "Station_G2_companion_radio_ble.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash-wipe" : "Station_G2_companion_radio_usb.*?-merged\\.bin" ,
"flash-update" : "Station_G2_companion_radio_usb.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"flash-wipe" : "Station_G2_[rR]epeater.*?-merged\\.bin" ,
"flash-update" : "Station_G2_[rR]epeater.*?-[a-f0-9]{7}\\.bin"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"flash-wipe" : "Station_G2_room_server.*?-merged\\.bin" ,
"flash-update" : "Station_G2_room_server.*?-[a-f0-9]{7}\\.bin"
}
}
}
]
} ,
{
"maker" : "uniteng" ,
"class" : "community" ,
"name" : "UnitEng Nano G2 Ultra" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/nano_g2.svg'>" ,
"type" : "nrf52" ,
"erase" : "Nano_G2_Ultra_QSPIFlash_Format-v1.2.zip" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "Nano_G2_Ultra_companion_radio_ble.*?\\.zip" ,
"download" : "Nano_G2_Ultra_companion_radio_ble.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "promicro" ,
"class" : "community" ,
"name" : "ProMicro nrf52 (faketec)" ,
"icon" : "/img/lora.svg" ,
"tooltip" : "<img class='device' src='/img/faketec.svg'>" ,
"type" : "nrf52" ,
"erase" : "FLASH_ERASE_nrf52_softdevice_v6.zip" ,
2026-03-26 13:14:06 +01:00
"bootloader" : "promicro_nrf52840_bootloader-0.9.2-OTAFIX2.1.uf2" ,
2026-01-10 23:15:50 +01:00
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "(?:ProMicro|Faketec)_companion_radio_ble.*?\\.zip" ,
"download" : "(?:ProMicro|Faketec)_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"flash" : "(?:ProMicro|Faketec)_companion_radio_usb.*?\\.zip" ,
"download" : "(?:ProMicro|Faketec)_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixRecommended" ,
2026-01-10 23:15:50 +01:00
"github" : {
"type" : "repeater" ,
"files" : {
"flash" : "(?:ProMicro|Faketec)_[rR]epeater.*?\\.zip" ,
"download" : "(?:ProMicro|Faketec)_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
2026-03-26 13:14:06 +01:00
"notice" : "otafixRecommended" ,
2026-01-10 23:15:50 +01:00
"github" : {
"type" : "room-server" ,
"files" : {
"flash" : "(?:ProMicro|Faketec)_room_server.*?\\.zip" ,
"download" : "(?:ProMicro|Faketec)_room_server.*?\\.uf2"
}
}
}
]
} ,
{
"maker" : "raspberry" ,
"class" : "community" ,
2026-03-26 13:14:06 +01:00
"name" : "RPI Pico 2040 + WaveShare SX1262" ,
2026-01-10 23:15:50 +01:00
"icon" : "/img/lora.svg" ,
"type" : "noflash" ,
"tooltip" : "<img class='device' src='/img/rpi_picow.svg'>" ,
"firmware" : [
{
"role" : "companionBle" ,
"github" : {
"type" : "companion" ,
"files" : {
"download" : "PicoW_companion_radio_ble.*?\\.uf2"
}
}
} ,
{
"role" : "companionUsb" ,
"github" : {
"type" : "companion" ,
"files" : {
"download" : "PicoW_companion_radio_usb.*?\\.uf2"
}
}
} ,
{
"role" : "repeater" ,
"github" : {
"type" : "repeater" ,
"files" : {
"download" : "PicoW_[rR]epeater.*?\\.uf2"
}
}
} ,
{
"role" : "roomServer" ,
"github" : {
"type" : "room-server" ,
"files" : {
"download" : "PicoW_room_server.*?\\.uf2"
}
}
}
]
}
]
2025-02-23 10:19:53 +01:00
}