{ "familyTag": "v1.18.0.1-halo-keymind-cascade-dev-03214a16", "partitionMigrations": { "Ebyte_EoRa-S3_Repeater": "ebyte-eora-s3-repeater", "Ebyte_EoRa-S3_room_server": "ebyte-eora-s3-room-server", "Generic_E22_sx1262_repeater": "generic-e22-sx1262-repeater", "Generic_E22_sx1268_repeater": "generic-e22-sx1268-repeater", "Heltec_E213_repeater": "heltec-e213-repeater", "Heltec_E213_room_server": "heltec-e213-room-server", "Heltec_E290_repeater": "heltec-e290-repeater", "Heltec_E290_room_server": "heltec-e290-room-server", "Heltec_T190_repeater_": "heltec-t190-repeater", "Heltec_T190_room_server_": "heltec-t190-room-server", "Heltec_WSL3_repeater": "heltec-wsl3-repeater", "Heltec_WSL3_room_server": "heltec-wsl3-room-server", "Heltec_WSL3_sensor": "heltec-wsl3-sensor", "Heltec_Wireless_Paper_repeater": "heltec-wireless-paper-repeater", "Heltec_Wireless_Paper_room_server": "heltec-wireless-paper-room-server", "Heltec_Wireless_Tracker_repeater": "heltec-wireless-tracker-repeater", "Heltec_Wireless_Tracker_room_server": "heltec-wireless-tracker-room-server", "Heltec_ct62_repeater": "heltec-ct62-repeater", "Heltec_ct62_sensor": "heltec-ct62-sensor", "Heltec_v2_repeater": "heltec-v2-repeater", "Heltec_v2_room_server": "heltec-v2-room-server", "Heltec_v3_repeater": "heltec-v3-repeater", "Heltec_v3_room_server": "heltec-v3-room-server", "Heltec_v3_sensor": "heltec-v3-sensor", "LilyGo_T3S3_sx1262_repeater": "t3s3-sx1262-repeater", "LilyGo_T3S3_sx1262_room_server": "t3s3-sx1262-room-server", "LilyGo_T3S3_sx1276_repeater": "t3s3-sx1276-repeater", "LilyGo_T3S3_sx1276_room_server": "t3s3-sx1276-room-server", "LilyGo_TBeam_1W_repeater": "lilygo-tbeam-1w-repeater", "LilyGo_TBeam_1W_room_server": "lilygo-tbeam-1w-room-server", "LilyGo_TDeck_repeater": "lilygo-tdeck-repeater", "LilyGo_TETH_Elite_sx1262_repeater": "lilygo-teth-elite-sx1262-repeater", "LilyGo_TETH_Elite_sx1262_room_server": "lilygo-teth-elite-sx1262-room-server", "MKE_s3_repeater": "mke-s3-repeater", "MKE_s3_room_server": "mke-s3-room-server", "MKE_s3_sensor": "mke-s3-sensor", "RAK_3112_repeater": "rak-3112-repeater", "RAK_3112_room_server": "rak-3112-room-server", "RAK_3112_sensor": "rak-3112-sensor", "Station_G2_logging_repeater": "station-g2-logging-repeater", "Station_G2_repeater": "station-g2-repeater", "Station_G2_room_server": "station-g2-room-server", "Station_G3_ESP32_logging_repeater": "station-g3-esp32-logging-repeater", "Station_G3_ESP32_repeater": "station-g3-esp32-repeater", "Station_G3_ESP32_room_server": "station-g3-esp32-room-server", "T_Beam_S3_Supreme_SX1262_repeater": "t-beam-s3-supreme-sx1262-repeater", "T_Beam_S3_Supreme_SX1262_room_server": "t-beam-s3-supreme-sx1262-room-server", "Tenstar_C3_sx1262_repeater": "tenstar-c3-sx1262-repeater", "Tenstar_C3_sx1268_repeater": "tenstar-c3-sx1268-repeater", "ThinkNode_M2_Repeater": "thinknode-m2-repeater", "ThinkNode_M2_room_server": "thinknode-m2-room-server", "ThinkNode_M5_Repeater": "thinknode-m5-repeater", "ThinkNode_M5_room_server": "thinknode-m5-room-server", "ThinkNode_M7_repeater": "thinknode-m7-repeater", "ThinkNode_M7_room_server": "thinknode-m7-room-server", "ThinkNode_M9_repeater_": "thinknode-m9-repeater", "ThinkNode_M9_room_server_": "thinknode-m9-room-server", "Waveshare_S3_LR1121_repeater_observer_mqtt": "waveshare-s3-lr1121-observer-repeater", "Waveshare_S3_LR1121_room_server_observer_mqtt": "waveshare-s3-lr1121-observer-room-server", "Xiao_C3_repeater": "xiao-c3-repeater", "Xiao_C3_room_server": "xiao-c3-room-server", "Xiao_S3_WIO_repeater": "xiao-s3-wio", "Xiao_S3_WIO_room_server": "xiao-s3-wio-room-server", "Xiao_S3_WIO_sensor": "xiao-s3-wio-sensor", "Xiao_S3_repeater": "xiao-s3-repeater", "Xiao_S3_room_server": "xiao-s3-room-server", "Xiao_S3_sensor": "xiao-s3-sensor", "heltec_rc32_repeater": "heltec-rc32-repeater", "heltec_rc32_room_server": "heltec-rc32-room-server", "heltec_rc32_sensor": "heltec-rc32-sensor", "heltec_rc32_without_display_repeater": "heltec-rc32-no-display-repeater", "heltec_rc32_without_display_room_server": "heltec-rc32-no-display-room-server", "heltec_rc32_without_display_sensor": "heltec-rc32-no-display-sensor", "heltec_tracker_v2_repeater": "heltec-tracker-v2-repeater", "heltec_tracker_v2_room_server": "heltec-tracker-v2-room-server", "heltec_tracker_v2_sensor": "heltec-tracker-v2-sensor", "heltec_v4_expansionkit_repeater": "heltec-v4-expansionkit-repeater", "heltec_v4_r8_repeater": "heltec-v4-r8-repeater", "heltec_v4_r8_room_server": "heltec-v4-r8-room-server", "heltec_v4_r8_sensor": "heltec-v4-r8-sensor", "heltec_v4_r8_tft_repeater": "heltec-v4-r8-tft-repeater", "heltec_v4_r8_tft_room_server": "heltec-v4-r8-tft-room-server", "heltec_v4_r8_tft_sensor": "heltec-v4-r8-tft-sensor", "heltec_v4_repeater": "heltec-v4", "heltec_v4_room_server": "heltec-v4-room-server", "heltec_v4_sensor": "heltec-v4-sensor", "heltec_v4_tft_repeater": "heltec-v4-tft-repeater", "heltec_v4_tft_room_server": "heltec-v4-tft-room-server", "heltec_v4_tft_sensor": "heltec-v4-tft-sensor", "meshnology_w12_repeater": "meshnology-w12-repeater", "meshnology_w12_room_server": "meshnology-w12-room-server", "meshnology_w12_sensor": "meshnology-w12-sensor", "nibble_screen_connect_repeater_": "nibble-screen-repeater", "nibble_screen_connect_room_server_": "nibble-screen-room-server", "nibble_zero_connect_repeater_": "nibble-zero-repeater", "nibble_zero_connect_room_server_": "nibble-zero-room-server" }, "profiles": { "Ebyte_EoRa-S3_Repeater-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Ebyte_EoRa-S3_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": true }, "Ebyte_EoRa-S3_room_server-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "GAT562_30S_Mesh_Kit_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "GAT562_30S_Mesh_Kit_repeater_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "GAT562_30S_Mesh_Kit_repeater_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "GAT562_30S_Mesh_Kit_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 549804, "asset_sha256": "86490cbca323a8b81fc8490f9a43fd06db4c776bac6aa0bda91ee807cf801c60", "automatic_delay_seconds": 70, "candidate_sha256": "5c4b0c5a83495d28b9837708f475d69fd5af9d087954803eeb3f36fe01cc426f", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "gat562", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "GAT562_30S_Mesh_Kit_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 521828, "asset_sha256": "86490cbca323a8b81fc8490f9a43fd06db4c776bac6aa0bda91ee807cf801c60", "automatic_delay_seconds": 70, "candidate_sha256": "5c4b0c5a83495d28b9837708f475d69fd5af9d087954803eeb3f36fe01cc426f", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "gat562", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "GAT562_30S_Mesh_Kit_room_server_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "GAT562_30S_Mesh_Kit_room_server_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "GAT562_30S_Mesh_Kit_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 504552, "asset_sha256": "86490cbca323a8b81fc8490f9a43fd06db4c776bac6aa0bda91ee807cf801c60", "automatic_delay_seconds": 70, "candidate_sha256": "5c4b0c5a83495d28b9837708f475d69fd5af9d087954803eeb3f36fe01cc426f", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "gat562", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "GAT562_30S_Mesh_Kit_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 476612, "asset_sha256": "86490cbca323a8b81fc8490f9a43fd06db4c776bac6aa0bda91ee807cf801c60", "automatic_delay_seconds": 70, "candidate_sha256": "5c4b0c5a83495d28b9837708f475d69fd5af9d087954803eeb3f36fe01cc426f", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "gat562", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "GAT562_Mesh_EVB_Pro_repeater_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "GAT562_Mesh_EVB_Pro_repeater_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "GAT562_Mesh_EVB_Pro_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 517936, "asset_sha256": "86490cbca323a8b81fc8490f9a43fd06db4c776bac6aa0bda91ee807cf801c60", "automatic_delay_seconds": 70, "candidate_sha256": "5c4b0c5a83495d28b9837708f475d69fd5af9d087954803eeb3f36fe01cc426f", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "gat562", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "GAT562_Mesh_EVB_Pro_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 489504, "asset_sha256": "86490cbca323a8b81fc8490f9a43fd06db4c776bac6aa0bda91ee807cf801c60", "automatic_delay_seconds": 70, "candidate_sha256": "5c4b0c5a83495d28b9837708f475d69fd5af9d087954803eeb3f36fe01cc426f", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "gat562", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "GAT562_Mesh_EVB_Pro_room_server_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "GAT562_Mesh_EVB_Pro_room_server_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "GAT562_Mesh_EVB_Pro_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 472924, "asset_sha256": "86490cbca323a8b81fc8490f9a43fd06db4c776bac6aa0bda91ee807cf801c60", "automatic_delay_seconds": 70, "candidate_sha256": "5c4b0c5a83495d28b9837708f475d69fd5af9d087954803eeb3f36fe01cc426f", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "gat562", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "GAT562_Mesh_EVB_Pro_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 444512, "asset_sha256": "86490cbca323a8b81fc8490f9a43fd06db4c776bac6aa0bda91ee807cf801c60", "automatic_delay_seconds": 70, "candidate_sha256": "5c4b0c5a83495d28b9837708f475d69fd5af9d087954803eeb3f36fe01cc426f", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "gat562", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "GAT562_Mesh_Tracker_Pro_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "GAT562_Mesh_Tracker_Pro_repeater_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "GAT562_Mesh_Tracker_Pro_repeater_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "GAT562_Mesh_Tracker_Pro_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 531224, "asset_sha256": "86490cbca323a8b81fc8490f9a43fd06db4c776bac6aa0bda91ee807cf801c60", "automatic_delay_seconds": 70, "candidate_sha256": "5c4b0c5a83495d28b9837708f475d69fd5af9d087954803eeb3f36fe01cc426f", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "gat562", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "GAT562_Mesh_Tracker_Pro_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 503112, "asset_sha256": "86490cbca323a8b81fc8490f9a43fd06db4c776bac6aa0bda91ee807cf801c60", "automatic_delay_seconds": 70, "candidate_sha256": "5c4b0c5a83495d28b9837708f475d69fd5af9d087954803eeb3f36fe01cc426f", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "gat562", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "GAT562_Mesh_Tracker_Pro_room_server_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "GAT562_Mesh_Tracker_Pro_room_server_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "GAT562_Mesh_Tracker_Pro_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 486084, "asset_sha256": "86490cbca323a8b81fc8490f9a43fd06db4c776bac6aa0bda91ee807cf801c60", "automatic_delay_seconds": 70, "candidate_sha256": "5c4b0c5a83495d28b9837708f475d69fd5af9d087954803eeb3f36fe01cc426f", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "gat562", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "GAT562_Mesh_Tracker_Pro_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 457832, "asset_sha256": "86490cbca323a8b81fc8490f9a43fd06db4c776bac6aa0bda91ee807cf801c60", "automatic_delay_seconds": 70, "candidate_sha256": "5c4b0c5a83495d28b9837708f475d69fd5af9d087954803eeb3f36fe01cc426f", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "gat562", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "GAT562_Mesh_Watch13_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "GEPRC_Linkflow_900_repeater-full-logging": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Generic_E22_sx1262_repeater-full-logging": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Neighbor table: 50 entries.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Generic_E22_sx1268_repeater-full-logging": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Neighbor table: 50 entries.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Generic_ESPNOW_companion_radio_full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion capacity: 100 contacts and 224 queued messages; all Full transports are retained. Export contacts before updating if you have more than 100; entries beyond this limit may be unavailable or omitted by a later save.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": true, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [], "webconfig": true }, "Generic_ESPNOW_repeatr-full-logging": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": true, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Generic_ESPNOW_room_svr-full-logging": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": true, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_E213_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "Heltec_E213_repeater-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_E213_room_server-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_E290_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "Heltec_E290_repeater-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_E290_room_server-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_T190_companion_radio_full_": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "Heltec_T190_repeater_-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_T190_room_server_-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_WSL3_companion_radio_full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "Heltec_WSL3_repeater-full-usb-wifi": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_WSL3_room_server-full-usb-wifi": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_WSL3_sensor-full-logging": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": false }, "Heltec_Wireless_Paper_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Wireless Paper Full capacity: 350 contacts and 40 channels. Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "Heltec_Wireless_Paper_repeater-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_Wireless_Paper_room_server-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_Wireless_Tracker_companion_radio_full": { "display": true, "displayAuto": true, "displayController": "st7735", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion capacity: 150 contacts and 256 queued messages; all Full transports are retained. Export contacts before updating if you have more than 150; entries beyond this limit may be unavailable or omitted by a later save.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "Heltec_Wireless_Tracker_repeater-full-usb-wifi": { "display": true, "displayAuto": true, "displayController": "st7735", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_Wireless_Tracker_room_server-full-usb-wifi": { "display": true, "displayAuto": true, "displayController": "st7735", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_ct62_companion_radio_full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion capacity: 100 contacts and 224 queued messages; all Full transports are retained. Export contacts before updating if you have more than 100; entries beyond this limit may be unavailable or omitted by a later save.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": true }, "Heltec_ct62_repeater-full-logging": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_ct62_sensor-full-logging": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": false }, "Heltec_mesh_solar_companion_radio_full": { "dedicatedUsbLogging": true, "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "Heltec_mesh_solar_repeater_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_mesh_solar_repeater_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_mesh_solar_room_server_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_mesh_solar_room_server_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_t096_companion_radio_full_femon": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "Heltec_t096_repeater_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "memoryNote": "Flood rules: 4 entries; the complete rule engine is retained.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Heltec_t096_repeater_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "memoryNote": "Flood rules: 4 entries; the complete rule engine is retained.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Heltec_t096_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 549904, "asset_sha256": "5d7121eb3fc9b429b0bfc03a46cd39c49cea99a523ef252fca76fbe83ae9c083", "automatic_delay_seconds": 70, "candidate_sha256": "35104826d134e46a5c3728088d58cc84c2fb03709c9910b9c51aafdbb8a3af19", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_t096", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "memoryNote": "Flood rules: 4 entries; the complete rule engine is retained.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Heltec_t096_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 521732, "asset_sha256": "5d7121eb3fc9b429b0bfc03a46cd39c49cea99a523ef252fca76fbe83ae9c083", "automatic_delay_seconds": 70, "candidate_sha256": "35104826d134e46a5c3728088d58cc84c2fb03709c9910b9c51aafdbb8a3af19", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_t096", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "memoryNote": "Flood rules: 4 entries; the complete rule engine is retained.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Heltec_t096_room_server_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_t096_room_server_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_t096_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 492472, "asset_sha256": "5d7121eb3fc9b429b0bfc03a46cd39c49cea99a523ef252fca76fbe83ae9c083", "automatic_delay_seconds": 70, "candidate_sha256": "35104826d134e46a5c3728088d58cc84c2fb03709c9910b9c51aafdbb8a3af19", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_t096", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_t096_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 464364, "asset_sha256": "5d7121eb3fc9b429b0bfc03a46cd39c49cea99a523ef252fca76fbe83ae9c083", "automatic_delay_seconds": 70, "candidate_sha256": "35104826d134e46a5c3728088d58cc84c2fb03709c9910b9c51aafdbb8a3af19", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_t096", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_t096_sensor_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_t096_sensor_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_t114_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "displayAuto": true, "displayController": "st7789", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "Heltec_t114_repeater_lora_ota_no_external_sensors-full": { "display": true, "displayAuto": true, "displayController": "st7789", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Heltec_t114_repeater_lora_ota_no_external_sensors-reduced": { "display": true, "displayAuto": true, "displayController": "st7789", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Heltec_t114_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "displayAuto": true, "displayController": "st7789", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 549572, "asset_sha256": "138c69fe816c794f1effde6ddcee768dae4aa0e3bfeff90e3635ac3a182a3f0a", "automatic_delay_seconds": 70, "candidate_sha256": "fbc4532ada6e6694d3a9d8b8aa1e5967bf6c9aa97ed0f41da439c25beab1bea1", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_t114", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Heltec_t114_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "displayAuto": true, "displayController": "st7789", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 521440, "asset_sha256": "138c69fe816c794f1effde6ddcee768dae4aa0e3bfeff90e3635ac3a182a3f0a", "automatic_delay_seconds": 70, "candidate_sha256": "fbc4532ada6e6694d3a9d8b8aa1e5967bf6c9aa97ed0f41da439c25beab1bea1", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_t114", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Heltec_t114_room_server_lora_ota_no_external_sensors-full": { "display": true, "displayAuto": true, "displayController": "st7789", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_t114_room_server_lora_ota_no_external_sensors-reduced": { "display": true, "displayAuto": true, "displayController": "st7789", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_t114_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "displayAuto": true, "displayController": "st7789", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 492812, "asset_sha256": "138c69fe816c794f1effde6ddcee768dae4aa0e3bfeff90e3635ac3a182a3f0a", "automatic_delay_seconds": 70, "candidate_sha256": "fbc4532ada6e6694d3a9d8b8aa1e5967bf6c9aa97ed0f41da439c25beab1bea1", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_t114", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_t114_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "displayAuto": true, "displayController": "st7789", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 464472, "asset_sha256": "138c69fe816c794f1effde6ddcee768dae4aa0e3bfeff90e3635ac3a182a3f0a", "automatic_delay_seconds": 70, "candidate_sha256": "fbc4532ada6e6694d3a9d8b8aa1e5967bf6c9aa97ed0f41da439c25beab1bea1", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_t114", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_t114_sensor_lora_ota_no_external_sensors-full": { "display": true, "displayAuto": true, "displayController": "st7789", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_t114_sensor_lora_ota_no_external_sensors-reduced": { "display": true, "displayAuto": true, "displayController": "st7789", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_t1_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "Heltec_t1_repeater_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "memoryNote": "Flood rules: 4 entries; the complete rule engine is retained.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Heltec_t1_repeater_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "memoryNote": "Flood rules: 4 entries; the complete rule engine is retained.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Heltec_t1_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 536028, "asset_sha256": "ae6904dac781d1bea7fe0547abab3e95ea116114d3c57645084ef6ca91bbc444", "automatic_delay_seconds": 70, "candidate_sha256": "28054742498dbef489423440b73b56e7c6c5f09d1576480143be3f719a70b314", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_t1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "memoryNote": "Flood rules: 4 entries; the complete rule engine is retained.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Heltec_t1_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 507988, "asset_sha256": "ae6904dac781d1bea7fe0547abab3e95ea116114d3c57645084ef6ca91bbc444", "automatic_delay_seconds": 70, "candidate_sha256": "28054742498dbef489423440b73b56e7c6c5f09d1576480143be3f719a70b314", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_t1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "memoryNote": "Flood rules: 4 entries; the complete rule engine is retained.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Heltec_t1_room_server_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_t1_room_server_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_t1_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 490952, "asset_sha256": "ae6904dac781d1bea7fe0547abab3e95ea116114d3c57645084ef6ca91bbc444", "automatic_delay_seconds": 70, "candidate_sha256": "28054742498dbef489423440b73b56e7c6c5f09d1576480143be3f719a70b314", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_t1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_t1_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 462692, "asset_sha256": "ae6904dac781d1bea7fe0547abab3e95ea116114d3c57645084ef6ca91bbc444", "automatic_delay_seconds": 70, "candidate_sha256": "28054742498dbef489423440b73b56e7c6c5f09d1576480143be3f719a70b314", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_t1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_tower_v2_companion_radio_full": { "dedicatedUsbLogging": true, "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "Heltec_tower_v2_room_server_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_tower_v2_room_server_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Heltec_tower_v2_sdcard_repeater_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_sd" } }, "webconfig": false }, "Heltec_tower_v2_sdcard_repeater_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_sd" } }, "webconfig": false }, "Heltec_tower_v2_sdcard_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 523692, "asset_sha256": "1b8beb90f26fb331e89a3f7ad4d07df130126fcef558031755490172dd94f6ea", "automatic_delay_seconds": 70, "candidate_sha256": "c9479891c5d0446d9a86bf2e7af03fdf0ad6032312395f48b2340ab7fe4b22ed", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_mesh_tower_v2_sdcard", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_sd" } }, "webconfig": false }, "Heltec_tower_v2_sdcard_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 523692, "asset_sha256": "1b8beb90f26fb331e89a3f7ad4d07df130126fcef558031755490172dd94f6ea", "automatic_delay_seconds": 70, "candidate_sha256": "c9479891c5d0446d9a86bf2e7af03fdf0ad6032312395f48b2340ab7fe4b22ed", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_mesh_tower_v2_sdcard", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_sd" } }, "webconfig": false }, "Heltec_v2_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion capacity: 100 contacts, 8 channels and 16 queued messages. Export contacts and channels before updating if they exceed these limits; extra entries may be unavailable or omitted by a later save.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "Heltec_v2_repeater-full-logging": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Neighbor table: 50 entries.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_v2_room_server-full-logging": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_v3_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion capacity: 100 contacts and 256 queued messages; all Full transports are retained. Export contacts before updating if you have more than 100; entries beyond this limit may be unavailable or omitted by a later save.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "Heltec_v3_repeater-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_v3_room_server-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Heltec_v3_sensor-full-logging": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": false }, "KeepteenLT1_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "KeepteenLT1_repeater_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "KeepteenLT1_repeater_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "KeepteenLT1_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 499004, "asset_sha256": "4d1f29efaf156e388262a1a603ea72e4ee98ff7547e26b71cb0a93ad732864b2", "automatic_delay_seconds": 70, "candidate_sha256": "db95d6aef9fac82270a6aa64d21c226bc840487412b4789d88592d6884843dba", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "keepteen_lt1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "KeepteenLT1_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 499004, "asset_sha256": "4d1f29efaf156e388262a1a603ea72e4ee98ff7547e26b71cb0a93ad732864b2", "automatic_delay_seconds": 70, "candidate_sha256": "db95d6aef9fac82270a6aa64d21c226bc840487412b4789d88592d6884843dba", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "keepteen_lt1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "KeepteenLT1_room_server_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "KeepteenLT1_room_server_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "KeepteenLT1_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 453724, "asset_sha256": "4d1f29efaf156e388262a1a603ea72e4ee98ff7547e26b71cb0a93ad732864b2", "automatic_delay_seconds": 70, "candidate_sha256": "db95d6aef9fac82270a6aa64d21c226bc840487412b4789d88592d6884843dba", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "keepteen_lt1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "KeepteenLT1_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 453724, "asset_sha256": "4d1f29efaf156e388262a1a603ea72e4ee98ff7547e26b71cb0a93ad732864b2", "automatic_delay_seconds": 70, "candidate_sha256": "db95d6aef9fac82270a6aa64d21c226bc840487412b4789d88592d6884843dba", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "keepteen_lt1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "LilyGo_T-Echo-Lite_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "displayAuto": true, "displayController": "ssd1681", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "LilyGo_T-Echo-Lite_repeater_lora_ota-full": { "display": true, "displayAuto": true, "displayController": "ssd1681", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "LilyGo_T-Echo-Lite_repeater_lora_ota-reduced": { "display": true, "displayAuto": true, "displayController": "ssd1681", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "LilyGo_T-Echo-Lite_repeater_lora_ota-with-bootloader-2.4.12-full": { "display": true, "displayAuto": true, "displayController": "ssd1681", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 510320, "asset_sha256": "cde601f61d858116ff591488e1856db747a77cdc8e3c3025e588cb79463ac440", "automatic_delay_seconds": 70, "candidate_sha256": "c912d45acc545b224a0462e9eb1874f72543102c2fce8d203f07f036e36d6eba", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "lilygo_techo_lite", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "LilyGo_T-Echo-Lite_repeater_lora_ota-with-bootloader-2.4.12-reduced": { "display": true, "displayAuto": true, "displayController": "ssd1681", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 510320, "asset_sha256": "cde601f61d858116ff591488e1856db747a77cdc8e3c3025e588cb79463ac440", "automatic_delay_seconds": 70, "candidate_sha256": "c912d45acc545b224a0462e9eb1874f72543102c2fce8d203f07f036e36d6eba", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "lilygo_techo_lite", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "LilyGo_T-Echo-Lite_room_server_lora_ota-full": { "display": true, "displayAuto": true, "displayController": "ssd1681", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "LilyGo_T-Echo-Lite_room_server_lora_ota-reduced": { "display": true, "displayAuto": true, "displayController": "ssd1681", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "LilyGo_T-Echo-Lite_room_server_lora_ota-with-bootloader-2.4.12-full": { "display": true, "displayAuto": true, "displayController": "ssd1681", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 468560, "asset_sha256": "cde601f61d858116ff591488e1856db747a77cdc8e3c3025e588cb79463ac440", "automatic_delay_seconds": 70, "candidate_sha256": "c912d45acc545b224a0462e9eb1874f72543102c2fce8d203f07f036e36d6eba", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "lilygo_techo_lite", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "LilyGo_T-Echo-Lite_room_server_lora_ota-with-bootloader-2.4.12-reduced": { "display": true, "displayAuto": true, "displayController": "ssd1681", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 468560, "asset_sha256": "cde601f61d858116ff591488e1856db747a77cdc8e3c3025e588cb79463ac440", "automatic_delay_seconds": 70, "candidate_sha256": "c912d45acc545b224a0462e9eb1874f72543102c2fce8d203f07f036e36d6eba", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "lilygo_techo_lite", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "LilyGo_T-Echo_Card_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "LilyGo_T-Echo_Card_repeater_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "LilyGo_T-Echo_Card_repeater_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "LilyGo_T-Echo_Card_room_server_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "LilyGo_T-Echo_Card_room_server_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "LilyGo_T-Echo_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "LilyGo_T-Echo_repeater-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "LilyGo_T-Echo_repeater-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "LilyGo_T-Echo_repeater-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 521568, "asset_sha256": "55d935ce7fb4d7c3944f93b38240f311255d6a0c8560b0783d7d0121e72098ac", "automatic_delay_seconds": 70, "candidate_sha256": "f13367a9d0321aeaa21057d953bf7f03d56532640428104f414bbf48f52f5f94", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "lilygo_techo", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "LilyGo_T-Echo_repeater-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 514596, "asset_sha256": "55d935ce7fb4d7c3944f93b38240f311255d6a0c8560b0783d7d0121e72098ac", "automatic_delay_seconds": 70, "candidate_sha256": "f13367a9d0321aeaa21057d953bf7f03d56532640428104f414bbf48f52f5f94", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "lilygo_techo", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "LilyGo_T-Echo_room_server_lora_ota-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "LilyGo_T-Echo_room_server_lora_ota-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "LilyGo_T-Echo_room_server_lora_ota-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 474944, "asset_sha256": "55d935ce7fb4d7c3944f93b38240f311255d6a0c8560b0783d7d0121e72098ac", "automatic_delay_seconds": 70, "candidate_sha256": "f13367a9d0321aeaa21057d953bf7f03d56532640428104f414bbf48f52f5f94", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "lilygo_techo", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "LilyGo_T-Echo_room_server_lora_ota-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 468020, "asset_sha256": "55d935ce7fb4d7c3944f93b38240f311255d6a0c8560b0783d7d0121e72098ac", "automatic_delay_seconds": 70, "candidate_sha256": "f13367a9d0321aeaa21057d953bf7f03d56532640428104f414bbf48f52f5f94", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "lilygo_techo", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "LilyGo_T3S3_sx1262_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": true }, "LilyGo_T3S3_sx1262_repeater-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "LilyGo_T3S3_sx1262_room_server-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "LilyGo_T3S3_sx1276_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [], "webconfig": true }, "LilyGo_T3S3_sx1276_repeater-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "LilyGo_T3S3_sx1276_room_server-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "LilyGo_TBeam_1W_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": true }, "LilyGo_TBeam_1W_repeater-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": true, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "LilyGo_TBeam_1W_room_server-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": true, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "LilyGo_TDeck_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "LilyGo_TDeck_repeater-full-logging": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "LilyGo_TETH_Elite_sx1262_companion_radio_full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "LilyGo_TETH_Elite_sx1262_repeater-full-usb-wifi": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "LilyGo_TETH_Elite_sx1262_room_server-full-usb-wifi": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "LilyGo_TLora_V2_1_1_6_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion capacity: 100 contacts, 8 channels and 16 queued messages. Export contacts and channels before updating if they exceed these limits; extra entries may be unavailable or omitted by a later save.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [], "webconfig": true }, "LilyGo_TLora_V2_1_1_6_repeater-full-logging": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "LilyGo_TLora_V2_1_1_6_repeater_observer_mqtt_-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Neighbor table: 50 entries.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "lora" ], "webconfig": true }, "LilyGo_TLora_V2_1_1_6_room_server_observer_mqtt_-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "lora" ], "webconfig": true }, "LilyGo_T_Impulse_Plus_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "LilyGo_T_Impulse_Plus_repeater_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "LilyGo_T_Impulse_Plus_repeater_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "LilyGo_Tlora_C6_companion_radio_full_": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": true }, "LilyGo_Tlora_C6_repeater_-full-logging": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "LilyGo_Tlora_C6_room_server_-full-logging": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "M5Stack_Unit_C6L_companion_radio_full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": true }, "M5Stack_Unit_C6L_repeater-full-logging": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "lora" ], "webconfig": true }, "M5Stack_Unit_C6L_room_server-full-logging": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "lora" ], "webconfig": true }, "MKE_s3_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "MKE_s3_repeater-full-logging": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "MKE_s3_room_server-full-logging": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "MKE_s3_sensor-full-logging": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": false }, "MeshTracker_X1_companion_radio_full": { "dedicatedUsbLogging": true, "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "MeshTracker_X1_repeater_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "MeshTracker_X1_repeater_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "MeshTracker_X1_room_server_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "MeshTracker_X1_room_server_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Mesh_pocket_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "Mesh_pocket_repeater_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Mesh_pocket_repeater_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Mesh_pocket_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 494944, "asset_sha256": "65f4a62e02027f7852a04dcdd7624f6be467ca3fc4073157201043fb7ceebc51", "automatic_delay_seconds": 70, "candidate_sha256": "d8ccc30c08c718cf21e1c9cb39b94bfa3ee7f1fc7f07106a196792cda16a5c3d", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_mesh_pocket", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Mesh_pocket_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 494944, "asset_sha256": "65f4a62e02027f7852a04dcdd7624f6be467ca3fc4073157201043fb7ceebc51", "automatic_delay_seconds": 70, "candidate_sha256": "d8ccc30c08c718cf21e1c9cb39b94bfa3ee7f1fc7f07106a196792cda16a5c3d", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_mesh_pocket", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Mesh_pocket_room_server_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Mesh_pocket_room_server_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Mesh_pocket_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 450448, "asset_sha256": "65f4a62e02027f7852a04dcdd7624f6be467ca3fc4073157201043fb7ceebc51", "automatic_delay_seconds": 70, "candidate_sha256": "d8ccc30c08c718cf21e1c9cb39b94bfa3ee7f1fc7f07106a196792cda16a5c3d", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_mesh_pocket", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Mesh_pocket_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 450448, "asset_sha256": "65f4a62e02027f7852a04dcdd7624f6be467ca3fc4073157201043fb7ceebc51", "automatic_delay_seconds": 70, "candidate_sha256": "d8ccc30c08c718cf21e1c9cb39b94bfa3ee7f1fc7f07106a196792cda16a5c3d", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "heltec_mesh_pocket", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Meshadventurer_sx1262_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion capacity: 100 contacts, 30 channels and 16 queued messages. Export contacts and channels before updating if they exceed these limits; extra entries may be unavailable or omitted by a later save.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": true }, "Meshadventurer_sx1262_repeater-full-logging": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Neighbor table: 50 entries.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Meshadventurer_sx1262_room_server-full-logging": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Meshadventurer_sx1268_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion capacity: 100 contacts, 30 channels and 16 queued messages. Export contacts and channels before updating if they exceed these limits; extra entries may be unavailable or omitted by a later save.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": true }, "Meshadventurer_sx1268_repeater-full-logging": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Neighbor table: 50 entries.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Meshadventurer_sx1268_room_server-full-logging": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Meshimi_companion_radio_full_": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": true }, "Meshimi_repeater_-full-logging": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "lora" ], "webconfig": true }, "Meshtiny_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "Minewsemi_me25ls01_companion_radio_full": { "dedicatedUsbLogging": true, "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "Minewsemi_me25ls01_repeater_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Minewsemi_me25ls01_repeater_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Minewsemi_me25ls01_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 481688, "asset_sha256": "4d7ca3a59358cfdfbddbaac2d5f7f99dae346469dfbcc9ed6dad56ca72646552", "automatic_delay_seconds": 70, "candidate_sha256": "52b9a146ea76bcdd16f32df7491cc9998485d684c99f864e24057ac0a2b69443", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "minewsemi_mx25le01", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Minewsemi_me25ls01_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 470984, "asset_sha256": "4d7ca3a59358cfdfbddbaac2d5f7f99dae346469dfbcc9ed6dad56ca72646552", "automatic_delay_seconds": 70, "candidate_sha256": "52b9a146ea76bcdd16f32df7491cc9998485d684c99f864e24057ac0a2b69443", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "minewsemi_mx25le01", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "Minewsemi_me25ls01_room_server_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Minewsemi_me25ls01_room_server_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Minewsemi_me25ls01_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 437416, "asset_sha256": "4d7ca3a59358cfdfbddbaac2d5f7f99dae346469dfbcc9ed6dad56ca72646552", "automatic_delay_seconds": 70, "candidate_sha256": "52b9a146ea76bcdd16f32df7491cc9998485d684c99f864e24057ac0a2b69443", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "minewsemi_mx25le01", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Minewsemi_me25ls01_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 426680, "asset_sha256": "4d7ca3a59358cfdfbddbaac2d5f7f99dae346469dfbcc9ed6dad56ca72646552", "automatic_delay_seconds": 70, "candidate_sha256": "52b9a146ea76bcdd16f32df7491cc9998485d684c99f864e24057ac0a2b69443", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "minewsemi_mx25le01", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Nano_G2_Ultra_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "Nano_G2_Ultra_repeater_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Nano_G2_Ultra_repeater_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Nano_G2_Ultra_room_server_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "Nano_G2_Ultra_room_server_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "PicoW_companion_radio": { "combinedCompanion": true, "combinedCompanionSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "none", "platform": "RP2040_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": false }, "ProMicro_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "ProMicro_repeater_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "ProMicro_repeater_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "ProMicro_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 524484, "asset_sha256": "03bcaee48da4717afb34a4eda2f1161e694b7a974189988c142969ff042e39bb", "automatic_delay_seconds": 70, "candidate_sha256": "87d1be570367495956239e268a319ea80c43dcbae2f767fd2249d3290727c30c", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "promicro_nrf52840", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "ProMicro_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 511664, "asset_sha256": "03bcaee48da4717afb34a4eda2f1161e694b7a974189988c142969ff042e39bb", "automatic_delay_seconds": 70, "candidate_sha256": "87d1be570367495956239e268a319ea80c43dcbae2f767fd2249d3290727c30c", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "promicro_nrf52840", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "ProMicro_room_server_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "ProMicro_room_server_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "ProMicro_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 467244, "asset_sha256": "03bcaee48da4717afb34a4eda2f1161e694b7a974189988c142969ff042e39bb", "automatic_delay_seconds": 70, "candidate_sha256": "87d1be570367495956239e268a319ea80c43dcbae2f767fd2249d3290727c30c", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "promicro_nrf52840", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "ProMicro_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 454536, "asset_sha256": "03bcaee48da4717afb34a4eda2f1161e694b7a974189988c142969ff042e39bb", "automatic_delay_seconds": 70, "candidate_sha256": "87d1be570367495956239e268a319ea80c43dcbae2f767fd2249d3290727c30c", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "promicro_nrf52840", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "ProMicro_sensor_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "ProMicro_sensor_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "R1Neo_companion_radio_full": { "dedicatedUsbLogging": true, "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "R1Neo_repeater_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "R1Neo_repeater_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "R1Neo_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 523424, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "R1Neo_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 495216, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "R1Neo_room_server_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "R1Neo_room_server_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "R1Neo_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 478508, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "R1Neo_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 450000, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "R1Neo_sensor_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "R1Neo_sensor_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_11310_companion_radio_usb": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "none", "platform": "RP2040_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": false }, "RAK_3112_companion_radio_full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "RAK_3112_repeater-full-usb-wifi": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "RAK_3112_room_server-full-usb-wifi": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "RAK_3112_sensor-full-logging": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": false }, "RAK_3401_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "RAK_3401_repeater_bridge_rs232_serial1-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_3401_repeater_bridge_rs232_serial1-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_3401_repeater_bridge_rs232_serial1-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 563648, "asset_sha256": "5b2d27a7ffb3efcdd2b3e7435f7d79f5c5088817d024de3d952d7ea3a27002c9", "automatic_delay_seconds": 70, "candidate_sha256": "57df468b525fe6ba3c1f6c756b9a85ad3875e845f080671201411e8044da05c6", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak3401_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_3401_repeater_bridge_rs232_serial1-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 513752, "asset_sha256": "5b2d27a7ffb3efcdd2b3e7435f7d79f5c5088817d024de3d952d7ea3a27002c9", "automatic_delay_seconds": 70, "candidate_sha256": "57df468b525fe6ba3c1f6c756b9a85ad3875e845f080671201411e8044da05c6", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak3401_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_3401_repeater_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "RAK_3401_repeater_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "RAK_3401_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 572608, "asset_sha256": "5b2d27a7ffb3efcdd2b3e7435f7d79f5c5088817d024de3d952d7ea3a27002c9", "automatic_delay_seconds": 70, "candidate_sha256": "57df468b525fe6ba3c1f6c756b9a85ad3875e845f080671201411e8044da05c6", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak3401_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "RAK_3401_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 523096, "asset_sha256": "5b2d27a7ffb3efcdd2b3e7435f7d79f5c5088817d024de3d952d7ea3a27002c9", "automatic_delay_seconds": 70, "candidate_sha256": "57df468b525fe6ba3c1f6c756b9a85ad3875e845f080671201411e8044da05c6", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak3401_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "RAK_3401_repeater_rak13302_w25q16_lora_ota-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "RAK_3401_repeater_rak13302_w25q16_lora_ota-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "RAK_3401_repeater_rak13302_w25q16_lora_ota-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 576840, "asset_sha256": "5b2d27a7ffb3efcdd2b3e7435f7d79f5c5088817d024de3d952d7ea3a27002c9", "automatic_delay_seconds": 70, "candidate_sha256": "57df468b525fe6ba3c1f6c756b9a85ad3875e845f080671201411e8044da05c6", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak3401_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "RAK_3401_repeater_rak13302_w25q16_lora_ota-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 527248, "asset_sha256": "5b2d27a7ffb3efcdd2b3e7435f7d79f5c5088817d024de3d952d7ea3a27002c9", "automatic_delay_seconds": 70, "candidate_sha256": "57df468b525fe6ba3c1f6c756b9a85ad3875e845f080671201411e8044da05c6", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak3401_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "RAK_3401_repeater_unified_lora_ota-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Flood rules: 47 entries; the complete rule engine is retained.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_3401_repeater_unified_lora_ota-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Flood rules: 47 entries; the complete rule engine is retained.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_3401_repeater_unified_lora_ota-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 582096, "asset_sha256": "5b2d27a7ffb3efcdd2b3e7435f7d79f5c5088817d024de3d952d7ea3a27002c9", "automatic_delay_seconds": 70, "candidate_sha256": "57df468b525fe6ba3c1f6c756b9a85ad3875e845f080671201411e8044da05c6", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak3401_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Flood rules: 47 entries; the complete rule engine is retained.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_3401_repeater_unified_lora_ota-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 532456, "asset_sha256": "5b2d27a7ffb3efcdd2b3e7435f7d79f5c5088817d024de3d952d7ea3a27002c9", "automatic_delay_seconds": 70, "candidate_sha256": "57df468b525fe6ba3c1f6c756b9a85ad3875e845f080671201411e8044da05c6", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak3401_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Flood rules: 47 entries; the complete rule engine is retained.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_3401_room_server_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_3401_room_server_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_3401_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 535692, "asset_sha256": "5b2d27a7ffb3efcdd2b3e7435f7d79f5c5088817d024de3d952d7ea3a27002c9", "automatic_delay_seconds": 70, "candidate_sha256": "57df468b525fe6ba3c1f6c756b9a85ad3875e845f080671201411e8044da05c6", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak3401_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_3401_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 485712, "asset_sha256": "5b2d27a7ffb3efcdd2b3e7435f7d79f5c5088817d024de3d952d7ea3a27002c9", "automatic_delay_seconds": 70, "candidate_sha256": "57df468b525fe6ba3c1f6c756b9a85ad3875e845f080671201411e8044da05c6", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak3401_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_3401_sensor_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_3401_sensor_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_3x72_companion_radio_usb": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "none", "platform": "STM32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [], "webconfig": false }, "RAK_4631_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "RAK_4631_repeater_bridge_rs232_serial1_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "RAK_4631_repeater_bridge_rs232_serial1_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "RAK_4631_repeater_bridge_rs232_serial1_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 510932, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "RAK_4631_repeater_bridge_rs232_serial1_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 510932, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "RAK_4631_repeater_bridge_rs232_serial2_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "RAK_4631_repeater_bridge_rs232_serial2_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "RAK_4631_repeater_bridge_rs232_serial2_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 539520, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "RAK_4631_repeater_bridge_rs232_serial2_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 539520, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "RAK_4631_repeater_ethernet-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_4631_repeater_ethernet-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_4631_repeater_ethernet-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 591716, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_4631_repeater_ethernet-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 540840, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_4631_repeater_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_4631_repeater_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_4631_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 623564, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_4631_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 573296, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_4631_repeater_rak15001_slot_c_lora_ota-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "RAK_4631_repeater_rak15001_slot_c_lora_ota-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "RAK_4631_repeater_rak15001_slot_c_lora_ota-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 575940, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "RAK_4631_repeater_rak15001_slot_c_lora_ota-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 525784, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "RAK_4631_repeater_unified_lora_ota-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_4631_repeater_unified_lora_ota-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_4631_repeater_unified_lora_ota-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 623564, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_4631_repeater_unified_lora_ota-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 573296, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_4631_repeater_w25q16_lora_ota-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "RAK_4631_repeater_w25q16_lora_ota-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "RAK_4631_repeater_w25q16_lora_ota-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 576020, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "RAK_4631_repeater_w25q16_lora_ota-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 525784, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "RAK_4631_room_server_ethernet_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_4631_room_server_ethernet_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_4631_room_server_ethernet_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 585124, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_4631_room_server_ethernet_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 534440, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_4631_room_server_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_4631_room_server_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_4631_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 569744, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_4631_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 519300, "asset_sha256": "0a7d556cbe68f9698c20ce3e892d1f39a6fc08f1cfb178df7128b340f9f8dc35", "automatic_delay_seconds": 70, "candidate_sha256": "ec860fb46697ac4b458f4b961dec69b428380be1ce31a226cff60298f3281545", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wiscore_rak4631_auto", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_4631_sensor_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_4631_sensor_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching normal RAK3401 or RAK4631 adaptive OTAFIX bootloader, or the exact legacy storage profile", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "One application detects RAK external NOR and chooses QSPI only with the exact matching OTAFIX bootloader; otherwise it uses internal flash where safe.", "External QSPI accepts full images and in-place deltas; internal flash accepts in-place deltas only and needs the retained-RAM OTAFIX profile.", "OTAFIX 2.4.11 provides normal RAK3401/RAK4631 *_auto bootloaders with standard board identities and internal signed bootloader-update staging. Historical *_AUTO_DFU or dedicated external identities need the documented local identity-matching migration, not a cross-profile LoRa update." ], "package_types": [ "full", "in_place_delta" ], "storage": "adaptive_internal_or_external_qspi" } }, "webconfig": false }, "RAK_WisMesh_Tag_companion_radio_full": { "dedicatedUsbLogging": true, "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "RAK_WisMesh_Tag_repeater_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "RAK_WisMesh_Tag_repeater_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "RAK_WisMesh_Tag_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 520268, "asset_sha256": "48e07eaac9926f0d9d569f484d35f07eca857dd76d2b688da2fe7e2bb69ed71d", "automatic_delay_seconds": 70, "candidate_sha256": "dd57a36dd601434202b660a8c9c765510516e63b16250ff79e96276d91e46684", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wismesh_tag", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "RAK_WisMesh_Tag_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 492012, "asset_sha256": "48e07eaac9926f0d9d569f484d35f07eca857dd76d2b688da2fe7e2bb69ed71d", "automatic_delay_seconds": 70, "candidate_sha256": "dd57a36dd601434202b660a8c9c765510516e63b16250ff79e96276d91e46684", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wismesh_tag", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "RAK_WisMesh_Tag_room_server_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_WisMesh_Tag_room_server_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_WisMesh_Tag_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 475288, "asset_sha256": "48e07eaac9926f0d9d569f484d35f07eca857dd76d2b688da2fe7e2bb69ed71d", "automatic_delay_seconds": 70, "candidate_sha256": "dd57a36dd601434202b660a8c9c765510516e63b16250ff79e96276d91e46684", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wismesh_tag", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_WisMesh_Tag_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 446812, "asset_sha256": "48e07eaac9926f0d9d569f484d35f07eca857dd76d2b688da2fe7e2bb69ed71d", "automatic_delay_seconds": 70, "candidate_sha256": "dd57a36dd601434202b660a8c9c765510516e63b16250ff79e96276d91e46684", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wismesh_tag", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_WisMesh_Tag_sensor_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "RAK_WisMesh_Tag_sensor_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "SenseCapIndicator-ESPNow_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": true, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "SenseCapIndicator-LoRa-N16R2_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Display renders at 320x320 and scales to the 480x480 panel to preserve internal RAM. All Full transports, 350 contacts, 512 queued messages and full-length message previews are retained.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "SenseCapIndicator-LoRa-N16R2_repeater-full-logging": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "SenseCapIndicator-LoRa_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Display renders at 320x320 and scales to the 480x480 panel to preserve internal RAM. All Full transports, 350 contacts, 512 queued messages and full-length message previews are retained.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "SenseCapIndicator-LoRa_repeater-full-logging": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "SenseCap_Solar_companion_radio_full": { "dedicatedUsbLogging": true, "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "SenseCap_Solar_repeater-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "SenseCap_Solar_repeater-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "SenseCap_Solar_repeater-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 521236, "asset_sha256": "694fca8e68fb695ac1a5ef701baf26e8d52a7eb188f886496dcb6bc8b6fdc7cb", "automatic_delay_seconds": 70, "candidate_sha256": "d33c035c783e555049d2b41fe2f12367c6a87ee30b041c627d19088a2a6d8855", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "sensecap_solar_p1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "SenseCap_Solar_repeater-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 492700, "asset_sha256": "694fca8e68fb695ac1a5ef701baf26e8d52a7eb188f886496dcb6bc8b6fdc7cb", "automatic_delay_seconds": 70, "candidate_sha256": "d33c035c783e555049d2b41fe2f12367c6a87ee30b041c627d19088a2a6d8855", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "sensecap_solar_p1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "SenseCap_Solar_room_server_lora_ota-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "SenseCap_Solar_room_server_lora_ota-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "SenseCap_Solar_room_server_lora_ota-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 463188, "asset_sha256": "694fca8e68fb695ac1a5ef701baf26e8d52a7eb188f886496dcb6bc8b6fdc7cb", "automatic_delay_seconds": 70, "candidate_sha256": "d33c035c783e555049d2b41fe2f12367c6a87ee30b041c627d19088a2a6d8855", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "sensecap_solar_p1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "SenseCap_Solar_room_server_lora_ota-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 434620, "asset_sha256": "694fca8e68fb695ac1a5ef701baf26e8d52a7eb188f886496dcb6bc8b6fdc7cb", "automatic_delay_seconds": 70, "candidate_sha256": "d33c035c783e555049d2b41fe2f12367c6a87ee30b041c627d19088a2a6d8855", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "sensecap_solar_p1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "Station_G2_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "Station_G2_repeater_observer_mqtt-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Station_G2_room_server_observer_mqtt-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Station_G3_ESP32_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": true, "femTx": true, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "radioSlotAuto": true, "radioSlotFamily": "sx1262", "radioSlotSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rs232": false, "rxgain": false, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "Station_G3_ESP32_repeater-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": true, "femTx": true, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "radioSlotAuto": true, "radioSlotFamily": "sx1262", "radioSlotSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rs232": false, "rxgain": false, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Station_G3_ESP32_room_server-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": true, "femTx": true, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "radioSlotAuto": true, "radioSlotFamily": "sx1262", "radioSlotSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rs232": false, "rxgain": false, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Station_G3_ESP32_sensor-full-logging": { "display": true, "espnowBridge": false, "femRx": true, "femTx": true, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "radioSlotAuto": true, "radioSlotFamily": "sx1262", "radioSlotSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rs232": false, "rxgain": false, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": false }, "T_Beam_S3_Supreme_SX1262_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "T_Beam_S3_Supreme_SX1262_repeater-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "T_Beam_S3_Supreme_SX1262_room_server-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Tbeam_SX1262_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": true }, "Tbeam_SX1262_repeater_observer_mqtt-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Flood rules: 31 entries; the complete rule engine is retained. Neighbor table: 50 entries.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Tbeam_SX1262_room_server_observer_mqtt-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Tbeam_SX1276_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [], "webconfig": true }, "Tbeam_SX1276_repeater_observer_mqtt-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Flood rules: 31 entries; the complete rule engine is retained. Neighbor table: 50 entries.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Tbeam_SX1276_room_server_observer_mqtt-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Tenstar_C3_sx1262_repeater-full-logging": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Tenstar_C3_sx1268_repeater-full-logging": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "ThinkNode_M1_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "ThinkNode_M1_repeater-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ThinkNode_M1_repeater-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ThinkNode_M1_repeater-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 487064, "asset_sha256": "39758d00c22b010f64fb7c757ac0a600cce5fb2cfb7024879eda5e6ca2a5ed7d", "automatic_delay_seconds": 70, "candidate_sha256": "5e47e694a01792715be9cf14909fcc992acc5e189e612fa63b59ae515b992dad", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "thinknode_m1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ThinkNode_M1_repeater-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 487064, "asset_sha256": "39758d00c22b010f64fb7c757ac0a600cce5fb2cfb7024879eda5e6ca2a5ed7d", "automatic_delay_seconds": 70, "candidate_sha256": "5e47e694a01792715be9cf14909fcc992acc5e189e612fa63b59ae515b992dad", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "thinknode_m1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ThinkNode_M1_room_server_lora_ota-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ThinkNode_M1_room_server_lora_ota-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ThinkNode_M1_room_server_lora_ota-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 440632, "asset_sha256": "39758d00c22b010f64fb7c757ac0a600cce5fb2cfb7024879eda5e6ca2a5ed7d", "automatic_delay_seconds": 70, "candidate_sha256": "5e47e694a01792715be9cf14909fcc992acc5e189e612fa63b59ae515b992dad", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "thinknode_m1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ThinkNode_M1_room_server_lora_ota-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 440632, "asset_sha256": "39758d00c22b010f64fb7c757ac0a600cce5fb2cfb7024879eda5e6ca2a5ed7d", "automatic_delay_seconds": 70, "candidate_sha256": "5e47e694a01792715be9cf14909fcc992acc5e189e612fa63b59ae515b992dad", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "thinknode_m1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ThinkNode_M2_Repeater-full-logging": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "ThinkNode_M2_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": true }, "ThinkNode_M2_room_server-full-logging": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "ThinkNode_M3_companion_radio_full": { "dedicatedUsbLogging": true, "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "ThinkNode_M3_repeater_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "ThinkNode_M3_repeater_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "ThinkNode_M3_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 481184, "asset_sha256": "26b86db8840e1de3f309a20ccc7e18fedd820dc645c5c85669bd9e0d1c029cb6", "automatic_delay_seconds": 70, "candidate_sha256": "f408bc457c03067cb36ebccd7629eba7c1d1961675d594fbce9d7278cfe2f5cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "thinknode_m3", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "ThinkNode_M3_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 481184, "asset_sha256": "26b86db8840e1de3f309a20ccc7e18fedd820dc645c5c85669bd9e0d1c029cb6", "automatic_delay_seconds": 70, "candidate_sha256": "f408bc457c03067cb36ebccd7629eba7c1d1961675d594fbce9d7278cfe2f5cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "thinknode_m3", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "ThinkNode_M3_room_server_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "ThinkNode_M3_room_server_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "ThinkNode_M3_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 436208, "asset_sha256": "26b86db8840e1de3f309a20ccc7e18fedd820dc645c5c85669bd9e0d1c029cb6", "automatic_delay_seconds": 70, "candidate_sha256": "f408bc457c03067cb36ebccd7629eba7c1d1961675d594fbce9d7278cfe2f5cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "thinknode_m3", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "ThinkNode_M3_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 436208, "asset_sha256": "26b86db8840e1de3f309a20ccc7e18fedd820dc645c5c85669bd9e0d1c029cb6", "automatic_delay_seconds": 70, "candidate_sha256": "f408bc457c03067cb36ebccd7629eba7c1d1961675d594fbce9d7278cfe2f5cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "thinknode_m3", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "ThinkNode_M4_companion_radio_full": { "dedicatedUsbLogging": true, "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "ThinkNode_M4_repeater_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "ThinkNode_M4_repeater_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "ThinkNode_M4_room_server_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "ThinkNode_M4_room_server_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "ThinkNode_M5_Repeater-full-logging": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "ThinkNode_M5_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": true }, "ThinkNode_M5_room_server-full-logging": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "ThinkNode_M6_companion_radio_full": { "dedicatedUsbLogging": true, "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "ThinkNode_M6_repeater-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ThinkNode_M6_repeater-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ThinkNode_M6_repeater-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 517724, "asset_sha256": "950475dcbf3e4985b6754737527261489d83614246f1a6ecd91f2148b135a4dc", "automatic_delay_seconds": 70, "candidate_sha256": "af50901bd7dc9391dbccc0da6a2bf006da808f35b38a16835938ebba7159edcf", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "thinknode_m6", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ThinkNode_M6_repeater-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 489140, "asset_sha256": "950475dcbf3e4985b6754737527261489d83614246f1a6ecd91f2148b135a4dc", "automatic_delay_seconds": 70, "candidate_sha256": "af50901bd7dc9391dbccc0da6a2bf006da808f35b38a16835938ebba7159edcf", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "thinknode_m6", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ThinkNode_M6_room_server_lora_ota-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ThinkNode_M6_room_server_lora_ota-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ThinkNode_M6_room_server_lora_ota-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 471420, "asset_sha256": "950475dcbf3e4985b6754737527261489d83614246f1a6ecd91f2148b135a4dc", "automatic_delay_seconds": 70, "candidate_sha256": "af50901bd7dc9391dbccc0da6a2bf006da808f35b38a16835938ebba7159edcf", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "thinknode_m6", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ThinkNode_M6_room_server_lora_ota-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 442932, "asset_sha256": "950475dcbf3e4985b6754737527261489d83614246f1a6ecd91f2148b135a4dc", "automatic_delay_seconds": 70, "candidate_sha256": "af50901bd7dc9391dbccc0da6a2bf006da808f35b38a16835938ebba7159edcf", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "thinknode_m6", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ThinkNode_M7_companion_radio_full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "ThinkNode_M7_repeater-full-usb-wifi": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "ThinkNode_M7_room_server-full-usb-wifi": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "ThinkNode_M8_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "ThinkNode_M8_repeater_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "ThinkNode_M8_repeater_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "ThinkNode_M8_room_server_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "ThinkNode_M8_room_server_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "ThinkNode_M9_companion_radio_full_": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "ThinkNode_M9_repeater_-full-logging": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "ThinkNode_M9_room_server_-full-logging": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Tiny_Relay_companion_radio_usb": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "none", "platform": "STM32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [], "webconfig": false }, "WHY2025_badge_companion_radio_full_": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "WHY2025_badge_repeater_-full-logging": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Waveshare_S3_LR1121_companion_radio_full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [], "webconfig": true }, "Waveshare_S3_LR1121_repeater_observer_mqtt-full-usb-wifi": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Waveshare_S3_LR1121_room_server_observer_mqtt-full-usb-wifi": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "WioTrackerL1-1W_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": true, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "WioTrackerL1-1W_repeater_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": true, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "WioTrackerL1-1W_repeater_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": true, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "WioTrackerL1-1W_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 524092, "asset_sha256": "aceae36b3b4c8fa2fa72be9a0d68d63bed53398a17ace6736e932b99b6d85b58", "automatic_delay_seconds": 70, "candidate_sha256": "15f66078197b10352f8217d2d5809357cd3f71341b2c3ed9e55f209ffc71d90d", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wio_tracker_l1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": true, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "WioTrackerL1-1W_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 496660, "asset_sha256": "aceae36b3b4c8fa2fa72be9a0d68d63bed53398a17ace6736e932b99b6d85b58", "automatic_delay_seconds": 70, "candidate_sha256": "15f66078197b10352f8217d2d5809357cd3f71341b2c3ed9e55f209ffc71d90d", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wio_tracker_l1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": true, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "WioTrackerL1-1W_room_server_lora_ota_no_external_sensors-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": true, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "WioTrackerL1-1W_room_server_lora_ota_no_external_sensors-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": true, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "WioTrackerL1-1W_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 482348, "asset_sha256": "aceae36b3b4c8fa2fa72be9a0d68d63bed53398a17ace6736e932b99b6d85b58", "automatic_delay_seconds": 70, "candidate_sha256": "15f66078197b10352f8217d2d5809357cd3f71341b2c3ed9e55f209ffc71d90d", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wio_tracker_l1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": true, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "WioTrackerL1-1W_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 454888, "asset_sha256": "aceae36b3b4c8fa2fa72be9a0d68d63bed53398a17ace6736e932b99b6d85b58", "automatic_delay_seconds": 70, "candidate_sha256": "15f66078197b10352f8217d2d5809357cd3f71341b2c3ed9e55f209ffc71d90d", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wio_tracker_l1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": true, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "WioTrackerL1Eink_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "WioTrackerL1_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "WioTrackerL1_repeater-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "WioTrackerL1_repeater-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "WioTrackerL1_repeater-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 530124, "asset_sha256": "aceae36b3b4c8fa2fa72be9a0d68d63bed53398a17ace6736e932b99b6d85b58", "automatic_delay_seconds": 70, "candidate_sha256": "15f66078197b10352f8217d2d5809357cd3f71341b2c3ed9e55f209ffc71d90d", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wio_tracker_l1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "WioTrackerL1_repeater-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 502676, "asset_sha256": "aceae36b3b4c8fa2fa72be9a0d68d63bed53398a17ace6736e932b99b6d85b58", "automatic_delay_seconds": 70, "candidate_sha256": "15f66078197b10352f8217d2d5809357cd3f71341b2c3ed9e55f209ffc71d90d", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wio_tracker_l1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "WioTrackerL1_room_server_lora_ota-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "WioTrackerL1_room_server_lora_ota-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "WioTrackerL1_room_server_lora_ota-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 483468, "asset_sha256": "aceae36b3b4c8fa2fa72be9a0d68d63bed53398a17ace6736e932b99b6d85b58", "automatic_delay_seconds": 70, "candidate_sha256": "15f66078197b10352f8217d2d5809357cd3f71341b2c3ed9e55f209ffc71d90d", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wio_tracker_l1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "WioTrackerL1_room_server_lora_ota-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 456052, "asset_sha256": "aceae36b3b4c8fa2fa72be9a0d68d63bed53398a17ace6736e932b99b6d85b58", "automatic_delay_seconds": 70, "candidate_sha256": "15f66078197b10352f8217d2d5809357cd3f71341b2c3ed9e55f209ffc71d90d", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "wio_tracker_l1", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "Wio_Tracker_L2_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "Wio_Tracker_L2_repeater-full-logging": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Wio_Tracker_L2_room_server-full-logging": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Xiao_C3_companion_radio_full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion capacity: 100 contacts and 224 queued messages; all Full transports are retained. Export contacts before updating if you have more than 100; entries beyond this limit may be unavailable or omitted by a later save.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": true }, "Xiao_C3_repeater-full-logging": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Xiao_C3_room_server-full-logging": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Xiao_C6_companion_radio_full_": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": true }, "Xiao_C6_repeater_-full-logging": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Xiao_S3_WIO_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "Xiao_S3_WIO_repeater-full-usb-wifi": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Xiao_S3_WIO_room_server-full-usb-wifi": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Xiao_S3_WIO_sensor-full-logging": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": false }, "Xiao_S3_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "Xiao_S3_repeater-full-usb-wifi": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Xiao_S3_room_server-full-usb-wifi": { "display": false, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "Xiao_S3_sensor-full-logging": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": false }, "Xiao_nrf52_companion_radio_full": { "dedicatedUsbLogging": true, "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "Xiao_nrf52_repeater-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "Xiao_nrf52_repeater-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "Xiao_nrf52_repeater-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 530228, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "Xiao_nrf52_repeater-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 501708, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "Xiao_nrf52_room_server_lora_ota-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "Xiao_nrf52_room_server_lora_ota-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "Xiao_nrf52_room_server_lora_ota-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 471720, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "Xiao_nrf52_room_server_lora_ota-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 443328, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "Xiao_rp2040_companion_radio_usb": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "none", "platform": "RP2040_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": false }, "heltec_rc32_companion_radio_full": { "display": true, "displayAuto": true, "displayController": "nv3001b", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "heltec_rc32_repeater-full-usb-wifi": { "display": true, "displayAuto": true, "displayController": "nv3001b", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "heltec_rc32_room_server-full-usb-wifi": { "display": true, "displayAuto": true, "displayController": "nv3001b", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "heltec_rc32_sensor-full-logging": { "display": true, "displayAuto": true, "displayController": "nv3001b", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": false }, "heltec_tracker_v1_1_repeater_observer_mqtt-full-usb-wifi": { "display": true, "displayAuto": true, "displayController": "st7735", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": true, "femRx": true, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Neighbor table: 50 entries.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "heltec_tracker_v1_1_room_server_observer_mqtt-full-usb-wifi": { "display": true, "displayAuto": true, "displayController": "st7735", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": true, "femRx": true, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "heltec_tracker_v2_companion_radio_full_femon": { "display": true, "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion capacity: 100 contacts and 224 queued messages; all Full transports are retained. Export contacts before updating if you have more than 100; entries beyond this limit may be unavailable or omitted by a later save.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "heltec_tracker_v2_repeater-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": true, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "heltec_tracker_v2_repeater_bridge_rs232-full-logging": { "display": false, "espnowBridge": true, "femRx": true, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": true, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "heltec_tracker_v2_room_server-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": true, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "heltec_tracker_v2_sensor-full-logging": { "display": true, "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": false }, "heltec_v4_2_v4_3_companion_radio_full_femon": { "display": true, "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "heltec_v4_r8_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "heltec_v4_r8_repeater-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": true, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "heltec_v4_r8_room_server-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": true, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "heltec_v4_r8_sensor-full-logging": { "display": true, "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": false }, "heltec_v4_r8_tft_companion_radio_full": { "display": true, "displayAuto": true, "displayController": "st7789", "displayRotation": true, "displayRotationSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "heltec_v4_r8_tft_repeater-full-usb-wifi": { "display": true, "displayAuto": true, "displayController": "st7789", "displayRotation": true, "displayRotationSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": true, "femRx": true, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "heltec_v4_r8_tft_room_server-full-usb-wifi": { "display": true, "displayAuto": true, "displayController": "st7789", "displayRotation": true, "displayRotationSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": true, "femRx": true, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "heltec_v4_r8_tft_sensor-full-logging": { "display": true, "displayAuto": true, "displayController": "st7789", "displayRotation": true, "displayRotationSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": false }, "heltec_v4_repeater-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": true, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "oledExpansionCompatible": true, "oledExpansionCompatibleSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "heltec_v4_room_server-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": true, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "oledExpansionCompatible": true, "oledExpansionCompatibleSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "heltec_v4_sensor-full-logging": { "display": true, "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": false }, "heltec_v4_tft_companion_radio_full_femon": { "display": true, "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "tftExpansionCompatible": true, "tftExpansionCompatibleSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "updateMethods": [ "wifi" ], "webconfig": true }, "heltec_v4_tft_repeater-full-logging": { "display": true, "espnowBridge": true, "femRx": true, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "heltec_v4_tft_room_server-full-logging": { "display": true, "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "heltec_v4_tft_sensor-full-logging": { "display": true, "espnowBridge": false, "femRx": true, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": false }, "ikoka_handheld_nrf_e22_30dbm_096_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "ikoka_handheld_nrf_e22_30dbm_repeater-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_handheld_nrf_e22_30dbm_repeater-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_handheld_nrf_e22_30dbm_repeater-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 508320, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_handheld_nrf_e22_30dbm_repeater-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 479832, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_handheld_nrf_e22_30dbm_room_server_lora_ota-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_handheld_nrf_e22_30dbm_room_server_lora_ota-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_handheld_nrf_e22_30dbm_room_server_lora_ota-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 462832, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_handheld_nrf_e22_30dbm_room_server_lora_ota-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 434264, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_22dbm_companion_radio_full": { "dedicatedUsbLogging": true, "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "ikoka_nano_nrf_22dbm_repeater-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_22dbm_repeater-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_22dbm_repeater-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 512932, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_22dbm_repeater-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 484588, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_22dbm_room_server_lora_ota-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_22dbm_room_server_lora_ota-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_22dbm_room_server_lora_ota-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 467524, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_22dbm_room_server_lora_ota-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 438908, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_30dbm_companion_radio_full": { "dedicatedUsbLogging": true, "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "ikoka_nano_nrf_30dbm_repeater-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_30dbm_repeater-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_30dbm_repeater-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 512932, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_30dbm_repeater-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 484588, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_30dbm_room_server_lora_ota-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_30dbm_room_server_lora_ota-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_30dbm_room_server_lora_ota-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 467524, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_30dbm_room_server_lora_ota-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 438908, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_33dbm_companion_radio_full": { "dedicatedUsbLogging": true, "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "ikoka_nano_nrf_33dbm_repeater-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_33dbm_repeater-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_33dbm_repeater-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 512932, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_33dbm_repeater-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 484588, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_33dbm_room_server_lora_ota-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_33dbm_room_server_lora_ota-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_33dbm_room_server_lora_ota-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 467524, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_nano_nrf_33dbm_room_server_lora_ota-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 438908, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_22dbm_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "ikoka_stick_nrf_22dbm_repeater-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_22dbm_repeater-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_22dbm_repeater-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 521736, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_22dbm_repeater-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 493296, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_22dbm_room_server_lora_ota-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_22dbm_room_server_lora_ota-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_22dbm_room_server_lora_ota-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 476216, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_22dbm_room_server_lora_ota-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 447552, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_30dbm_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "ikoka_stick_nrf_30dbm_repeater-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_30dbm_repeater-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_30dbm_repeater-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 521736, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_30dbm_repeater-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 493296, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_30dbm_room_server_lora_ota-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_30dbm_room_server_lora_ota-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_30dbm_room_server_lora_ota-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 476216, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_30dbm_room_server_lora_ota-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 447552, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_33dbm_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "ikoka_stick_nrf_33dbm_repeater-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_33dbm_repeater-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_33dbm_repeater-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 521736, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_33dbm_repeater-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 493296, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_33dbm_room_server_lora_ota-full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_33dbm_room_server_lora_ota-reduced": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_33dbm_room_server_lora_ota-with-bootloader-2.4.12-full": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 476216, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "ikoka_stick_nrf_33dbm_room_server_lora_ota-with-bootloader-2.4.12-reduced": { "display": true, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 447552, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "meshnology_w12_companion_radio_full": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi" ], "webconfig": true }, "meshnology_w12_repeater-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "meshnology_w12_room_server-full-usb-wifi": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": true, "loggingControl": "logging.output", "loggingModes": [ "none", "usb", "wifi", "both" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": true, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": true, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "meshnology_w12_sensor-full-logging": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": false }, "muzi_base_duo_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "displayAuto": true, "displayController": "sh1107", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "muzi_base_duo_repeater_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "muzi_base_duo_repeater_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "muzi_base_duo_room_server_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "muzi_base_duo_room_server_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "muzi_base_uno_companion_radio_full": { "dedicatedUsbLogging": true, "display": true, "displayAuto": true, "displayController": "sh1107", "displaySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "muzi_base_uno_repeater_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "muzi_base_uno_repeater_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "muzi_base_uno_room_server_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "muzi_base_uno_room_server_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "nibble_screen_connect_companion_radio_full_": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": true }, "nibble_screen_connect_repeater_-full-logging": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "nibble_screen_connect_room_server_-full-logging": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "nibble_zero_connect_companion_radio_full_": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": true }, "nibble_zero_connect_repeater_-full-logging": { "display": true, "espnowBridge": true, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "nibble_zero_connect_room_server_-full-logging": { "display": true, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "ESP32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "wifi", "lora" ], "webconfig": true }, "solarxiao_30S_companion_radio_full": { "dedicatedUsbLogging": true, "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "solarxiao_30S_repeater-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "solarxiao_30S_repeater-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "solarxiao_30S_repeater-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 545312, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "solarxiao_30S_repeater-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 516600, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "solarxiao_30S_room_server_lora_ota-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "solarxiao_30S_room_server_lora_ota-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "solarxiao_30S_room_server_lora_ota-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 486916, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "solarxiao_30S_room_server_lora_ota-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 458188, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "solarxiao_33S_companion_radio_full": { "dedicatedUsbLogging": true, "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "solarxiao_33S_repeater-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "solarxiao_33S_repeater-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "solarxiao_33S_repeater-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 545312, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "solarxiao_33S_repeater-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 516600, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": true, "rs232Merged": true, "rs232Source": "03214a16df2bd09d3272dfb001d2d322c6740f60", "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "solarxiao_33S_room_server_lora_ota-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "solarxiao_33S_room_server_lora_ota-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "solarxiao_33S_room_server_lora_ota-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 486916, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "solarxiao_33S_room_server_lora_ota-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 458188, "asset_sha256": "2f943dbac7dd22a7c63712eb138cc8f9078a20f6975079793124f10f1c246d87", "automatic_delay_seconds": 70, "candidate_sha256": "ac9c60fd29b39cef68607b677975b80731dcdf4b13b6c4979cff4ab40eead3cc", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "xiao_nrf52840_ble", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the matching external-storage hardware, wiring, and storage-aware OTAFIX bootloader." ], "package_types": [ "full", "in_place_delta" ], "storage": "external_qspi" } }, "webconfig": false }, "t1000e_companion_radio_full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "loggingControl": "usb.logging", "loggingModes": [ "none", "usb" ], "loggingSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "memoryNote": "Full Companion queue: 256 offline messages normally; 128 while mOTA borrows queue storage. Sync unread messages with a Companion app before starting mOTA if more than 128 are pending. Stopping or disconnecting the source restores all 256 slots.", "memorySource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "mqtt": false, "otaRole": "lora-source", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "t1000e_repeater_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "t1000e_repeater_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "t1000e_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 478064, "asset_sha256": "35b2d7a3a45a2223da48c30a66f187ade82f63439457c8680a1732ad5dbbfc73", "automatic_delay_seconds": 70, "candidate_sha256": "a6aba61d48c3661604a361aaa6e9a8542c1ab5149dcb861e5d3e07f7b5dea8c5", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "t1000_e", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "t1000e_repeater_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 478064, "asset_sha256": "35b2d7a3a45a2223da48c30a66f187ade82f63439457c8680a1732ad5dbbfc73", "automatic_delay_seconds": 70, "candidate_sha256": "a6aba61d48c3661604a361aaa6e9a8542c1ab5149dcb861e5d3e07f7b5dea8c5", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "t1000_e", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Requires the exact-board retained-RAM handoff bootloader profile; a transfer cannot resume after the receiver restarts." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash_and_retained_ram" } }, "webconfig": false }, "t1000e_room_server_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "t1000e_room_server_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "t1000e_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-full": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 432864, "asset_sha256": "35b2d7a3a45a2223da48c30a66f187ade82f63439457c8680a1732ad5dbbfc73", "automatic_delay_seconds": 70, "candidate_sha256": "a6aba61d48c3661604a361aaa6e9a8542c1ab5149dcb861e5d3e07f7b5dea8c5", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "t1000_e", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "t1000e_room_server_lora_ota_no_external_sensors-with-bootloader-2.4.12-reduced": { "display": false, "embeddedBootloader": { "activation": "ota bootloader update", "app_offset": 432864, "asset_sha256": "35b2d7a3a45a2223da48c30a66f187ade82f63439457c8680a1732ad5dbbfc73", "automatic_delay_seconds": 70, "candidate_sha256": "a6aba61d48c3661604a361aaa6e9a8542c1ab5149dcb861e5d3e07f7b5dea8c5", "image_bytes": 40960, "legacy_sha256": null, "manifest_sha256": "d2f62a4ec9b7c5643d8ed787d9e1710a2fabac34607a0bbb6ea5883a458e6df3", "profile": "t1000_e", "release": "2.4.12" }, "embeddedBootloaderSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "t1000e_sensor_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "t1000e_sensor_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": true, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "waveshare_rp2040_lora_companion_radio_usb": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "none", "platform": "RP2040_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": true, "rxps": true, "snmp": false, "updateMethods": [], "webconfig": false }, "wio-e5-mini_companion_radio_usb": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "none", "platform": "STM32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [], "webconfig": false }, "wio-e5_companion_radio_usb": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "none", "platform": "STM32_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [], "webconfig": false }, "wio_wm1110_companion_radio_ble": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "none", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "snmp": false, "updateMethods": [ "bluetooth" ], "webconfig": false }, "wio_wm1110_repeater_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "wio_wm1110_repeater_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "wio_wm1110_room_server_lora_ota_no_external_sensors-full": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "full", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false }, "wio_wm1110_room_server_lora_ota_no_external_sensors-reduced": { "display": false, "espnowBridge": false, "femRx": false, "femTx": false, "gps": false, "mqtt": false, "otaRole": "lora-receiver", "platform": "NRF52_PLATFORM", "primaryEspnow": false, "rs232": false, "rxgain": false, "rxps": false, "sensorProfile": "reduced", "sensorProfileSource": "03214a16df2bd09d3272dfb001d2d322c6740f60", "snmp": false, "updateMethods": [ "bluetooth", "lora" ], "updateRequirements": { "lora": { "bootloader": "Matching board/storage OTAFIX bootloader", "bootloader_release": "https://github.com/mikecarper/Adafruit_nRF52_Bootloader_OTAFIX/releases/tag/v0.11.0-OTAFIX2.4.11", "notes": [ "Use a destination-specific .mota package matching the board, target, and storage layout.", "An in-place delta requires the exact firmware currently running as its base.", "The package must fit the receiver's staging and apply workspace.", "Check the release's exact-board bootloader manifest; hardware-pending boards are not covered by the normal release.", "Artifact inspection verifies compiled support; it does not verify the bootloader installed on a physical device.", "Internal storage accepts in-place application deltas, not full application packages." ], "package_types": [ "in_place_delta" ], "storage": "internal_flash" } }, "webconfig": false } }, "source": "03214a16df2bd09d3272dfb001d2d322c6740f60" }