Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
A

Adafruit_nRF52_Arduino

> 编程语言
Open source

Adafruit code for the Nordic nRF52 BLE SoC on Arduino

695 stars0 likes0 views
WebsiteGitHub

About

Adafruit code for the Nordic nRF52 BLE SoC on Arduino

Arduino Core for Adafruit Bluefruit nRF52 Boards

This repository contains the Arduino BSP for Adafruit Bluefruit nRF52 series:

  • Adafruit CLUE nRF52840
  • Adafruit Circuit Playground Bluefruit
  • Adafruit Feather nRF52832
  • Adafruit Feather nRF52840 Express
  • Adafruit Feather nRF52840 Sense
  • Adafruit ItsyBitsy nRF52840 Express
  • Adafruit LED Glasses Driver nRF52840
  • Adafruit Metro nRF52840 Express
  • Raytac MDBT50Q-RX Dongle

Following boards are also included but are not officially supported:

  • Nordic nRF52840DK PCA10056
  • Particle Xenon

BSP Installation

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.

Recommended: Adafruit nRF52 BSP via the Arduino Board Manager

  1. Download and install the Arduino IDE (At least v1.6.12)
  2. Start the Arduino IDE
  3. Go into Preferences
  4. Add https://adafruit.github.io/arduino-board-index/package_adafruit_index.json as an 'Additional Board Manager URL'
  5. Restart the Arduino IDE
  6. Open the Boards Manager from the Tools -> Board menu and install 'Adafruit nRF52 by Adafruit'
  7. 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.

Optional (Core Development): Adafruit nRF52 BSP via git

  1. Install BSP via Board Manager as above to install compiler & tools.
  2. Delete the core folder nrf52 installed by Board Manager in Adruino15, depending on your OS. It could be
  • macOS : ~/Library/Arduino15/packages/adafruit/hardware/nrf52
  • Linux : ~/.arduino15/packages/adafruit/hardware/nrf52
  • Windows: %APPDATA%\Local\Arduino15\packages\adafruit\hardware\nrf52
  1. cd , where `` is your Arduino Sketch folder:
  • macOS : ~/Documents/Arduino
  • Linux : ~/Arduino
  • Windows: ~/Documents/Arduino
  1. Create a folder named hardware/adafruit, if it does not exist, and change directories to it
  2. Clone this repo & its submodules:
bash
git clone https://github.com/adafruit/Adafruit_nRF52_Arduino.git
cd Adafruit_nRF52_Arduino
git submodule update --init
  1. Restart the Arduino IDE
  2. 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's nrfutil tools

adafruit-nrfutil (derived from Nordic pc-nrfutil) is needed to upload sketch via serial port.

  • For Windows and macOS, pre-built executable binaries are included in the BSP at tools/adafruit-nrfutil/. It should work out of the box.
  • Linux user need to run follow command to install it from PyPi
$ pip3 install adafruit-nrfutil --user

Drivers

  • SiLabs CP2104 driver is required for USB to Serial when using with Feather nRF52832

Bootloader

Bootloader can be updated via UF2 file or DFU if already existed. Or flash on new blank chip using following guide

Update Bootloader with UF2 ( nRF52840 only and require 0.4.0+ )

This only works with nRF52840 and require existing bootloader version is at least 0.4.0:

  • Quickly doulbe tap reset button to put your board in to bootloader mode. A mass storage device i.e FTHR840BOOT will appear
  • Download latest UF2 for your board i.e update-{BOARD}-{version}_nosd.uf2 from Adafruit_nRF52_Bootloader release page
  • Drap and drop the UF2 file into FTHR840BOOT drive to perform update then wait until the board reset.x

Update Bootloader with DFU

To upgrade to the latest Bootloader + Softdevice using the serial port within Arduino IDE.

  • Select Tools > Board > Adafruit Feather nRF52840 Express
  • Select Tools > Programmer > Bootloader DFU for Bluefruit nRF52
  • Select Tools > Burn Bootloader
  • WAIT until the process complete ~30 seconds

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.

Burning new Bootloader

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:

  • Segger JLink Software and Documentation Pack
  • Nordic nRF5x Command Line Tools

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:

  • Select Tools > Board > Adafruit Feather nRF52840 Express
  • Select Tools > Programmer > J-Link for Feather52
  • Select Tools > Burn Bootloader with the board and J-Link connected

If you wish to modify bootloader to your own need, check out its repo here Adafruit_nRF52_Bootloader

Manually Burning the Bootloader via nrfjprog

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

Credits

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:

  • FreeRTOS as operating system
  • LittleFS for internal file system
  • nrfx for peripherals driver
  • TinyUSB as usb stack

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言