Upgrading the Bootloader is only possible from BSP release 0.8.0 and higher.

Upgrading an Existing Bootloader

The Adafruit Feather nRF52 Bootloader binary contains not only the DFU code, but also the Bluetooth stack (a.k.a SoftDevice) to make sure they work together reliably. To get the latest and greatest features from the stack such as Bluetooth 5.0 with higher throughput, increased broadcast capacities or larger MTU it is necessary to upgrade Bootloader to get the latest stack.

Therefore latest BSP release could support newer SoftDevice version than one currently exists on your board. Due to the flash memory & API difference between SoftDevice major versions, upgrade your board's bootloader to match one supported by BSP is required to upload compiled sketch. Luckily the Bluefruit nRF52 Bootloader can be upgraded/downgraded without any additional hardware, and we can even do that right in Arduino IDE without at risk of typos or common user errors.

Close the Serial Monitor before you click "Burn Bootloader". Afterwards, you shouldn't close the Arduino IDE, unplug the Feather, launch Serial Monitor etc ... to abort the process. There is a high chance it will brick your device! Do this with care and caution.

 First select the Bootloader version that you want to upgrade under Tools->Bootloader

Then select "Bootloader DFU for Bluefruit nRF52" for Tools->Programmer

Double check all of the following: Board, Bootloader Version, Programmer...

Select Tools->Burn Bootloader to start the upgrade.

After receiving the new Bootloader over the serial connection, the old Bootloader will erase itself! The new bootloader will then be flashed. The process typically takes 30-60 seconds to complete. Make sure you see the "Device programmed" in the output log before launching Serial monitor or uploadinga new sketch.

In case you wonder, the command that IDE uses to upgrade bootloader is as follows (bootloader zip file is different for boards and version).

$ adafruit-nrfutil --verbose dfu serial --package feather_nrf52832_bootloader-0.2.8_s132_6.1.1.zip
 -p /dev/ttyACM0 -b 115200 --singlebank --touch 1200

This guide was first published on Mar 22, 2017. It was last updated on Jun 17, 2024.

This page (Updating the Bootloader) was last updated on Mar 08, 2024.

Text editor powered by tinymce.