update-booloader

If you're experiencing issues with updating or flashing newer versions of the Meshtastic firmware, and your nRF52 device is not running the latest bootloader version, updating the bootloader may resolve these problems.

To check which version of the bootloader your device is running, place the device into DFU mode. Then, open the mounted drive that appears on your computer and check the INFO_UF2.TXT file.

Updating bootloader

Below are the steps to update your bootloader.

Depending on your device, you need to select the correct bootloader package. Below are the links to the bootloader packages:

Method 2: Using adafruit-nrfutil

:::caution

Unlike uf2 uploads, adafruit-nrfutil does not check if you have the correct bootloader package for your device. If you flash the wrong bootloader, you may brick your device. Please also verify the SHA256 checksum before flashing.

:::

:::info

These instructions assume you have python and pip already installed. If you do not, please install the latest version of python (which includes pip) from Python.org.

:::

Depending on your device, you need to select the correct bootloader package. Below are the links to the bootloader packages:

pip install adafruit-nrfutil
  1. Obtain the correct zip package.
  2. Connect your device to your computer via USB.
  3. In the terminal or command prompt, navigate to the directory where you downloaded the bootloader zip package and execute the following command, replacing /dev/ttyACM0 with the correct port for your device (Windows users might use COMx):
adafruit-nrfutil --singlebank --touch 1200 --verbose dfu serial --package <downloaded file>.zip -p /dev/ttyACM0 -b 115200
  1. Once the process finishes, the update is complete. Your device is now running the latest bootloader version and you can proceed with flashing the firmware.

Method 3: Using a Debugger

If the above methods do not work and if the hardware supports it (i.e., has the required SWD pins), a debugger like a DAPLink or J-Link can be used to flash the bootloader directly. Refer to the Debugger Instructions for an example with the RAK4631.