diff --git a/.skills/compose-ui/strings-index.txt b/.skills/compose-ui/strings-index.txt
index 93c51a572..ff03a5ede 100644
--- a/.skills/compose-ui/strings-index.txt
+++ b/.skills/compose-ui/strings-index.txt
@@ -186,6 +186,7 @@ codec_2_enabled
codec2_sample_rate
coding_rate
collapse_chart
+collapsed
communicate_off_the_grid
### COMPASS ###
compass_bearing
@@ -316,6 +317,9 @@ device_configuration
device_db_cache_limit
device_db_cache_limit_summary
device_gps
+device_links
+device_links_i_want_one
+device_links_open_in_browser
device_metrics_label_value
device_metrics_log
device_metrics_numeric_value
@@ -433,6 +437,7 @@ event_welcome_hamvention
event_welcome_open_sauce
exchange_position
expand_chart
+expanded
expires
### EXPORT ###
export_configuration
diff --git a/androidApp/src/main/assets/marketplaces.json b/androidApp/src/main/assets/marketplaces.json
new file mode 100644
index 000000000..49feb5c99
--- /dev/null
+++ b/androidApp/src/main/assets/marketplaces.json
@@ -0,0 +1,126 @@
+{
+ "rokland": {
+ "regions": [
+ "AU",
+ "AT",
+ "BE",
+ "CA",
+ "DK",
+ "EC",
+ "FR",
+ "DE",
+ "IE",
+ "JP",
+ "NL",
+ "NZ",
+ "NO",
+ "PK",
+ "ES",
+ "SE",
+ "CH",
+ "GB",
+ "US"
+ ],
+ "match": "prefix"
+ },
+ "hexaspot": {
+ "regions": [
+ "AT",
+ "BE",
+ "BG",
+ "CY",
+ "CZ",
+ "DE",
+ "DK",
+ "EE",
+ "ES",
+ "FI",
+ "FR",
+ "GR",
+ "HR",
+ "HU",
+ "IE",
+ "IT",
+ "LT",
+ "LU",
+ "LV",
+ "MT",
+ "NL",
+ "NO",
+ "PL",
+ "PT",
+ "RO",
+ "SE",
+ "SI",
+ "SK"
+ ],
+ "match": "prefix"
+ },
+ "aliexpress": {
+ "regions": [],
+ "match": "suffix"
+ },
+ "amazon": {
+ "regions": [
+ "AU",
+ "CA",
+ "FR",
+ "DE",
+ "IE",
+ "JP",
+ "NL",
+ "ES",
+ "SE",
+ "GB",
+ "US"
+ ],
+ "match": "suffix"
+ },
+ "tindie": {
+ "regions": [
+ "US",
+ "CA",
+ "GB",
+ "DE",
+ "FR",
+ "AU",
+ "NL"
+ ],
+ "match": "suffix"
+ },
+ "muzi": {
+ "regions": [
+ "AU",
+ "AT",
+ "BE",
+ "CA",
+ "CZ",
+ "DK",
+ "FI",
+ "FR",
+ "DE",
+ "HK",
+ "IN",
+ "IE",
+ "IL",
+ "IT",
+ "JP",
+ "MY",
+ "NL",
+ "NZ",
+ "NO",
+ "PL",
+ "PT",
+ "SG",
+ "KR",
+ "ES",
+ "SE",
+ "CH",
+ "TW",
+ "AE",
+ "GB",
+ "US"
+ ],
+ "match": "prefix"
+ }
+}
\ No newline at end of file
diff --git a/androidApp/src/main/assets/urls.json b/androidApp/src/main/assets/urls.json
new file mode 100644
index 000000000..2b02b3fe6
--- /dev/null
+++ b/androidApp/src/main/assets/urls.json
@@ -0,0 +1,1009 @@
+{
+ "Routes": [
+ {
+ "ShortCode": "github",
+ "OriginalUrl": "https://github.com/meshtastic",
+ "Description": "Meshtastic GitHub Organization"
+ },
+ {
+ "ShortCode": "youtube",
+ "OriginalUrl": "https://www.youtube.com/meshtastic",
+ "Description": "Meshtastic YouTube Channel"
+ },
+ {
+ "ShortCode": "reddit",
+ "OriginalUrl": "https://www.reddit.com/r/meshtastic",
+ "Description": "Meshtastic Reddit Community"
+ },
+ {
+ "ShortCode": "docs",
+ "OriginalUrl": "https://meshtastic.org/docs/",
+ "Description": "Meshtastic Documentation"
+ },
+ {
+ "ShortCode": "discord",
+ "OriginalUrl": "https://discord.gg/meshtastic",
+ "Description": "Meshtastic Discord Server"
+ },
+ {
+ "ShortCode": "web",
+ "OriginalUrl": "https://client.meshtastic.org/",
+ "Description": "Meshtastic Web Client"
+ },
+ {
+ "ShortCode": "flash",
+ "OriginalUrl": "https://flasher.meshtastic.org/",
+ "Description": "Meshtastic Web Flasher"
+ },
+ {
+ "ShortCode": "firmware",
+ "OriginalUrl": "https://github.com/meshtastic/firmware",
+ "Description": "Meshtastic Firmware Repository"
+ },
+ {
+ "ShortCode": "android",
+ "OriginalUrl": "https://play.google.com/store/apps/details?id=com.geeksville.mesh",
+ "Description": "Meshtastic Android App"
+ },
+ {
+ "ShortCode": "ios",
+ "OriginalUrl": "https://apple.co/3Auysep",
+ "Description": "Meshtastic iOS App"
+ },
+ {
+ "ShortCode": "rak-collection",
+ "OriginalUrl": "https://store.rakwireless.com/collections/meshtastic?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAKwireless Meshtastic Collection"
+ },
+ {
+ "ShortCode": "rak4631",
+ "OriginalUrl": "https://store.rakwireless.com/products/wisblock-meshtastic-starter-kit?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh RAK4631 Starter Kit"
+ },
+ {
+ "ShortCode": "rak3312",
+ "OriginalUrl": "https://store.rakwireless.com/products/meshtastic-starter-kit-esp32-s3-lora-sx1262?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh ESP32-S3 Starter Kit"
+ },
+ {
+ "ShortCode": "rak3401-1watt",
+ "OriginalUrl": "https://store.rakwireless.com/products/wismesh-1w-booster-starter-kit?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh RAK3401 1W Starter Kit"
+ },
+ {
+ "ShortCode": "rak_wismeshtap",
+ "OriginalUrl": "https://store.rakwireless.com/products/wismesh-tap?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK WisMesh Tap"
+ },
+ {
+ "ShortCode": "rak_wismeshtag",
+ "OriginalUrl": "https://store.rakwireless.com/products/wismesh-tag-meshtastic-gps-lora-tracker-ip66?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK WisMesh Tag"
+ },
+ {
+ "ShortCode": "rokland-wismesh-tag",
+ "OriginalUrl": "https://store.rokland.com/products/wismesh-tag-from-rakwireless-mokosmart-meshtastic-compatible-card-sized-node-us915-mhz",
+ "Description": "Rokland WisMesh Tag"
+ },
+ {
+ "ShortCode": "hexaspot-wismesh-tag",
+ "OriginalUrl": "https://hexaspot.com/collections/meshtastic-products/products/wismesh-tag",
+ "Description": "Hexaspot WisMesh Tag"
+ },
+ {
+ "ShortCode": "aliexpress-wismesh-tag",
+ "OriginalUrl": "https://www.aliexpress.com/item/1005009754254701.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "Aliexpress RAK WisMesh Tag"
+ },
+ {
+ "ShortCode": "rak19007",
+ "OriginalUrl": "https://store.rakwireless.com/products/rak19007-wisblock-base-board-2nd-gen?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAKwireless RAK19007 WisBlock Base Board 2nd Gen"
+ },
+ {
+ "ShortCode": "tbeam-s3-core",
+ "OriginalUrl": "https://lilygo.cc/products/t-beam-supreme-meshtastic",
+ "Description": "T-Beam Supreme"
+ },
+ {
+ "ShortCode": "t-echo",
+ "OriginalUrl": "https://lilygo.cc/products/t-echo-meshtastic",
+ "Description": "T-Echo"
+ },
+ {
+ "ShortCode": "t-watch-s3",
+ "OriginalUrl": "https://lilygo.cc/products/t-watch-s3",
+ "Description": "T-Watch S3"
+ },
+ {
+ "ShortCode": "t-deck",
+ "OriginalUrl": "https://lilygo.cc/products/t-deck-meshtastic",
+ "Description": "T-Deck"
+ },
+ {
+ "ShortCode": "tlora-t3s3-v1",
+ "OriginalUrl": "https://lilygo.cc/products/t3-s3-meshtastic",
+ "Description": "T3S3"
+ },
+ {
+ "ShortCode": "heltec-mesh-node-t114",
+ "OriginalUrl": "https://heltec.org/project/mesh-node-t114/",
+ "Description": "Mesh Node T114"
+ },
+ {
+ "ShortCode": "heltec-vision-master-e213",
+ "OriginalUrl": "https://heltec.org/project/vision-master-e213/",
+ "Description": "Vision Master E213"
+ },
+ {
+ "ShortCode": "heltec-vision-master-e290",
+ "OriginalUrl": "https://heltec.org/project/vision-master-e290/",
+ "Description": "Vision Master E290"
+ },
+ {
+ "ShortCode": "heltec-vision-master-t190",
+ "OriginalUrl": "https://heltec.org/project/vision-master-t190/",
+ "Description": "Vision Master T190"
+ },
+ {
+ "ShortCode": "heltec-wireless-tracker",
+ "OriginalUrl": "https://heltec.org/project/wireless-tracker/",
+ "Description": "Wireless Tracker"
+ },
+ {
+ "ShortCode": "heltec-wireless-tracker-v2",
+ "OriginalUrl": "https://heltec.org/project/wireless-tracker-v2/",
+ "Description": "Wireless Tracker V2"
+ },
+ {
+ "ShortCode": "heltec-wireless-paper",
+ "OriginalUrl": "https://heltec.org/project/wireless-paper/",
+ "Description": "Wireless Paper"
+ },
+ {
+ "ShortCode": "heltec-ht62-esp32c3-sx1262",
+ "OriginalUrl": "https://heltec.org/project/ht-ct62/",
+ "Description": "HT-CT62"
+ },
+ {
+ "ShortCode": "wio-tracker-wm1110",
+ "OriginalUrl": "https://www.seeedstudio.com/Wio-Tracker-1110-Dev-Kit-for-Meshtastic.html",
+ "Description": "Wio Tracker WM1110 Dev Kit"
+ },
+ {
+ "ShortCode": "tracker-t1000-e",
+ "OriginalUrl": "https://www.seeedstudio.com/SenseCAP-Card-Tracker-T1000-E-for-Meshtastic-p-5913.html",
+ "Description": "SenseCAP Card Tracker T1000-E"
+ },
+ {
+ "ShortCode": "tracker-t1000-e-aliexpress",
+ "OriginalUrl": "https://www.aliexpress.us/item/3256807287978389.html",
+ "Description": "SenseCAP Card Tracker T1000-E Aliexpress"
+ },
+ {
+ "ShortCode": "tracker-t1000-e-amazon",
+ "OriginalUrl": "https://www.amazon.com/dp/B0DJ6KGXKB",
+ "Description": "SenseCAP Card Tracker T1000-E Amazon"
+ },
+ {
+ "ShortCode": "seeed-sensecap-indicator",
+ "OriginalUrl": "https://www.seeedstudio.com/SenseCAP-Indicator-D1L-for-Meshtastic-p-6304.html",
+ "Description": "SenseCAP Indicator"
+ },
+ {
+ "ShortCode": "station-g2",
+ "OriginalUrl": "https://shop.uniteng.com/product/meshtastic-mesh-device-station-edition/",
+ "Description": "Station G2"
+ },
+ {
+ "ShortCode": "rak2560",
+ "OriginalUrl": "https://store.rakwireless.com/products/wismesh-meshtastic-solar-repeater?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Repeater"
+ },
+ {
+ "ShortCode": "heltec-v3",
+ "OriginalUrl": "https://heltec.org/project/wifi-lora-32-v3/",
+ "Description": "LoRa32 V3"
+ },
+ {
+ "ShortCode": "heltec-wsl-v3",
+ "OriginalUrl": "https://heltec.org/project/wireless-stick-lite-v2/",
+ "Description": "WSL V3"
+ },
+ {
+ "ShortCode": "heltec-v4",
+ "OriginalUrl": "https://heltec.org/project/wifi-lora-32-v4/",
+ "Description": "LoRa32 V4"
+ },
+ {
+ "ShortCode": "seeed-xiao-s3",
+ "OriginalUrl": "https://www.seeedstudio.com/Wio-SX1262-with-XIAO-ESP32S3-p-5982.html",
+ "Description": "XIAO ESP32-S3 + Wio-SX1262 Kit"
+ },
+ {
+ "ShortCode": "tlora-t3s3-epaper",
+ "OriginalUrl": "https://lilygo.cc/products/t3-s3-meshtastic",
+ "Description": "T3S3"
+ },
+ {
+ "ShortCode": "ht-ct62",
+ "OriginalUrl": "https://heltec.org/project/ht-ct62/",
+ "Description": "HT-CT62"
+ },
+ {
+ "ShortCode": "seeed_xiao_nrf52840_kit",
+ "OriginalUrl": "https://www.seeedstudio.com/XIAO-nRF52840-Wio-SX1262-Kit-for-Meshtastic-p-6400.html",
+ "Description": "XIAO nRF52840 & Wio-SX1262 Kit"
+ },
+ {
+ "ShortCode": "seeed_xiao_nrf52840_kit_aliexpress",
+ "OriginalUrl": "https://www.aliexpress.us/item/3256808574469954.html",
+ "Description": "XIAO nRF52840 & Wio-SX1262 Kit Aliexpress"
+ },
+ {
+ "ShortCode": "thinknode_m1",
+ "OriginalUrl": "https://www.elecrow.com/thinknode-m1-meshtastic-lora-signal-transceiver-powered-by-nrf52840-with-154-screen-support-gps.html",
+ "Description": "ThinkNode M1"
+ },
+ {
+ "ShortCode": "thinknode_m2",
+ "OriginalUrl": "https://www.elecrow.com/thinknode-m2-meshtastic-lora-signal-transceiver-powered-by-esp32-s3-with-1-3-oled-display.html",
+ "Description": "ThinkNode M2"
+ },
+ {
+ "ShortCode": "thinknode_m3",
+ "OriginalUrl": "https://www.elecrow.com/thinknode-m3-meshtastic-tracker-with-gps-wifi-ble-function-for-indoor-and-outdoor-positioning.html",
+ "Description": "ThinkNode M3"
+ },
+ {
+ "ShortCode": "thinknode_m5",
+ "OriginalUrl": "https://www.elecrow.com/thinknode-m5-meshtastic-lora-signal-transceiver-esp32-s3-1-54-screen-gps-function.html",
+ "Description": "ThinkNode M5"
+ },
+ {
+ "ShortCode": "thinknode_m4",
+ "OriginalUrl": "https://www.elecrow.com/thinknode-m4-power-bank-lora-device-with-meshtastic-lora-tracker-function-powered-by-nrf52840.html",
+ "Description": "ThinkNode M4"
+ },
+ {
+ "ShortCode": "thinknode_m6",
+ "OriginalUrl": "https://www.elecrow.com/thinknode-m6-outdoor-solar-power-for-meshtastic-powered-by-nrf52840-supports-gps.html",
+ "Description": "ThinkNode M6"
+ },
+ {
+ "ShortCode": "heltec-mesh-pocket-10000",
+ "OriginalUrl": "https://heltec.org/project/meshpocket/",
+ "Description": "MeshPocket"
+ },
+ {
+ "ShortCode": "seeed_solar_node",
+ "OriginalUrl": "https://www.seeedstudio.com/SenseCAP-Solar-Node-P1-Pro-for-Meshtastic-LoRa-p-6412.html",
+ "Description": "SenseCAP Solar Node P1 Pro"
+ },
+ {
+ "ShortCode": "seeed_solar_node_aliexpress",
+ "OriginalUrl": "https://www.aliexpress.us/item/3256808731224053.html",
+ "Description": "SenseCAP Solar Node P1 Pro Aliexpress"
+ },
+ {
+ "ShortCode": "seeed_solar_node_amazon",
+ "OriginalUrl": "https://www.amazon.com/dp/B0FMDHBWX8",
+ "Description": "SenseCAP Solar Node P1 Pro Amazon"
+ },
+ {
+ "ShortCode": "elecrow-adv-35-tft",
+ "OriginalUrl": "https://www.elecrow.com/crowpanel-advance-3-5-hmi-esp32-ai-display-for-meshtastic-320x240-ips-artificial-intelligent-screen.html",
+ "Description": "CrowPanel 3.5"
+ },
+ {
+ "ShortCode": "elecrow-adv1-43-50-70-tft",
+ "OriginalUrl": "https://www.elecrow.com/crowpanel-advance-4-3-hmi-ai-screen-for-meshtastic-esp32-800x480-ips-touch-artificial-intelligent-display-2.html",
+ "Description": "CrowPanel 4.3"
+ },
+ {
+ "ShortCode": "elecrow-adv-24-28-tft",
+ "OriginalUrl": "https://www.elecrow.com/crowpanel-advance-2-4-hmi-ai-display-for-meshtastic-esp32-320x240-ips-artificial-intelligent-touchscreen.html",
+ "Description": "CrowPanel 2.4"
+ },
+ {
+ "ShortCode": "elecrow-adv-28-tft",
+ "OriginalUrl": "https://www.elecrow.com/crowpanel-advance-2-8-hmi-ai-display-for-meshtastic-esp32-320x240-artificial-ips-intelligent-touchscreen.html",
+ "Description": "CrowPanel 2.8"
+ },
+ {
+ "ShortCode": "elecrow-adv1-50-tft",
+ "OriginalUrl": "https://www.elecrow.com/crowpanel-advance-5inch-hmi-esp32-ai-display-800x480-ips-artificial-intelligent-touch-screen-support-meshtastic.html",
+ "Description": "CrowPanel 5.0"
+ },
+ {
+ "ShortCode": "elecrow-adv1-70-tft",
+ "OriginalUrl": "https://www.elecrow.com/crowpanel-advance-7-0-hmi-esp32-ai-display-800x480-artificial-intelligent-ips-touch-screen-for-meshtastic.html",
+ "Description": "CrowPanel 7.0"
+ },
+ {
+ "ShortCode": "seeed_wio_tracker_L1",
+ "OriginalUrl": "https://www.seeedstudio.com/Wio-Tracker-L1-Pro-p-6454.html",
+ "Description": "Wio Tracker L1"
+ },
+ {
+ "ShortCode": "seeed_wio_tracker_L1_aliexpress",
+ "OriginalUrl": "https://www.aliexpress.us/item/3256809394050623.html",
+ "Description": "Wio Tracker L1 Aliexpress"
+ },
+ {
+ "ShortCode": "seeed_wio_tracker_L1_amazon",
+ "OriginalUrl": "https://www.amazon.com/dp/B0FNCS5ST1",
+ "Description": "Wio Tracker L1 Amazon"
+ },
+ {
+ "ShortCode": "nano-g2-ultra",
+ "OriginalUrl": "https://shop.uniteng.com/product/meshtastic-mesh-device-nano-g2-ultra/",
+ "Description": "Nano G2 Ultra"
+ },
+ {
+ "ShortCode": "rak11310",
+ "OriginalUrl": "https://store.rakwireless.com/products/wisblock-rp2040-starter-kit-for-meshtastic?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK11310"
+ },
+ {
+ "ShortCode": "rokland-rak11310",
+ "OriginalUrl": "https://store.rakwireless.com/products/wisblock-rp2040-starter-kit-for-meshtastic?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "Rokland RAKwireless RAK11310 WisBlock RP2040 Core Module"
+ },
+ {
+ "ShortCode": "station-g2-tindie",
+ "OriginalUrl": "https://www.tindie.com/products/neilhao/meshtastic-mesh-device-station-g2/",
+ "Description": "Station G2 Tindie Listing"
+ },
+ {
+ "ShortCode": "nano-g2-ultra-tindie",
+ "OriginalUrl": "https://www.tindie.com/products/neilhao/meshtastic-mesh-device-nano-g2-ultra/",
+ "Description": "Nano G2 Ultra Tindie Listing"
+ },
+ {
+ "ShortCode": "t-deck-plus",
+ "OriginalUrl": "https://lilygo.cc/products/t-deck-plus-meshtastic",
+ "Description": "T-Deck Plus"
+ },
+ {
+ "ShortCode": "rokland-meshtastic-starter-kit",
+ "OriginalUrl": "https://store.rokland.com/products/rak-wireless-wisblock-meshtastic-starter-kit",
+ "Description": "Rokland Meshtastic Starter Kit"
+ },
+ {
+ "ShortCode": "rokland-t-deck-base",
+ "OriginalUrl": "https://store.rokland.com/products/lilygo-t-deck-portable-microcontroller-programmer-lora-915-mhz-h642?variant=41000826372179",
+ "Description": "Rokland T-Deck Base"
+ },
+ {
+ "ShortCode": "rokland-t-deck-complete",
+ "OriginalUrl": "https://store.rokland.com/products/lilygo-t-deck-portable-microcontroller-programmer-lora-915-mhz-h642?variant=42122265690195",
+ "Description": "Rokland T-Deck Complete"
+ },
+ {
+ "ShortCode": "rokland-t-deck-plus",
+ "OriginalUrl": "https://store.rokland.com/products/lilygo-t-deck-portable-microcontroller-programmer-lora-915-mhz-h642?variant=42283977834579",
+ "Description": "Rokland T-Deck Plus"
+ },
+ {
+ "ShortCode": "rokland-t-echo",
+ "OriginalUrl": "https://store.rokland.com/products/lilygo-ttgo-meshtastic-t-echo-white-lora-sx1262-wireless-module-915mhz-nrf52840-gps-for-arduino?ref=8Bb2mUO5i-jKwt",
+ "Description": "Rokland T-Echo"
+ },
+ {
+ "ShortCode": "rokland-t-echo-bme280",
+ "OriginalUrl": "https://store.rokland.com/products/lilygo-ttgo-meshtastic-t-echo-white-bme280-lora-sx1262-wireless-module-915mhz-nrf52840-gps-rtc-nfc-for-arduino?ref=8Bb2mUO5i-jKwt",
+ "Description": "Rokland T-Echo with BME280"
+ },
+ {
+ "ShortCode": "rokland-rak19007",
+ "OriginalUrl": "https://store.rokland.com/products/rak-wireless-wisblock-base-board-2nd-gen-rak19007-ver-b-pid-110082",
+ "Description": "Rokland RAKwireless RAK19007 WisBlock Base Board 2nd Gen"
+ },
+ {
+ "ShortCode": "hexaspot-rak19007",
+ "OriginalUrl": "https://hexaspot.com/collections/rakwireless-wisblock-base/products/rakwireless-rak19007-wisblock-base-board-2nd-gen",
+ "Description": "Hexaspot RAKwireless RAK19007 WisBlock Base Board 2nd Gen"
+ },
+ {
+ "ShortCode": "rokland-starter-kit",
+ "OriginalUrl": "https://store.rokland.com/products/rak-wireless-wisblock-meshtastic-starter-kit",
+ "Description": "Rokland RAKwireless 4631 Starter Kit"
+ },
+ {
+ "ShortCode": "hexaspot-starter-kit",
+ "OriginalUrl": "https://hexaspot.com/collections/wisblock-kits/products/wisblock-starter-kit-wisblock-basic-kit",
+ "Description": "Hexaspot RAKwireless 4631 Starter Kit"
+ },
+ {
+ "ShortCode": "aliexpress-rak1921",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256801470591730.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK1921 OLED Display (AliExpress)"
+ },
+ {
+ "ShortCode": "rak1921",
+ "OriginalUrl": "https://store.rakwireless.com/products/rak1921-oled-display-panel?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK1921 OLED Display (RAK Store)"
+ },
+ {
+ "ShortCode": "rokland-rak1921",
+ "OriginalUrl": "https://store.rokland.com/products/rak-wireless-wisblock-oled-display-rak1921-pid-110004",
+ "Description": "Rokland RAK1921 WisBlock OLED Display"
+ },
+ {
+ "ShortCode": "muzi-rak1921",
+ "OriginalUrl": "https://muzi.works/products/rak-oled-display-ssd1306",
+ "Description": "Muzi Works RAK1921 OLED Display SSD1306"
+ },
+ {
+ "ShortCode": "aliexpress-rak14000",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256803245280485.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK14000 E-Ink Display (AliExpress)"
+ },
+ {
+ "ShortCode": "rak14000",
+ "OriginalUrl": "https://store.rakwireless.com/products/wisblock-epd-module-rak14000?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK14000 E-Ink Display (RAK Store)"
+ },
+ {
+ "ShortCode": "rokland-rak14000",
+ "OriginalUrl": "https://store.rokland.com/products/rak-wireless-wisblock-epd-module-rak14000-pid-110024",
+ "Description": "Rokland RAK14000 WisBlock E-Ink Display"
+ },
+ {
+ "ShortCode": "aliexpress-rak12500",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256802312416216.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK12500 (AliExpress)"
+ },
+ {
+ "ShortCode": "rak12500",
+ "OriginalUrl": "https://store.rakwireless.com/products/wisblock-gnss-location-module-rak12500?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK12500 (RAK Store)"
+ },
+ {
+ "ShortCode": "rak13300",
+ "OriginalUrl": "https://store.rakwireless.com/products/rak13300-wisblock-lpwan?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK13300 LPWAN Module (RAK Store)"
+ },
+ {
+ "ShortCode": "aliexpress-rak13002",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256802904688489.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK13002 IO Module (AliExpress)"
+ },
+ {
+ "ShortCode": "rak13002",
+ "OriginalUrl": "https://store.rakwireless.com/products/adapter-module-rak13002?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK13002 IO Module (RAK Store)"
+ },
+ {
+ "ShortCode": "rokland-rak13002",
+ "OriginalUrl": "https://store.rokland.com/products/rak-wireless-rak13002-wisblock-io-adapter-module",
+ "Description": "Rokland RAK13002 WisBlock IO Adapter Module"
+ },
+ {
+ "ShortCode": "muzi-rak13002",
+ "OriginalUrl": "https://muzi.works/products/rak-io-module",
+ "Description": "Muzi Works RAK13002 IO Module"
+ },
+ {
+ "ShortCode": "rak6421",
+ "OriginalUrl": "https://store.rakwireless.com/products/meshtastic-raspberry-pi-hat-rak6421?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Pi Hat RAK6421 (RAK Store)"
+ },
+ {
+ "ShortCode": "aliexpress-rak18001",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256802312587439.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK18001 RAK Buzzer (AliExpress)"
+ },
+ {
+ "ShortCode": "rak18001",
+ "OriginalUrl": "https://store.rakwireless.com/products/wisblock-buzzer-module-rak18001?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK18001 RAK Buzzer (RAK Store)"
+ },
+ {
+ "ShortCode": "aliexpress-rak1901",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256801444571922.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK1901 Temperature and Humidity Sensor (AliExpress)"
+ },
+ {
+ "ShortCode": "rak1901",
+ "OriginalUrl": "https://store.rakwireless.com/products/rak1901-shtc3-temperature-humidity-sensor?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK1901 Temperature and Humidity Sensor (RAK Store)"
+ },
+ {
+ "ShortCode": "aliexpress-rak1902",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256801445721072.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK-1902 Barometric Pressure Sensor (AliExpress)"
+ },
+ {
+ "ShortCode": "rak1902",
+ "OriginalUrl": "https://store.rakwireless.com/products/rak1902-kps22hb-barometric-pressure-sensor?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK-1902 Barometric Pressure Sensor (RAK Store)"
+ },
+ {
+ "ShortCode": "aliexpress-rak1906",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256801453209668.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK1906 Environment Sensor (AliExpress)"
+ },
+ {
+ "ShortCode": "rak1906",
+ "OriginalUrl": "https://store.rakwireless.com/products/rak1906-bme680-environment-sensor?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK1906 Environment Sensor (RAK Store)"
+ },
+ {
+ "ShortCode": "aliexpress-rak12002",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256803919249064.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK12002 WisBlock RTC Module (AliExpress)"
+ },
+ {
+ "ShortCode": "rak12002",
+ "OriginalUrl": "https://store.rakwireless.com/products/rtc-module-rak12002?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK12002 WisBlock RTC Module (RAK Store)"
+ },
+ {
+ "ShortCode": "rokland-rak12002",
+ "OriginalUrl": "https://store.rokland.com/products/rak-wireless-rak12002-rtc-module-micro-crystal-rv-3028-c7-pid-100032",
+ "Description": "Rokland RAK12002 RTC Module Micro Crystal RV-3028-C7"
+ },
+ {
+ "ShortCode": "aliexpress-wismesh-pocket-v2",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256808087883682.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Pocket V2 (AliExpress)"
+ },
+ {
+ "ShortCode": "rokland-wismesh-pocket-v2",
+ "OriginalUrl": "https://store.rokland.com/products/wismesh-pocket",
+ "Description": "WisMesh Pocket V2 (Rokland)"
+ },
+ {
+ "ShortCode": "hexaspot-wismesh-pocket-v2",
+ "OriginalUrl": "https://hexaspot.com/collections/meshtastic-products/products/wismesh-pocket-v2-ready-to-use-meshtastic-device",
+ "Description": "WisMesh Pocket V2 (Hexaspot)"
+ },
+ {
+ "ShortCode": "wismesh-pocket-v2",
+ "OriginalUrl": "https://store.rakwireless.com/products/wismesh-pocket?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Pocket V2 (RAK Store)"
+ },
+ {
+ "ShortCode": "aliexpress-wismesh-pocket-mini",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256807998160830.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Pocket Mini (Rokland)"
+ },
+ {
+ "ShortCode": "rokland-wismesh-pocket-mini",
+ "OriginalUrl": "https://store.rokland.com/products/rakwireless-wismesh-pocket-mini-all-in-one-meshtastic-handheld-915-mhz-radio-with-lora-antenna",
+ "Description": "WisMesh Pocket Mini (Rokland)"
+ },
+ {
+ "ShortCode": "wismesh-pocket-mini",
+ "OriginalUrl": "https://store.rakwireless.com/products/wismesh-pocket-mini?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Pocket Mini (RAK Store)"
+ },
+ {
+ "ShortCode": "aliexpress-rak19026",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256808063797462.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Baseboard (AliExpress)"
+ },
+ {
+ "ShortCode": "rokland-rak19026",
+ "OriginalUrl": "https://store.rokland.com/products/rakwireless-wismesh-baseboard-rak19026-oled-mounted-gnss-motion-sensor-pid-115125",
+ "Description": "WisMesh Baseboard (Rokland)"
+ },
+ {
+ "ShortCode": "rak19026",
+ "OriginalUrl": "https://store.rakwireless.com/products/wismesh-baseboard-rak19026?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Baseboard (RAK Store)"
+ },
+ {
+ "ShortCode": "aliexpress-wismesh-tap",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256808097004202.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK WisMesh Tap (AliExpress)"
+ },
+ {
+ "ShortCode": "aliexpress-board-one",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256802139951068.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK WisMesh Board ONE (AliExpress)"
+ },
+ {
+ "ShortCode": "board-one",
+ "OriginalUrl": "https://store.rakwireless.com/products/wismesh-board-one-meshtastic-node?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK WisMesh Board ONE (RAK Store)"
+ },
+ {
+ "ShortCode": "rokland-board-one",
+ "OriginalUrl": "https://store.rokland.com/products/rakwireless-wismesh-b1-board",
+ "Description": "Rokland WisMesh Board ONE (US915 MHz)"
+ },
+ {
+ "ShortCode": "wismesh-repeater",
+ "OriginalUrl": "https://store.rakwireless.com/products/wismesh-meshtastic-solar-repeater?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Repeater (RAK Store)"
+ },
+ {
+ "ShortCode": "aliexpress-wismesh-repeater",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256808393658502.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Repeater (AliExpress)"
+ },
+ {
+ "ShortCode": "aliexpress-wismesh-repeater-mini",
+ "OriginalUrl": "https://www.aliexpress.com/item/2251832722300348.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Repeater Mini (AliExpress)"
+ },
+ {
+ "ShortCode": "hexaspot-wismesh-repeater-mini",
+ "OriginalUrl": "https://hexaspot.com/collections/meshtastic-products/products/wismesh-repeater-mini",
+ "Description": "WisMesh Repeater Mini (Hexaspot)"
+ },
+ {
+ "ShortCode": "wismesh-repeater-mini",
+ "OriginalUrl": "https://store.rakwireless.com/products/wishmesh-meshtastic-solar-repeater-mini?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Repeater Mini (RAK Store)"
+ },
+ {
+ "ShortCode": "aliexpress-wismesh-ethernet-gateway",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256801470547683.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Ethernet MQTT Gateway (AliExpress)"
+ },
+ {
+ "ShortCode": "wismesh-ethernet-gateway",
+ "OriginalUrl": "https://store.rakwireless.com/products/wismesh-ethernet-gateway?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Ethernet MQTT Gateway (RAK Store)"
+ },
+ {
+ "ShortCode": "aliexpress-wismesh-wifi-gateway",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256802139923708.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh WiFi MQTT Gateway (AliExpress)"
+ },
+ {
+ "ShortCode": "wismesh-wifi-gateway",
+ "OriginalUrl": "https://store.rakwireless.com/products/wismesh-wifi-gateway?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh WiFi MQTT Gateway (RAK Store)"
+ },
+ {
+ "ShortCode": "aliexpress-board-one-pocket",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256802139951068.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK WisMesh Board ONE Pocket (AliExpress)"
+ },
+ {
+ "ShortCode": "board-one-pocket",
+ "OriginalUrl": "https://store.rakwireless.com/products/wismesh-board-one-pocket-meshtastic-node?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK WisMesh Board ONE Pocket (RAK Store)"
+ },
+ {
+ "ShortCode": "aliexpress-wismesh-unify-enclosure",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256808182747014.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Unify Enclosure (AliExpress)"
+ },
+ {
+ "ShortCode": "wismesh-unify-enclosure",
+ "OriginalUrl": "https://store.rakwireless.com/products/wismesh-unify-enclosure?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Unify Enclosure (RAK Store)"
+ },
+ {
+ "ShortCode": "aliexpress-wismesh-antenna",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256808177346156.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Antenna (AliExpress)"
+ },
+ {
+ "ShortCode": "wismesh-antenna",
+ "OriginalUrl": "https://store.rakwireless.com/products/wismesh-antenna?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh Antenna (RAK Store)"
+ },
+ {
+ "ShortCode": "muzi-rak4631",
+ "OriginalUrl": "https://muzi.works/products/rak-wisblock-meshtastic-starter-kit-us915",
+ "Description": "Muzi RAK4631 Starter Kit"
+ },
+ {
+ "ShortCode": "aliexpress-rak19007",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256803957557617.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK19007 (AliExpress)"
+ },
+ {
+ "ShortCode": "aliexpress-starter-kit",
+ "OriginalUrl": "https://www.aliexpress.com/item/1005006901039995.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "WisMesh RAK4631 Starter Kit (AliExpress)"
+ },
+ {
+ "ShortCode": "rak19003",
+ "OriginalUrl": "https://store.rakwireless.com/products/wisblock-base-board-rak19003?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK19003 (RAK Store)"
+ },
+ {
+ "ShortCode": "aliexpress-rak19003",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256803225234826.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK19003 (AliExpress)"
+ },
+ {
+ "ShortCode": "rak19001",
+ "OriginalUrl": "https://store.rakwireless.com/products/rak19001-wisblock-dual-io-base-board?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK19001 WisBlock Dual IO Base Board (RAK Store)"
+ },
+ {
+ "ShortCode": "aliexpress-rak19001",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256803962043191.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK19001 WisBlock Dual IO Base Board (AliExpress)"
+ },
+ {
+ "ShortCode": "rokland-19003",
+ "OriginalUrl": "https://store.rokland.com/products/rak-wireless-wisblock-mini-base-board-rak19003-ver-b-pid-306024",
+ "Description": "Rokland WisBlock Mini Base Board RAK19003 (Ver B)"
+ },
+ {
+ "ShortCode": "hexaspot-19003",
+ "OriginalUrl": "https://hexaspot.com/collections/rakwireless-wisblock-base/products/rakwireless-rak19003-wisblock-mini-base-board",
+ "Description": "Hexaspot WisBlock Mini Base Board RAK19003 (Ver B)"
+ },
+ {
+ "ShortCode": "rokland-19001",
+ "OriginalUrl": "https://store.rokland.com/products/rak-wireless-wisblock-dual-io-base-board-rak19001-pid-110081",
+ "Description": "Rokland WisBlock Dual IO Base Board RAK19001"
+ },
+ {
+ "ShortCode": "hexaspot-19001",
+ "OriginalUrl": "https://hexaspot.com/collections/rakwireless-wisblock-base/products/rakwireless-rak19001-wisblock-dual-io-base-board",
+ "Description": "Hexaspot WisBlock Dual IO Base Board RAK19001"
+ },
+ {
+ "ShortCode": "rokland-4631",
+ "OriginalUrl": "https://store.rokland.com/products/rak-wireless-rak4631-nordic-nrf52840-ble-core-module-for-lorawan-with-lora-sx1262",
+ "Description": "Rokland RAK4631 Nordic nRF52840 BLE Core Module for LoRaWAN with LoRa SX1262"
+ },
+ {
+ "ShortCode": "hexaspot-4631",
+ "OriginalUrl": "https://hexaspot.com/collections/wisblock-kits/products/wisblock-meshtastic-starter-kit-eu868-the-basic-rak4631-meshtastic-kit-for-lora",
+ "Description": "Hexaspot RAK4631 Nordic nRF52840 BLE Core Module for LoRaWAN with LoRa SX1262"
+ },
+ {
+ "ShortCode": "aliexpress-rak4631",
+ "OriginalUrl": "https://www.aliexpress.us/item/3256801470104151.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK4631 Nordic nRF52840 BLE Core Module (AliExpress)"
+ },
+ {
+ "ShortCode": "rakwireless-4631",
+ "OriginalUrl": "https://store.rakwireless.com/products/rak4631-lpwan-node?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK4631 Nordic nRF52840 BLE Core Module (AliExpress)"
+ },
+ {
+ "ShortCode": "rakwireless-rak11310",
+ "OriginalUrl": "https://store.rakwireless.com/products/rak11310-wisblock-lpwan-module?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK11310 RP2040 Core Module)"
+ },
+ {
+ "ShortCode": "rakwireless-rak3312",
+ "OriginalUrl": "https://store.rakwireless.com/products/wisblock-core-module-rak3312-lora-wifi-ble",
+ "Description": "RAK3312 ESP32-S3 Core Module"
+ },
+ {
+ "ShortCode": "hexaspot-rak3312",
+ "OriginalUrl": "https://hexaspot.com/collections/rakwireless-wisblock/products/espressif-esp32-s3-wifi-ble-dual-core-module-for-lorawan%C2%AE-with-lora-sx1262",
+ "Description": "Hexaspot RAK3312 ESP32-S3 Core Module"
+ },
+ {
+ "ShortCode": "rokland-rak3312",
+ "OriginalUrl": "https://store.rokland.com/products/rak3312-espressif-esp32-s3-wifi-ble-dual-core-module-for-lorawan-with-lora-sx1262-116208",
+ "Description": "Rokland RAK3312 ESP32-S3 Core Module"
+ },
+ {
+ "ShortCode": "rokland-rak3312-starter-kit",
+ "OriginalUrl": "https://store.rokland.com/products/wismesh-rak3312-starter-kit-with-meshtastic-firmware",
+ "Description": "Rokland RAK3312 ESP32-S3 Starter Kit"
+ },
+ {
+ "ShortCode": "aliexpress-rak11310",
+ "OriginalUrl": "https://www.aliexpress.us/item/3256803225175784.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAK11310 RP2040 Core Module (AliExpress)"
+ },
+ {
+ "ShortCode": "rokland-1901",
+ "OriginalUrl": "https://store.rokland.com/products/rak-wireless-rak1901-temperature-and-humidity-sensor-sensirion-shtc3-pid-100001",
+ "Description": "Rokland RAK1901 Temperature and Humidity Sensor"
+ },
+ {
+ "ShortCode": "rokland-1902",
+ "OriginalUrl": "https://store.rokland.com/products/rak-wireless-rak1902-barometric-pressure-sensor-stmicroelectronics-lps22hb-100010-2-pack",
+ "Description": "Rokland RAK1902 Barometric Pressure Sensor"
+ },
+ {
+ "ShortCode": "rokland-1906",
+ "OriginalUrl": "https://store.rokland.com/products/rak-wireless-rak1906-wisblock-environment-sensor-bosch-bme680",
+ "Description": "Rokland RAK1906 WisBlock Environment Sensor"
+ },
+ {
+ "ShortCode": "aliexpress-wismesh-tap",
+ "OriginalUrl": "https://www.aliexpress.com/item/3256808097004202.html?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAKwireless WisMesh Tap (AliExpress)"
+ },
+ {
+ "ShortCode": "rokland-wismesh-tap",
+ "OriginalUrl": "https://store.rokland.com/products/rakwireless-wismesh-tap-touchscreen-915-mhz-handheld-or-mountable-unit-lora-gps",
+ "Description": "RAKwireless WisMesh Tap (Rokland)"
+ },
+ {
+ "ShortCode": "rakdap1",
+ "OriginalUrl": "https://store.rakwireless.com/products/daplink-tool?utm_source=website_partner&utm_medium=referral&utm_campaign=meshtastic_rak_collab",
+ "Description": "RAKwireless RAKDAP1 Debug and Flash Tool"
+ },
+ {
+ "ShortCode": "rokland-heltec-wsl-v3",
+ "OriginalUrl": "https://store.rokland.com/collections/heltec-products/products/heltec-wireless-stick-litev3-902-928-mhz/",
+ "Description": "Rokland WSL V3"
+ },
+ {
+ "ShortCode": "aliexpress-heltec-wsl-v3",
+ "OriginalUrl": "https://www.aliexpress.us/item/3256807466584635.htm",
+ "Description": "Aliexpress WSL V3"
+ },
+ {
+ "ShortCode": "rokland-heltec-wireless-tracker",
+ "OriginalUrl": "https://store.rokland.com/collections/heltec-products/products/heltec-wireless-tracker-v1-1-wi-fi-lora-bt-gnss/",
+ "Description": "Rokland Wireless Tracker"
+ },
+ {
+ "ShortCode": "aliexpress-heltec-wireless-tracker",
+ "OriginalUrl": "https://www.aliexpress.us/item/3256805495189423.html",
+ "Description": "Aliexpress Wireless Tracker"
+ },
+ {
+ "ShortCode": "aliexpress-heltec-wireless-paper",
+ "OriginalUrl": "https://www.aliexpress.us/item/3256805461611876.html",
+ "Description": "Aliexpress Wireless Paper"
+ },
+ {
+ "ShortCode": "rokland-heltec-wireless-paper",
+ "OriginalUrl": "https://store.rokland.com/collections/heltec-products/products/heltec-wireless-paper-wi-fi-lora-bt/",
+ "Description": "Rokland Wireless Paper"
+ },
+ {
+ "ShortCode": "muzi-heltec-mesh-node-t114",
+ "OriginalUrl": "https://muzi.works/products/heltec-mesh-node-t114/",
+ "Description": "MuziWorks Mesh Node T114"
+ },
+ {
+ "ShortCode": "aliexpress-heltec-mesh-node-t114",
+ "OriginalUrl": "https://www.aliexpress.com/item/1005007460963705.html",
+ "Description": "Aliexpress Mesh Node T114"
+ },
+ {
+ "ShortCode": "aliexpress-heltec-vision-master-e213",
+ "OriginalUrl": "https://www.aliexpress.com/item/1005007209756502.html",
+ "Description": "Aliexpress Vision Master E213"
+ },
+ {
+ "ShortCode": "aliexpress-heltec-vision-master-e290",
+ "OriginalUrl": "https://www.aliexpress.com/item/1005007234361986.html",
+ "Description": "Aliexpress Vision Master E290"
+ },
+ {
+ "ShortCode": "aliexpress-heltec-vision-master-t190",
+ "OriginalUrl": "https://www.aliexpress.us/item/3256807135629435.html",
+ "Description": "Aliexpress Vision Master T190"
+ },
+ {
+ "ShortCode": "seeed-wio-tracker-l1-oled",
+ "OriginalUrl": "https://www.seeedstudio.com/Wio-Tracker-L1-p-6453.html",
+ "Description": "Wio Tracker L1 (with OLED)"
+ },
+ {
+ "ShortCode": "seeed-wio-tracker-l1-oled_aliexpress",
+ "OriginalUrl": "https://www.aliexpress.us/item/3256809320083189.html",
+ "Description": "Wio Tracker L1 (with OLED)"
+ },
+ {
+ "ShortCode": "seeed_wio_tracker_L1_eink",
+ "OriginalUrl": "https://www.seeedstudio.com/Wio-Tracker-L1-E-ink-p-6456.html",
+ "Description": "Wio Tracker L1 (with E-Ink)"
+ },
+ {
+ "ShortCode": "seeed_wio_tracker_L1_eink_amazon",
+ "OriginalUrl": "https://www.amazon.com/dp/B0FJWT5FYW",
+ "Description": "Wio Tracker L1 (with E-Ink) Amazon"
+ },
+ {
+ "ShortCode": "seeed-wio-tracker-l1-lite",
+ "OriginalUrl": "https://www.seeedstudio.com/Wio-Tracker-L1-Lite-p-6455.html",
+ "Description": "Wio Tracker L1 Lite (no display)"
+ },
+ {
+ "ShortCode": "seeed_solar_node_p1",
+ "OriginalUrl": "https://www.seeedstudio.com/SenseCAP-Solar-Node-P1-for-Meshtastic-LoRa-p-6425.html",
+ "Description": "SenseCAP Solar Node P1"
+ },
+ {
+ "ShortCode": "seeed_solar_node_p1_aliexpress",
+ "OriginalUrl": "https://www.aliexpress.us/item/3256808731224053.html",
+ "Description": "SenseCAP Solar Node P1 Aliexpress"
+ },
+ {
+ "ShortCode": "android-closed-test",
+ "OriginalUrl": "https://forms.gle/3dZCSTQWRbMSHkPd6",
+ "Description": "Android Closed Test Form"
+ },
+ {
+ "ShortCode": "t-deck-pro",
+ "OriginalUrl": "https://lilygo.cc/products/t-deck-pro-meshtastic",
+ "Description": "LilyGo T-Deck Pro"
+ },
+ {
+ "ShortCode": "rak4631_nomadstar_meteor_pro",
+ "OriginalUrl": "https://nomadstar.ch/meteor-pro/",
+ "Description": "NomadStar Meteor Pro"
+ },
+ {
+ "ShortCode": "muziworks",
+ "OriginalUrl": "https://muzi.works/",
+ "Description": "muzi WORKS Homepage"
+ },
+ {
+ "ShortCode": "r1-neo",
+ "OriginalUrl": "https://muzi.works/products/r1-neo-complete-meshtastic-device",
+ "Description": "muzi WORKS R1 Neo"
+ },
+ {
+ "ShortCode": "muzi-base",
+ "OriginalUrl": "https://muzi.works/pages/base",
+ "Description": "muzi WORKS Base System"
+ },
+ {
+ "ShortCode": "muzi-base-uno",
+ "OriginalUrl": "https://muzi.works/products/base-uno",
+ "Description": "muzi WORKS Base Uno"
+ },
+ {
+ "ShortCode": "muzi-base-duo",
+ "OriginalUrl": "https://muzi.works/products/base-duo",
+ "Description": "muzi WORKS Base Duo"
+ },
+ {
+ "ShortCode": "muzi-base-super-io",
+ "OriginalUrl": "https://muzi.works/products/super-io",
+ "Description": "muzi WORKS Base Super IO"
+ },
+ {
+ "ShortCode": "ttc-tickets",
+ "OriginalUrl": "https://www.thethingsconference.com/partner-invitations/recgog1edgosiv3b8",
+ "Description": "The Things Conference Tickets"
+ },
+ {
+ "ShortCode": "rokland-atlavox-makers-market",
+ "OriginalUrl": "https://store.rokland.com/products/atlavox-beacon-solar-meshtastic-node-w-n-female-antenna",
+ "Description": "Rokland Atlavox Makers Market"
+ },
+ {
+ "ShortCode": "rokland-tlora-pager",
+ "OriginalUrl": "https://store.rokland.com/products/lilygo-t-lora-pager-us-915-mhz-lora-esp32-s3-handheld-aiot-programmable-development-device-k257-01",
+ "Description": "Rokland T-Lora Pager"
+ },
+ {
+ "ShortCode": "tlora-pager",
+ "OriginalUrl": "https://lilygo.cc/products/t-lora-pager-meshtastic",
+ "Description": "T-Lora Pager"
+ },
+ {
+ "ShortCode": "hexaspot",
+ "OriginalUrl": "https://hexaspot.com/collections/meshtastic-products",
+ "Description": "Hexaspot Meshtastic Products"
+ },
+ {
+ "ShortCode": "ew26",
+ "OriginalUrl": "https://meshtastic.com/ew26",
+ "Description": "embeddedworld26 event page"
+ },
+ {
+ "ShortCode": "hexaspot-heltec-v3",
+ "OriginalUrl": "https://hexaspot.com/collections/meshtastic-products/products/heltec-wifi-lora-32-v3",
+ "Description": "Heltec V3 (Hexaspot)"
+ },
+ {
+ "ShortCode": "hexaspot-heltec-v4",
+ "OriginalUrl": "https://hexaspot.com/collections/meshtastic-products/products/heltec-wifi-lora-32-v4",
+ "Description": "Heltec V4 (Hexaspot)"
+ },
+ {
+ "ShortCode": "hexaspot-wireless-tracker-v2",
+ "OriginalUrl": "https://hexaspot.com/collections/meshtastic-products/products/heltec-wireless-tracker-v2",
+ "Description": "Heltec Wireless Tracker V2 (Hexaspot)"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/core/common/src/androidMain/kotlin/org/meshtastic/core/common/util/LocaleUtils.android.kt b/core/common/src/androidMain/kotlin/org/meshtastic/core/common/util/LocaleUtils.android.kt
index d610af483..88f471373 100644
--- a/core/common/src/androidMain/kotlin/org/meshtastic/core/common/util/LocaleUtils.android.kt
+++ b/core/common/src/androidMain/kotlin/org/meshtastic/core/common/util/LocaleUtils.android.kt
@@ -23,6 +23,8 @@ import java.util.Locale
actual fun currentLocaleCode(): String = Locale.getDefault().language
+actual fun currentRegionCode(): String = Locale.getDefault().country
+
actual fun currentLocaleQualifier(): String {
val locale = Locale.getDefault()
val country = locale.country
diff --git a/core/common/src/commonMain/kotlin/org/meshtastic/core/common/util/MeasurementSystem.kt b/core/common/src/commonMain/kotlin/org/meshtastic/core/common/util/MeasurementSystem.kt
index 194478f18..3ced2718a 100644
--- a/core/common/src/commonMain/kotlin/org/meshtastic/core/common/util/MeasurementSystem.kt
+++ b/core/common/src/commonMain/kotlin/org/meshtastic/core/common/util/MeasurementSystem.kt
@@ -28,6 +28,12 @@ expect fun getSystemMeasurementSystem(): MeasurementSystem
/** Returns the device's current locale as a 2-letter ISO 639-1 language code (e.g. "en", "es", "fr"). */
expect fun currentLocaleCode(): String
+/**
+ * Returns the device's current region as a 2-letter ISO 3166-1 alpha-2 country code (e.g. "US", "DE"), or an empty
+ * string when the region is unknown. Used to region-filter marketplace links.
+ */
+expect fun currentRegionCode(): String
+
/**
* Returns the device locale as a CMP resource qualifier string. Examples: "pt-rBR", "zh-rCN", "fr" (no region when not
* specified). Use this to construct locale-qualified file resource paths like "files-$qualifier/docs/...".
diff --git a/core/common/src/iosMain/kotlin/org/meshtastic/core/common/util/NoopStubs.kt b/core/common/src/iosMain/kotlin/org/meshtastic/core/common/util/NoopStubs.kt
index 4d3b1b363..e04222f8d 100644
--- a/core/common/src/iosMain/kotlin/org/meshtastic/core/common/util/NoopStubs.kt
+++ b/core/common/src/iosMain/kotlin/org/meshtastic/core/common/util/NoopStubs.kt
@@ -42,6 +42,8 @@ actual fun getSystemMeasurementSystem(): MeasurementSystem = MeasurementSystem.M
actual fun currentLocaleCode(): String = "en"
+actual fun currentRegionCode(): String = ""
+
actual fun currentLocaleQualifier(): String = "en"
actual fun String?.isValidAddress(): Boolean = false
diff --git a/core/common/src/jvmMain/kotlin/org/meshtastic/core/common/util/JvmPlatformUtils.kt b/core/common/src/jvmMain/kotlin/org/meshtastic/core/common/util/JvmPlatformUtils.kt
index 66f7dd07e..0661dfab1 100644
--- a/core/common/src/jvmMain/kotlin/org/meshtastic/core/common/util/JvmPlatformUtils.kt
+++ b/core/common/src/jvmMain/kotlin/org/meshtastic/core/common/util/JvmPlatformUtils.kt
@@ -90,6 +90,8 @@ actual fun getSystemMeasurementSystem(): MeasurementSystem =
actual fun currentLocaleCode(): String = Locale.getDefault().language
+actual fun currentRegionCode(): String = Locale.getDefault().country
+
actual fun currentLocaleQualifier(): String {
val locale = Locale.getDefault()
val country = locale.country
diff --git a/core/data/src/androidMain/kotlin/org/meshtastic/core/data/datasource/MshToLinksJsonDataSourceImpl.kt b/core/data/src/androidMain/kotlin/org/meshtastic/core/data/datasource/MshToLinksJsonDataSourceImpl.kt
new file mode 100644
index 000000000..18d6d7135
--- /dev/null
+++ b/core/data/src/androidMain/kotlin/org/meshtastic/core/data/datasource/MshToLinksJsonDataSourceImpl.kt
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2026 Meshtastic LLC
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+@file:OptIn(ExperimentalSerializationApi::class)
+
+package org.meshtastic.core.data.datasource
+
+import android.app.Application
+import co.touchlab.kermit.Logger
+import kotlinx.serialization.ExperimentalSerializationApi
+import kotlinx.serialization.json.Json
+import kotlinx.serialization.json.decodeFromStream
+import org.koin.core.annotation.Single
+import org.meshtastic.core.model.MshToMarketplace
+import org.meshtastic.core.model.MshToRoute
+import org.meshtastic.core.model.MshToUrlsFile
+
+@Single
+class MshToLinksJsonDataSourceImpl(private val application: Application) : MshToLinksJsonDataSource {
+
+ // Tolerant parser: tolerate extra fields/trailing data so a stale bundled file never crashes the import.
+ private val json = Json {
+ ignoreUnknownKeys = true
+ isLenient = true
+ exceptionsWithDebugInfo = false
+ }
+
+ // The bundled assets are immutable for the install's lifetime, so parse once and reuse — these are read on the
+ // node-detail flow's hot path (once per hardware emission).
+ private val routes: List by lazy {
+ runCatching { application.assets.open(URLS_ASSET).use { json.decodeFromStream(it).routes } }
+ .onFailure { Logger.w(it) { "Unable to load $URLS_ASSET for device links" } }
+ .getOrDefault(emptyList())
+ }
+
+ private val marketplaces: Map by lazy {
+ runCatching {
+ application.assets.open(MARKETPLACES_ASSET).use {
+ json.decodeFromStream