This is an advanced method, which is only necessary if your bootloader is older than 0.4.0. If your existing bootloader version is 0.4.0 or later, you can use the UF2 method, which is faster and safer.

Download Bootloader Package

To update the bootloader you need a .zip file containing the latest version of the bootloader. The most common bootloader .zip files are linked below. For .zip files for other boards, look for the .zip files here that begin with the name of the board you want to update.

Pick the download below for the board that you have. If you have a different board, look for the right .zip file for the board you have at the link just above.

Do not unzip this .zip file after downloading. It will be used as is.

Download adafruit-nrfutil

You will also need the utility program adafruit-nrfutil, which has slightly different names on different platforms.

adafruit-nrfutil for Linux

On Linux, you can download and install adafruit-nrfutil by doing:

pip3 install --user adafruit-nrfutil

adafruit-nrfutil for macOS

On macOS, if you have python3 and pip3 installed, you can install via pip3, as above for Linux. Otherwise download the zip file adafruit-nrfutil-macos...zip from the link below, and then extract the file adafruit-nrfutil from the zip file.

Then make adafruit-nrfutil executable by doing:

chmod +x adafruit-nrfutil

adafruit-nrfutil for Windows

Download the .zip file from this link, and extract the file adafruit-nrfutil.exe.

Update Bootloader

To update the bootloader, first connect the board, and then double-click the RESET button to get the ...BOOT drive to appear.

Different boards will have different boot folder names, but they should all end with BOOT.

Updating on Linux

Run a command similar to the one below in a shell window. Substitute the name of the .zip file you downloaded above for the file given below.

adafruit-nrfutil --verbose dfu serial --package feather_nrf52840_express_bootloader-0.8.0_s140_6.1.1.zip -p /dev/ttyACM0 -b 115200 --singlebank --touch 1200

Updating on macOS

Find out the device name for the connected board, by doing:

ls /dev/cu.*

The device name will be something like /dev/cu.usbmodem411. Use this command, substituting the device name you've discovered. Substitute the name of the .zip file you downloaded above for the file given below. and the name of the .zip package you downloaded above. If you are running it other than where you downloaded adafruit-nrfutil-macos, change the path to the command accordingly. If you installed it via pip3, it's just called adafruit-nrfutil, and it should be in your PATH.

./adafruit-nrfutil-macos --verbose dfu serial --package feather_nrf52840_express_bootloader-0.8.0_s140_6.1.1.zip -p /dev/cu.usbmodem411 -b 115200 --singlebank --touch 1200

Updating on Windows

Use this command in the folder where you downloaded the other two files above. You'll need to specify the correct COM port, instead of COMxx. Look in Device Manager->Ports for the name of the COM port (it will be listed as a "USB Serial Device" on Windows 10) after you have double-clicked the RESET button. Substitute the name of the .zip file you downloaded above for the file given below.

adafruit-nrfutil.exe --verbose dfu serial --package feather_nrf52840_express_bootloader-0.8.0_s140_6.1.1.zip --port COMxx -b 115200 --singlebank --touch 1200

Output when Updating

When you run the adafruit-nrfutil program, you will see output similar to this (it will vary slightly depending on your OS).

Upgrading target on COM29 with DFU package C:\Users\halbe\Desktop\update-feather-nrf52840-bootloader-0.8.0-windows\feather_nrf52840_express_bootloader-0.8.0_s140_6.1.1.zip. Flow control is disabled, Single bank, Touch 1200
Touched serial port COM29
Opened serial port COM29
Starting DFU upgrade of type 3, SoftDevice size: 151016, bootloader size: 39000, application size: 0
Sending DFU start packet
Sending DFU init packet
Sending firmware file
########################################
########################################
########################################
########################################
########################################
########################################
########################################
########################################
########################################
############
Activating new firmware

DFU upgrade took 21.119003295898438s
Device programmed.

Once done, click the RESET button again - the bootloader will be running!

This guide was first published on Jan 18, 2020. It was last updated on Jul 19, 2024.

This page (Use Command Line) was last updated on Jul 10, 2024.

Text editor powered by tinymce.