SparkFun Pro nRF52840 Mini - BLE Blinky (nRF5 SDK example) not advertising

Hello, I was working through this guide for nRF5 SDK development with the SparkFun Pro nRF52840 Mini. I was able to compile and flash the blinky example just fine (the board was definitely flashed, as I was able to change the blink frequency).

However, when I compiled and flashed ble_app_blinky, the board does not appear as a Bluetooth device when the nRF Connect mobile app is scanning.

I tried enabling serial logging on pin 17 through the config file, however when I connected this to the RX pin on my Arduino Uno (with code set to print data sent by serial), nothing was received.

I tried both memory configurations suggested in the guide, but neither of them work. There is a link to a forum post about this in the guide but it is dead.

I was wondering whether this was an issue with the softdevice, since non-BLE examples work but BLE ones don’t, but from what I understand this should have been flashed onto the board during production.

Should I resort to completely erasing and re-flashing the board with a J-link? Haven’t tried this yet because I don’t have one on hand.

Versions etc
nRF5 SDK: v17.1.0
nRF Connect: version 2.7.11 for iOS (iPhone 11 running iOS 16.1.1)
Macbook Air M2 (2022)

Hmm - since the non-BLE BT examples work, do you have another BLE device you can test with? I would try testing with a windows/android as well, if possible

The Adafruit Feather nRF52840 Express shows up on iOS nRF Connect and the BLE examples work as intended.
I don’t have an android device but the SparkFun Pro nRF52840 Mini doesn’t show up on Bluetooth LE Explorer for Windows.

Are you trying the examples here? nRF52840 Development with Arduino and CircuitPython - SparkFun Learn

The BLE examples for Arduino IDE work fine, so I guess the issue isn’t with the softdevice.

I have figured out the issue with serial logging, where nothing was being transmitted from the TX pin. If anyone is having a similar problem, try setting NRF_LOG_DEFERRED in the sdk_config.h file to 0.

// <i> Log data is buffered and can be processed in idle.

#ifndef NRF_LOG_DEFERRED
#define NRF_LOG_DEFERRED 0
#endif

Now that logging is working, it seems that the nRF5 BLE Blinky example runs fine until the initialisation of the softdevice, where it appears to hang. (It isn’t failing or entering an error state.)

On Nordic Devzone, some threads seem to suggest that this may be a clock configuration issue, but I have tried changing this and the problem has persisted.

1 Like