Skip to content

Instantly share code, notes, and snippets.

@dotdavid
Last active May 21, 2026 20:35
Show Gist options
  • Select an option

  • Save dotdavid/72b3008643c8bf1dc56b7c70e79ec60e to your computer and use it in GitHub Desktop.

Select an option

Save dotdavid/72b3008643c8bf1dc56b7c70e79ec60e to your computer and use it in GitHub Desktop.
Seeed Studio Xiao nRF52840 MeshCore OTA Notes

Seeed Studio Xiao nRF52840 MeshCore OTA Notes

My notes for the Seeed XIAO nRF52840 & Wio-SX1262, used in various of my solar repeaters.

Check Bootloader Version

To check the bootloader version (firmware 1.14+), log into the repeater and use the CLI to execute the get bootloader.ver command.

OTA Fix Bootloader

The OTA fix bootloader protects the device from ending up in an unrecoverable state following an unsuccessful BLE OTA update.

Installation

The fresh-from-the-factory Seeed units seem to have the "Sense" bootloader installed by default. This means the UF2 file does not "stick" properly when you flash it. Instead you need to do a full bootloader flash using an Adafruit util.

  • Connect the board to PC
  • Enter UF2 mode by double pressing the (left) reset button within 0.5s
  • XIAO-SENSE file system will be mounted to the PC. The INFO_UF2.TXT file contains info about the bootloader.

Example INFO_UF2.TXT from Factory

UF2 Bootloader 0.6.1 lib/nrfx (v2.0.0) lib/tinyusb (0.10.1-293-gaf8e5a90) lib/uf2 (remotes/origin/configupdate-9-gadbb8c7)
Model: Seeed XIAO nRF52840
Board-ID: Seeed_XIAO_nRF52840_Sense
SoftDevice: S140 version 7.3.0
Date: Nov 12 2021
  • Download and install the adafruit-nrfutil flasher, see https://github.com/adafruit/Adafruit_nRF52_nrfutil
  • Download bootloader from https://github.com/oltaco/Adafruit_nRF52_Bootloader_OTAFIX
  • The required file is the "xiao_nrf52840_ble_bootloader" zip file, e.g. xiao_nrf52840_ble_bootloader-0.9.2-OTAFIX2.1-BP1.2_s140_7.3.0.zip
  • Run the Adafruit NRF util flasher adafruit-nrfutil --verbose dfu serial --singlebank --touch 1200 --package xiao_nrf52840_ble_bootloader-0.9.2-OTAFIX1.2-BP1.2_s140_7.3.0.zip -p /dev/ttyACM0 -b 115200
  • After flashing the unit will remain in a weird mode with the LED flashing. Enter UF2 mode again.
  • XIAO-BOOT (note the change) file system will be mounted to the PC. The INFO_UF2.TXT file contains info about the bootloader.

Example INFO_UF2.TXT after flash

UF2 Bootloader 0.9.2-OTAFIX2.1-BP1.2 lib/nrfx (v2.0.0) lib/tinyusb (0.12.0-145-g9775e7691) lib/uf2 (remotes/origin/configupdate-9-gadbb8c7)
Model: Seeed XIAO nRF52840
Board-ID: nRF52840-SeeedXiao-v1
Date: Dec 22 2025
SoftDevice: S140 7.3.0

Upgrade

To upgrade the version of the OTA fix bootloader on an existing unit you can copy the UF2 file across in bootloader mode

  • Download bootloader from https://github.com/oltaco/Adafruit_nRF52_Bootloader_OTAFIX
  • The required file is the "update-xiao_nrf52840_ble_bootloader" uf2 file, e.g. update-xiao_nrf52840_ble_bootloader-0.9.2-OTAFIX2.1-BP1.2_nosd.uf2
  • Connect the board to PC
  • Enter UF2 mode by double pressing the (left) reset button within 0.5s
  • XIAO-BOOT file system will be mounted to the PC. The INFO_UF2.TXT file contains info about the bootloader. Confirm it contains the word OTAFIX.
  • Copy the uf2 file to the XIAO-BOOT mount. The device will restart and that's it.
  • You can put it back into UF2 mode to check the INFO_UF2.TXT has been updated to the new version.

OTA Repeater Upgrade

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment