This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF8001 - getting started - head exploding

I'm new to Linux, new to embedded code but 15 yrs experience in Windows development. So, I got this project where I need to interface from BeagleBoard-xm running Ubuntu Linux to a nRF8001 BLE chip. I'm going in circles but don't have a clear understanding of steps necessary to take. Somebody, pls pls help to clarify wth I need to do. :)

So far I have the pinouts for my AM3703 processor and how it's connected to the Bluefruit BLE board (containing the nRF8001 chip). I'm struggling w/ the next step.

Are there any Linux libraries that would have the necessary functionality to talk to the chip? Do I need to write everything from scratch? Any tips in the right direction would be much appreciated.

Ty, vasilli from Ontario, Canada

  • The nRF8001 has a ACI/SPI interface to be controlled from. If I understand you correctly you have made the connections needed to be able to control the nRF8001 from the beagle board. The nRF8001 has a set of commands and events it uses to set it up and run it. I'm not familiar with a specific library for the BeagleBoard you have towards the nRF8001, but as long as you have a SPI available and the additional handshaking signal on the beagle board you could re-use the command set shown in for example the Arduino SDK for the nRF8001.

    github.com/.../ble-sdk-arduino

  • You can also look at the ARM ports for the nRF8001 libary for the STM32 (libmaple) https://github.com/leaflabs/libmaple/pull/93 or the port of the nRF8001 library to the EFM32 ( https://github.com/NordicSemiconductor/ble-sdk-efm32 ).

    We do not have a port for the Beagleboard/Linux but multiple customers have already done ports to that platform, so this should be easily possible.

    Follow the porting guide for more details.