This blog post is now deprecated. Please see the updated PC software for nRF OpenMesh.
With the official Bluetooth Mesh nearing release, and Nordic's proprietary nRF Open Mesh, developers need solid tools to develop their mesh-enabled projects. Most of our customers rely on nRF Connect mobile and desktop tools (previously Master Control Panel) to develop their BLE applications. A similar tool is necessary for BLE mesh applications. This is what nRF Connect Mesh (an extension of nRF Connect) offers.
One of Bluetooth's biggest constraints is range. Meshing can increase the range in scenarios where there are many devices (i.e. smart lighting for buildings). Nordic provides the nRF Open Mesh framework to make developing mesh applications very easy on nRF5 series devices, and will soon be releasing an implementation of the official Bluetooth Mesh. This tool will support product development using either of those mesh implementations.
Getting Started with nRF Connect Mesh - Vimeo
To control the mesh, this tool connects to a Gateway device (nRF5 slave device that is controlled by nRF Connect Mesh via serial interface). You can connect to the Gateway device and control the mesh with no limitations or restrictions. The Gateway device is just like the other nodes on your mesh except it is controlled via serial UART, and does as commanded by nRF Connect Mesh as well as interacting with the other nodes on the mesh, serving as a bridge. nRF Connect Mesh can work with any gateway firmware that has the serial interface enabled, but we provide the official gateway firmware.
#Download and Getting Started
Download nRF Connect Mesh Windows. Note: We have OS X and Linux versions and will release these betas early next week. Unzip the folder after the download completes and double click nrf-connect-mesh.exe. nRF Connect Mesh will open. Plug a few nRF51 development kits or dongles into your PC, program them from nRF Connect Mesh with the official gateway firmware, and follow along with the sections below!
When developing Mesh applications you are working with a lot of devices. You need to be able to easily and efficiently program & run many devices at once. You also need to be able to easily display debug information generated by these devices.
See this blog post for more information on how multi programming and RTT logging are implemented in nRF Connect Mesh.
Imagine you are seeing some strange behavior in your mesh application. To figure out what is going on, you add SEGGER_RTT_WriteString(CHANNEL_0, "RBC_MESH_EVENT_TYPE_TX\n"); to your code and recompile. You easily program your devices from nRF Connect Mesh and start the RTT logger. But it would suck if you had to provision/initialize every single node to the mesh one at a time. nRF Connect Mesh solves problems like these with Multiple device commands.
Commands like init and reset can be done on many devices at once through nRF Connect.
Upgrading the firmware of all nodes in the mesh is an important feature of nRF Open Mesh. nRF Connect Mesh makes this very easy to test and verify as you are developing. Code signed DFU is built into nRF Open Mesh, and all nodes on the mesh can be upgraded at once while the application is running concurrently with the DFU OTA process running in the background.
Note: We haven't implemented a good progress bar for DFU in nRF Connect Mesh yet. It usually takes around 15 minutes to complete the entire DFU process, and you will have to see the progress by looking at the RTT logs, or just waiting for DFU Completed!.
You can set/get handles and their values, enable disable flags/tx events and much more via the Mesh gateway node. Note: click on the small highlighted green box in the logging window to switch between nRF Connect Mesh and RTT logging.
Mesh gateway node
We are very early in the development of this tool so that means we expect there to be some bugs in this release. However, we want your feedback so we can deliver the best tool possible. nRF Connect will be released on GitHub soon, and when that happens this code will be released as well. This tool is built on top of the Node.js platform and React/Redux frameworks and runs on Electron.
I think this is the correct version to be used for nRF OpenMesh.
Good day Michael,
I attempted to try your demo and I cannot get any of the devices to connect to one another. I am using one nRF51 dev board, and two nRF51 USB dongles. I did download and install latest J-link software which updated the dev board and dongles. All devices are found within RFConnect (i.e. the device IDs are shown in the "devices to program" window) and I am able to successfully program the official mesh firmware into them just like your video (my log matches yours in your video). However, when I view RTT-Log I get no information being displayed... and also the LEDs on the dev board and the dongles are not flashing like they are in your video. Can you direct me as to what I am doing wrong?
Hi! Nice work.
Is there some information about power usage?
Is there some configurable tradeoff between latency and power?
@John, please see the nRF Connect release blog post for updated info on source code release: devzone.nordicsemi.com/.../
When do you inted to release the source code for nRF connect please?