Desktop library for BLE development using nRF5
Latest commit ed4c97e Aug 7, 2018


pc-ble-driver provides C/C++ libraries for Bluetooth Low Energy nRF5 SoftDevice serialization.


pc-ble-driver consists of a set of static and shared libraries that provide SoftDevice functionality to the application via serial port communication with an nRF5 connectivity chip running the SoftDevice and connectivity software, included as a single .hex file here. For more information on SoftDevice serialization see Serialization.

The C/C++ libraries can be interfaced with directly, but are also provided as higher-level bindings that ease development at the cost of reduced control (acceptable in most cases):


For detailed guidelines on building and installing pc-ble-driver and it's dependencies see

Getting started

The examples serve as a great starting point for development with pc-ble-driver. Examples include a heart rate monitor (BLE peripheral) and heart rate collector (BLE master) and show the basic structure of an application built on pc-ble-driver.

Now that you have successfully built and installed pc-ble-driver, you are ready to run the examples in pc-ble-driver/examples/. First verify that the static and shared libraries exist in the directory the examples expect them to be in.

$ cd pc-ble-driver/
$ ls build/
> libpc_ble_driver_static_sd_api_v2.a libpc_ble_driver_shared_sd_api_v2.dylib libpc_ble_driver_static_sd_api_v5.a  libpc_ble_driver_shared_sd_api_v5.dylib test_uart ...

To quickly get the examples up and running, see examples/


alt tag

Where the 'Application chip' is just generic hardware (i.e. a Windows, OS X or Linux device), although it could also be an Arduino or Raspberry Pi for example.


See the license file for details.