Adafruit Feather Express, Zephyr and some Black Magic

First steps

My friends from NextLab have solid experience with Nordic and of course other chips. They helped me to set up a working environment using nRF5 SDK version 16 and Eclipse as an IDE. Read here how to make it work:

Giving it a try

The options

You have several options when creating a project for your Adafruit. You can use the “Adafruit Feather nRF52840 Express” board from the wizard but here is the gotcha — it will use the Arduino framework and also you must use one of the following protocols for upload:

Black magic blinky

platform = nordicnrf52
board = nrf52840_dk
framework = zephyr
debug_tool = blackmagic
debug_port = /dev/cu.usbmodem79A67BCB1
upload_protocol = blackmagic
upload_port = /dev/cu.usbmodem79A67BCB1

Device Trees

After spending some time debugging and testing why the hell the LED is not working, at last, I figured it out — My Adafruit and the DK have different device trees, which means different pinouts mapping, different LEDs mapping, etc. Remember that we used the DK as a template to have a Zephyr and Black Magic support!

#define LED_PORT    "GPIO_1"
#define LED 15


Currently, the setup requires two USB cables to power the probe and the Adafruit separately. You can get rid of the Adafruit power and supply it from the probe directly. Slight modifications are needed in platformio.ini. I modified the default debug commands and added:

monitor tpwr enable



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Asen Lekov

Asen Lekov

Experienced native mobile and web developer. Interested in management and education with a solid experience behind.