flasher.meshcore.dev/config.json
2026-01-10 23:15:50 +01:00

3711 lines
No EOL
111 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"staticPath": "/firmware",
"role": {
"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"
}
},
"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": [
{
"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": {
"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": {
"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": {
"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": {
"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"
}
}
}
]
},
{
"maker": "lilygo",
"class": "ripple",
"name": "LilyGo T5 E-Paper S3 Pro (non-gps, only rev. H752)",
"tooltip": "<img class='device' src='/img/lilygo_t5_pro.svg'>",
"icon": "/img/lora.svg",
"type": "esp32",
"firmware": [
{
"role": "gui",
"version": {
"v7.1": {
"files": [
{
"type": "flash-wipe",
"name": "Ultra-T5-epaper-UKStore-v7.1-merged.bin",
"title": "Combined app+partition+bootloader firmware bin"
},
{
"type": "flash-update",
"name": "Ultra-T5-epaper-UKStore-v7.1.bin",
"title": "App firmware bin (use with m5 booloader)"
}
],
"notes": "* Channel details hex or base64 input\n* MeshCore lib updates/fixes"
},
"v7.0": {
"files": [
{
"type": "flash-wipe",
"name": "Ultra-T5-epaper-UKStore-v7.0-merged.bin",
"title": "Combined app+partition+bootloader firmware bin"
},
{
"type": "flash-update",
"name": "Ultra-T5-epaper-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-T5-epaper-UKStore-v6.9-merged.bin",
"title": "Combined app+partition+bootloader firmware bin"
},
{
"type": "flash-update",
"name": "Ultra-T5-epaper-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-T5-epaper-UKStore-v6.8-merged.bin",
"title": "Combined app+partition+bootloader firmware bin"
},
{
"type": "flash-update",
"name": "Ultra-T5-epaper-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-T5-epaper-v6.7-merged.bin",
"title": "Combined app+partition+bootloader firmware bin"
},
{
"type": "flash-update",
"name": "RippleUltra-T5-epaper-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-T5-epaper-v6.6-merged.bin",
"title": "Combined app+partition+bootloader firmware bin"
},
{
"type": "flash-update",
"name": "RippleUltra-T5-epaper-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-T5-epaper-v6.5-merged.bin",
"title": "Combined app+partition+bootloader firmware bin"
},
{
"type": "flash-update",
"name": "RippleUltra-T5-epaper-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-T5-epaper-v6.3-merged.bin",
"title": "Combined app+partition+bootloader firmware bin"
},
{
"type": "flash-update",
"name": "RippleUltra-T5-epaper-v6.3.bin",
"title": "App firmware bin (use with m5 booloader)"
}
],
"notes": "* BUG Fix: advert verify caused memory corruption"
},
"v6.0-beta22": {
"files": [
{
"type": "flash-wipe",
"name": "RippleUltra-T5-epaper-v6.0-beta21-merged.bin",
"title": "Combined app+partition+bootloader firmware bin"
},
{
"type": "flash-update",
"name": "RippleUltra-T5-epaper-v6.0-beta21.bin",
"title": "App firmware bin (use with m5 booloader)"
}
]
}
}
}
]
},
{
"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": {
"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": {
"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": {
"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",
"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": {
"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)"
}
],
"notes": "* Repeater & Room UI redesign\n* Room, admin CLI now from menu"
}
}
}
]
},
{
"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",
"firmware": [
{
"role": "gui",
"version": {
"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": "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",
"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",
"icon": "/img/lora.svg",
"type": "nrf52",
"erase": "FLASH_ERASE_nrf52_softdevice_v6.zip",
"tooltip": "<img class='device' src='/img/lilygo_techo_lite.svg'>",
"firmware": [
{
"role": "companionBle",
"github": {
"type": "companion",
"files": {
"flash": "LilyGo_T-Echo-Lite_companion_radio_ble.*?\\.zip",
"download": "LilyGo_T-Echo-Lite_companion_radio_ble.*?\\.uf2"
}
}
},
{
"role": "companionUsb",
"github": {
"type": "companion",
"files": {
"flash": "LilyGo_T-Echo-Lite_companion_radio_usb.*?\\.zip",
"download": "LilyGo_T-Echo-Lite_companion_radio_usb.*?\\.uf2"
}
}
},
{
"role": "repeater",
"github": {
"type": "repeater",
"files": {
"flash": "LilyGo_T-Echo-Lite_[rR]epeater.*?\\.zip",
"download": "LilyGo_T-Echo-Lite_[rR]epeater.*?\\.uf2"
}
}
},
{
"role": "roomServer",
"github": {
"type": "room-server",
"files": {
"flash": "LilyGo_T-Echo-Lite_room_server.*?\\.zip",
"download": "LilyGo_T-Echo-Lite_room_server.*?\\.uf2"
}
}
}
]
},
{
"maker": "lilygo",
"class": "community",
"name": "LilyGo LoRa32 V2.1_1.6",
"icon": "/img/lora.svg",
"type": "esp32",
"tooltip": "<img class='device' src='/img/lilygo_tlora_1.6.svg'>",
"firmware": [
{
"role": "companionBle",
"github": {
"type": "companion",
"files": {
"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"
}
}
},
{
"role": "companionUsb",
"github": {
"type": "companion",
"files": {
"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"
}
}
},
{
"role": "repeater",
"github": {
"type": "repeater",
"files": {
"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"
}
}
},
{
"role": "roomServer",
"github": {
"type": "room-server",
"files": {
"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"
}
}
}
]
},
{
"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",
"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"
}
}
},
{
"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"
}
}
},
{
"role": "repeater",
"github": {
"type": "repeater",
"files": {
"flash": "Heltec_t114_[rR]epeater.*?\\.zip",
"download": "Heltec_t114_[rR]epeater.*?\\.uf2"
}
}
},
{
"role": "roomServer",
"github": {
"type": "room-server",
"files": {
"flash": "Heltec_t114_room_server.*?\\.zip",
"download": "Heltec_t114_room_server.*?\\.uf2"
}
}
}
]
},
{
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"name": "RAK Wireless WisBlock / WisMesh (RAK 4631)",
"icon": "/img/lora.svg",
"tooltip": "<img class='device' src='/img/rak_4631.svg'>",
"type": "nrf52",
"erase": "FLASH_ERASE_nrf52_softdevice_v6.zip",
"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",
"github": {
"type": "repeater",
"files": {
"flash": "RAK_4631_[rR]epeater.*?\\.zip",
"download": "RAK_4631_[rR]epeater.*?\\.uf2"
}
}
},
{
"role": "roomServer",
"github": {
"type": "room-server",
"files": {
"flash": "RAK_4631_room_server.*?\\.zip",
"download": "RAK_4631_room_server.*?\\.uf2"
}
}
}
]
},
{
"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",
"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",
"github": {
"type": "repeater",
"files": {
"flash": "RAK_WisMesh_Tag_[rR]epeater.*?\\.zip",
"download": "RAK_WisMesh_Tag_[rR]epeater.*?\\.uf2"
}
}
},
{
"role": "roomServer",
"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",
"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",
"github": {
"type": "repeater",
"files": {
"flash": "SenseCap_Solar_[rR]epeater.*?\\.zip",
"download": "SenseCap_Solar_[rR]epeater.*?\\.uf2"
}
}
},
{
"role": "roomServer",
"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",
"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",
"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",
"github": {
"type": "repeater",
"files": {
"flash": "WioTrackerL1_[rR]epeater.*?\\.zip",
"download": "WioTrackerL1_[rR]epeater.*?\\.uf2"
}
}
},
{
"role": "roomServer",
"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'>",
"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",
"github": {
"type": "repeater",
"files": {
"flash": "WioTrackerL1Eink_[rR]epeater.*?\\.zip",
"download": "WioTrackerL1Eink_[rR]epeater.*?\\.uf2"
}
}
},
{
"role": "roomServer",
"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",
"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",
"github": {
"type": "repeater",
"files": {
"flash": "Xiao_nrf52_[rR]epeater.*?\\.zip",
"download": "Xiao_nrf52_[rR]epeater.*?\\.uf2"
}
}
},
{
"role": "roomServer",
"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",
"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",
"github": {
"type": "repeater",
"files": {
"flash": "(?:ProMicro|Faketec)_[rR]epeater.*?\\.zip",
"download": "(?:ProMicro|Faketec)_[rR]epeater.*?\\.uf2"
}
}
},
{
"role": "roomServer",
"github": {
"type": "room-server",
"files": {
"flash": "(?:ProMicro|Faketec)_room_server.*?\\.zip",
"download": "(?:ProMicro|Faketec)_room_server.*?\\.uf2"
}
}
}
]
},
{
"maker": "raspberry",
"class": "community",
"name": "Raspberry Pi Pico RP2040 + WaveShare SX1262",
"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"
}
}
}
]
}
]
}