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

Nordic provide a BLE USB dongle for applications running on a PC?

Does Nordic provide a BLE functionality with a USB dongle that a PC application can use? I do NOT want to use the Windows 10 BLE as it is buggy and does not provide the low level control I need. I am writing an extensive health device BLE test suite for centrals and I do not want to download HEX files onto a chip for each test. What is needed is to call the BLE APIs from the PC application and get signaled of BLE events in the PC application. I am thinking Visual Studio 19 using C or C++. I am forced to select things in the product and I will pick something at random. I have no idea which one will do. Pretty stupid requirement on Nordic's part.

Parents Reply Children
  • I looked at the instructions on git hub for the pc-ble-driver which seems incredibly complex,  requiring installation of all kinds of software that I have never heard of, setting up numerous environment variables, and then one still installs a HEX file. Besides the chances of getting one of those steps wrong (since I have no idea what I am doing - just following a sequence of cookbook steps) is this still for writing C-based BLE applications that run on the PC? If so, what does that lengthy installation procedure accomplish? If I had some idea of what I am doing perhaps the chances of success are better....

  • There are a few tools and dependencies required in order to build the driver, but as long as you follow the instructions closely, you should be fine.

    The tools are required in order to support the many platforms and targets (OSes, ICs, softdevice versions, physical transports, etc.). You will need to run an application on the nRF chip in any scenario that you want to use it for BLE, the chip is blank when produced, and does not provide any mechanism for controlling BLE. The connectivity HEX file that is required by pc-ble-driver is not changed after the first build, you only need to rebuild it if you want to change softdevice version or run it on another board. In fact, you do not need to compile the connectivity hex yourself at all if you want to run it on any of our boards, you can use the precompiled version found in the downloadable releases.

    Exactly which tools are you concerned about?

  • I was looking at the numerous programs that need to be installed, choclately, cmake nrf***, among others. I think I can avoid choclately which I have no desire to have. I guess Visual Studio is not enough but I need gcc compilter as well. Not sure about that. I have been going through the sequence and trying to figure out what to do in a way that's easy to clean up.

  • If I install the precompiled HEX files, then I can use Visual Studio only to write applications, correct? I wont need to buy the IAR compiler or another special compiler to write ARM HEX files...or will there still be some HEX files I will need to build in addition to the precompiled HEX files?

  • Yes, there is no additional HEX files you need to build apart from the connectivity HEX file that you find in the release. However, you would still need to setup the other build tools, to compile the driver itself and generate the projects.

    If you are looking for a cleaner solution, you can also consider porting our serialization libraries to your desktop. This is the same solution as pc-ble-driver is using, but will require more effort on your end to make it work on your platform.

Related