10 years, 6 months ago.

BLE API Support for nRF8001

I have a redbear labs Bluetooth Low Energy shield which I have been using with some success with an Arduino Due which is ARM based.

I'd like to move over to mbed with this shield and maybe also use the new breakout boards from Adafruit which also use the nRF8001over SPI. Is there a plan to support this Nordic IC with the BLE API?

Question relating to:

Bluetooth Low Energy (a.k.a Bluetooth LE, BTLE, Bluetooth Smart)

I would like to know this as well.

posted by Neil Thiessen 05 May 2014

Yes I would like to use nRF8001 as well! Any plans to add support for it?

posted by tap tap 06 May 2014

2 Answers

9 years, 11 months ago.

There is a nRF8001 library for mbed from Redbearlab in the program nRF8001_SimpleControls (library is BLE_nRF8001), this seems to be a start to get the nRF8001 working on mbed. I have got it to compile but does not seem to be working yet. I will update you of my progress.

Accepted Answer

Yes the RedBearLabs library seems like a good starting point. I have got this working with a FRDM and also a Nucleo board. I had some success before porting the Arduino code to mbed but the RedBear library came along. They also have the advantage of being able to change characteristics on the fly. I made a notebook entry with some tips. http://developer.mbed.org/users/highroads/notebook/adafruit-nrf8001-breakout-working-with-nordic-app/

posted by Ian Kilburn 10 Dec 2014

I am trying to do the same and have it compiling and working great some of the time, other times it seems that I can't get the nRF8001 to broadcast. Specifically it seems to get stuck somewhere in the function "nRF8001::begin()." Has any one had similar issues or could suggest any fixes to this?

posted by Sita Kumar 01 May 2015
10 years, 6 months ago.

The mbed API is based on the nRF51822, not the nRF8001, so the short answer is that this won't work. The nRF8001 takes a very different approach to the nRF51822, and all of your services and characteristics are defined in a stand-alone external tool and passed into the nRF8001 during initialisation. It's theoretically possible to port the mbed API over, but we would require all of the information on how to interpret the byte arrays generated by the tool, and we made the decision to go with the nRF51822 since it was the most flexible of the two chips. At present, there are no plans to add support for the nRF8001 since the nRF58122 is so similarly priced but offers a number of additional advantages to customers (you can't do anything Beacon related with the nRF8001 for example).

Thanks for the clear answer Kevin. It looks like the correct way to go for the API. I think I will still try to get the nRF8001 shield working with a simple library just supporting the UART function with one set of services. I looked at generating the byte arrays myself but it seems very complicated and the documentation is very sparse.

posted by Ian Kilburn 11 May 2014