This repository contains the Arduino BSP for Adafruit Bluefruit nRF52 series:
Following boards are also included but are not officially supported:
There are two methods that you can use to install this BSP. We highly recommend the first option unless you wish to participate in active development of this codebase via Github.
Install BSP via Board Manager as above to install compiler & tools.
Delete the core folder nrf52
installed by Board Manager in Adruino15, depending on your OS. It could be
~/Library/Arduino15/packages/adafruit/hardware/nrf52
~/.arduino15/packages/adafruit/hardware/nrf52
%APPDATA%\Local\Arduino15\packages\adafruit\hardware\nrf52
cd <SKETCHBOOK>
, where <SKETCHBOOK>
is your Arduino Sketch folder:
~/Documents/Arduino
~/Arduino
~/Documents/Arduino
Create a folder named hardware/adafruit
, if it does not exist, and change directories to it
Clone this repo & its submodules:
git clone https://github.com/adafruit/Adafruit_nRF52_Arduino.git
cd Adafruit_nRF52_Arduino
git submodule update --init
Restart the Arduino IDE
Once the BSP is installed, select 'Adafruit Feather nRF52840 Express' from the Tools -> Board menu, which will update your system config to use the right compiler and settings for the nRF52.
adafruit-nrfutil (derived from Nordic pc-nrfutil) is needed to upload sketch via serial port.
tools/adafruit-nrfutil/
. It should work out of the box.$ pip3 install adafruit-nrfutil --user
Bootloader can be updated via UF2 file or DFU if already existed. Or flash on new blank chip using following guide
This only works with nRF52840 and require existing bootloader version is at least 0.4.0:
FTHR840BOOT
will appearupdate-{BOARD}-{version}_nosd.uf2
from Adafruit_nRF52_Bootloader release pageFTHR840BOOT
drive to perform update then wait until the board reset.xTo upgrade to the latest Bootloader + Softdevice using the serial port within Arduino IDE.
Tools > Board > Adafruit Feather nRF52840 Express
Tools > Programmer > Bootloader DFU for Bluefruit nRF52
Tools > Burn Bootloader
Note: 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.
To burn the bootloader from within the Arduino IDE, you will need the following tools installed on your system and available in the system path:
Check to make sure you can run nrfjprog
from your terminal/command prompt
macOS Note At present, you will need to create a symlink in /usr/local/bin
to the
nrfjprog
tool wherever you have added it. You can run the following command, for example:
$ ln -s $HOME/prog/nordic/nrfjprog/nrfjprog /usr/local/bin/nrfjprog
Once the tools above have been installed and added to your system path, from the Arduino IDE:
Tools > Board > Adafruit Feather nRF52840 Express
Tools > Programmer > J-Link for Feather52
Tools > Burn Bootloader
with the board and J-Link connectedIf you wish to modify bootloader to your own need, check out its repo here Adafruit_nRF52_Bootloader
The bootloader hex file can be found at bin/bootloader
run the command as follows:
$ nrfjprog -e -f nrf52
$ nrfjprog --program feather_nrf52832_bootloader.hex -f nrf52
$ nrfjprog --reset -f nrf52
This core is based on Arduino-nRF5 by Sandeep Mistry, which in turn is based on the Arduino SAMD Core.
The following libraries are used: