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

nRF8001 DevKit usage with FPGA and Embedded Linux

image description I would like to develop an application with Nordic's nRF8001 DevKit. The master emulator of this kit is an USB Dongle and it is originally meant for PC connection. My final goal for the project is to run it on an FPGA (possibly through Embedded Linux). Regarding this goal, I have some questions.

  1. Is the master emulator (USB Dongle) compatible with Linux? Are there any open-source drivers or from Nordic?

1a) If there is a driver for Linux, can I use it with Embedded Linux or do I have to make some modifications to it?

1b) If there isn't a driver for Linux, can I write my own Embedded Linux driver (no prior experience on drivers)? Are there any similar/reference drivers?

  1. Is it possible to use the nRF8001 chip, not the USB Dongle, with FPGA as a master, possibly through serial interface (SPI/UART)?
    1. Is the master emulator (USB Dongle) compatible with Linux? Are there any open-source drivers or from Nordic? --The Master Emulator dongle is an nRF2739 then the answer is NO --If the Master Emulator dongle is PCA10000, then the answer is Maybe. The best way however would be to use the HCI software either from the BlueKitchen project or from the Zephyr project, which would work on the nRF51.

    1a) If there is a driver for Linux, can I use it with Embedded Linux or do I have to make some modifications to it? --There is no driver available from Nordic see answers for 1.

    1b) If there isn't a driver for Linux, can I write my own Embedded Linux driver (no prior experience on drivers)? Are there any similar/reference drivers? --There is no driver available from Nordic see answer for 1.

    1. Is it possible to use the nRF8001 chip, not the USB Dongle, with FPGA as a master, possibly through serial interface (SPI/UART)? --nRF8001 is a slave only device with a GATT Server and GATT client. It cannot work as a master.
  • Following up on the reference to BlueKitchen: to use the nRF5x chipsets with an HCI firmware and our Bluetooth stack, we've extended the Zephyr HCI firmware to expose the random static address stored in the nRF FICR storage and provide a quick flash script. Info: See the section on Nordic Semi at github.com/.../chipset

  • The nRF8001 USB dongle (Master Emulator) is not officially supported on Linux, and there are no official drivers from Nordic for Linux systems. Some community efforts with libusb exist, but they are limited and not well-suited for Embedded Linux without significant custom work.

    If you're targeting an FPGA + Embedded Linux, it's better to use the nRF8001 chip directly via SPI. The chip uses ACI protocol over SPI, which you can implement on FPGA or a microcontroller.

    Nordic provides example ACI code (e.g. for Arduino) that can be a good reference. Writing a Linux USB driver from scratch is possible but quite complex, especially without driver experience.

Related