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

I want to write Windows PC software that listens to BLE advertising using preferrably a USB dongle. What do you recommend?

I want to write Windows PC software that listens to BLE advertising using preferrably a USB dongle. What do you recommend?

  • It is mainly intended for development, but I know that we have some customers using this solution in their end products.

    The C/C++ version may be a simpler approach to build an executable application directly, but it may require some more effort to get the environment up and running. It may also be possible to build executable program of the Python bindings, using PyInstaller or similar.

    The nRF52840 Dongle uses USB CDC ACM protocol to communicate between the connectivity firmware on the nRF52840 chip and the pc-ble-driver application, which is natively supported in most OSes. There is no need for additional tools like J-Link, etc.

  • Hi,

    I have now a nRF52840 dongle that works fine with the Bluetooth Low Energy app in nRF Connect, and I can see that it scans and detect BLE devices. I can open the serial port that appears in Windows as the corresponding USB serial device (USB ACM if I understand it correctly, which is supported in Visual Studio as serial ports). Though, I do not have any protocol specification on what data to send and recieive data over the serial port. I assume that it should look like AT commands or similar. Is this correctly understood? If not, do you have any documentation on how to communicate with the device from a Visual Studio C# application, like needed plug-ins, dll:s etc?

  • Hi,

    The BLE application in nRF Connect for Desktop is based on pc-ble-driver-js bindings, and use our serialization solution, which is a full serialization API for the softdevice (Bluetooth stack).

    If you do not want to build pc-ble-driver from sources, you can use the instructions in this post to create a Visual Studio project from scratch and include the DLL from the release ZIP file.

    If you are looking for a simpler solution more similar to AT commands, you can have a look at the BLE Interactive Command Line Interface Example. This does not currently support communication over USB, but that should be possible to add (support for USB CDC ACM are already available in the CLI library, it is just a matter of configuring/enabling it in the application).

    Best regards,
    Jørgen

Related