New Bluetooth Smart tool from Nordic

Over the last few months we have been working on a new desktop application for BluetoothRegistered Smart devices which will give you easy access to the most common Bluetooth features and allows you to control locally connected, compatible Nordic devices. We have tried to simplify the inherent complexity of the technology by presenting it in an intuitive way to help you get up and running quickly.

image description
Figure 1: Connection map

The features and use cases for this new tool are similar to the Master Control Panel desktop application, but with additional features and support. This tool is compatible with several operating systems which include Windows, Mac OSX, and Linux, a major step from our previous Windows-only Master Control Panel. To stay flexible, we have chosen a programming language and technology that will make it easier to update and add new features in the future. Let us know if you have any suggestions :)

image description
Figure 2: Device details

Written in HTML5, CSS, and JavaScript (Node.js) this new tool uses Electron to provide a self contained environment for running desktop applications with Chromium and Node.js. The Bluetooth host is run on nRF51 hardware, which is connected to the application through a USB serial port. We are also using a Nordic project called Bluetooth Smart Driver (pc-ble-driver) to handle the transport communication and send the SoftDevice BLE API as a C linked library. To access the C library, another project named pc-ble-driver-js generates native bindings for Node.js.
The frontend and backend javascript application uses various node.js modules to get the job done. Modules used include bootstrap, react, reflux, sqlite3, winston and several others.

image description
Figure 3: Building blocks

###Features in this release

  • GAP central
    • Scan
    • Multiple connections (up to 3 connections)
  • GATT client
    • Service discovery
  • Log
    • Log view with most important events
    • Log file with more detailed logging

###Planned features

  • GAP central and peripheral
    • Advertising configuration
    • Pairing and security
  • GATT client
    • Toggle notifications
    • Read and write
  • GATT server
    • Server set up
  • Device Firmware Upgrade
    • Over-the-air DFU
  • Device reset

Prerequsites

The following hardware and software is required:

  • nRF51 development board (PCA10028) or dongle (PCA10031) (firmware HEX file is provided)
  • SEGGER JLink software (JLink and CDC drivers)

Compatible operating systems

We currently have support for the following operating systems:

  • Windows (tested on Windows 7 64-bit)
  • Mac OSX (tested on OSX 10.10 Yosemite)
  • Linux (tested on 64-bit Ubuntu 14.4 LTS)

Known issues/limitations

  • This is an early development stage release. No guarantees are given regarding stability and backwards compatibility.
  • No reset command is available at this point, so the board will have to be manually reset between each run of the application.

License/terms-of-use

The application is currently licensed under Nordic proprietary license. We plan to have it under an open license in the future.

Feedback

If you download and try out the tool, let us know what you think about it. Please leave your feedback in the comments section or contact Nordic tech support. We really appreciate it!

File download

###Application installer/zip files Download the file for your system, install or unpack and run the application:
Windows: yggdrasil-v0.7.0.exe
OSX: Yggdrasil-0.7.0-darwin-x64.tar.gz
Ubuntu Linux 64bit: yggdrasil-0.7.0-linux-x64.tar.gz

###Development kit firmware Program your development kit or dongle with this firmware:
connectivity_115k2_with_s130_1.0.0.hex