Arduino Board Testing

Once you have the Bluefruit nRF52 BSP setup on your system, you need to select the appropriate board, which will determine the compiler and expose some new menus options:

1. Select the Board Target

  • Go to the Tools menu
  • Select Tools > Board > Adafruit Bluefruit nRF52 Feather for nRF52832-based boards
  • Select Tools > Boards Adafruit Bluefruit nRF52840 Feather Express for nRF52840-based boards

2. Select the USB CDC Serial Port

Finally, you need to set the serial port used by Serial Monitor and the serial bootloader:

  • Go to Tools > Port and select the appropriate device

Download & Install CP2104 Driver (nRF52832)

For Feather nRF52832 If you don't see the SiLabs device listed, you may need to install the SiLabs CP2104 driver on your system.

On MacOS If you see this dialog message while installing driver

On MacOS If you see this dialog message while installing driver, System Extension Blocked

 

And cannot find the serial port of CP2104, it is highly possible that driver is blocked.

To enable it go to System Preferences -> Security & Privacy and click allow if you see Silab in the developer name.

Download & Install Adafruit Driver (nRF52840 Windows)

For Feather nRF52840, If you are using Windows, you will need to follows Windows Driver Installation to download and install driver.

3. Update the bootloader (nRF52832 Feather Only)

To keep up with Nordic's SoftDevice advances, you will likely need to update your bootloader

Follow this link for instructions on how to do that

This step is only necessary on the nRF52832-based devices, NOT on the newer nRF52840 Feather Express.

4. Run a Test Sketch

At this point, you should be able to run a test sketch from the Examples folder, or just flash the following blinky code from the Arduino IDE:

Download: file
void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

This will blink the red LED beside the USB port on the Feather

If Arduino failed to upload sketch to the Feather

If you get this error:

Timed out waiting for acknowledgement from device.

Failed to upgrade target. Error is: No data received on serial port. Not able to proceed.
Traceback (most recent call last):
  File "nordicsemi\__main__.py", line 294, in serial
  File "nordicsemi\dfu\dfu.py", line 235, in dfu_send_images
  File "nordicsemi\dfu\dfu.py", line 203, in _dfu_send_image
  File "nordicsemi\dfu\dfu_transport_serial.py", line 155, in send_init_packet
  File "nordicsemi\dfu\dfu_transport_serial.py", line 243, in send_packet
  File "nordicsemi\dfu\dfu_transport_serial.py", line 282, in get_ack_nr
nordicsemi.exceptions.NordicSemiException: No data received on serial port. Not able to proceed.

This is probably caused by the bootloader version mismatched on your feather and installed BSP. Due to the difference in flash layout (more details) and Softdevice API (which is bundled with bootloader), sketch built with selected bootloader can only upload to board having the same version. In short, you need to upgrade/burn bootloader to match on your Feather, follow above Update The Bootloader guide

It only has to be done once to update your Feather

On Linux I'm getting 'arm-none-eabi-g++: no such file or directory', even though 'arm-none-eabi-g++' exists in the path specified. What should I do?

This is probably caused by a conflict between 32-bit and 64-bit versions of the compiler, libc and the IDE. The compiler uses 32-bit binaries, so you also need to have a 32-bit version of libc installed on your system (details). Try running the following commands from the command line to resolve this:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386
This guide was first published on Mar 22, 2017. It was last updated on Mar 22, 2017. This page (Arduino Board Testing) was last updated on May 25, 2019.