nRF5 SDK for Mesh v5.0.0

nRF5 SDK for Mesh v5.0.0

The nRF5 SDK for Mesh is Nordic Semiconductor's implementation of the Bluetooth mesh. It allows applications to use the features provided by the Bluetooth mesh when running on Nordic's nRF5 Series chips.

The Bluetooth mesh profile specification is developed and published by the Bluetooth SIG. It allows one-to-one, one-to-many, and many-to-many communication. It uses BLE protocol to exchange messages between the nodes on the network. The nodes can communicate with each other as long as they are in direct radio range of each other or there are enough devices available that are capable of listening and forwarding these messages.

The end-user applications (such as Luminaire control) are defined with the help of client-server Bluetooth mesh models defined in the Bluetooth mesh model specification.

Check the official Bluetooth mesh glossary for definitions of the most important mesh-related terms used in this documentation. You can also find detailed information about Bluetooth mesh in Bluetooth SIG's introduction to Bluetooth mesh and the Bluetooth mesh networking specifications.

Table of contents

Release notes

Check the Release Notes page for the list of all the changes made in each release.

Supported devices

The nRF5 SDK for Mesh fully supports the following Nordic devices:

  • nRF52840 (limited support for dongle)
  • nRF52833
  • nRF52832
  • nRF52820 (limited support)
  • nRF52810 (limited support)

For details, see the Compatibility page.

Supported features

The nRF5 SDK for Mesh supports all the mandatory and most of the optional features of the Bluetooth Mesh Profile Specification (MshPRFv1.0.1) and the Bluetooth Mesh Model Specification (MshMDLv1.0.1).

Check the online documentation for updated information on qualification status after the official release. The following information is valid as of week 46, 2020.

The following mandatory features are qualified:

  • Provisioner role (only Advertising bearer)
  • Node role (Advertising and GATT bearer)
  • Relay feature
  • Proxy feature
    • Proxy Server
  • Low power feature
  • Friend feature
  • Foundation models
    • Config Server
    • Health Server and Client

The following optional Bluetooth mesh features are supported by the nRF5 SDK for Mesh, but not qualified:

  • Foundation models
    • Config Client

Additionally, the nRF5 SDK for Mesh supports the following models from the Bluetooth Mesh Model Specification (MshMDLv1.0.1), yet to be qualified:

  • Generic Default Transition Time Server and Client
  • Generic Level Server and Client
  • Generic OnOff Server and Client
  • Generic PowerOnOff Server and Client
  • Light Lightness Setup Server (with associated models) and Light Lightness Client
  • Light CTL Setup Server (with associated models) and Light CTL Client
  • Light LC Setup Server (with associated models) and Light LC Client
  • Sensor Setup Server (with associated models) and Sensor Client
  • Scene Setup Server (with associated models) and Scene Client

For more information about the models in the nRF5 SDK for Mesh, see Bluetooth mesh models.

The nRF5 SDK for Mesh also includes the following features that are specific to Nordic:

Where to get started

Regardless of your familiarity with Bluetooth mesh, you can start working with the nRF5 SDK for Mesh with the following pages:

  • For a quick demonstration of some of the basic concepts of the Bluetooth mesh network using Nordic's nRF5 SDK for Mesh, see the quick demonstration guide.
  • To set up the SDK toolchain and get familiar with the building process, visit the Getting started section.

If you are not familiar with Bluetooth mesh, see Bluetooth mesh concepts and Bluetooth mesh stack architecture.

After setting up the toolchain, continue with the following pages:

  • Bluetooth mesh stack user guide contains detailed information about compatibility, interrupt priority levels, resource usage, and modules and components of this SDK. This section includes the following information:
    • Modules, with conceptual documentation for several modules.
    • Pages that describe how to perform configuration tasks, including pages within modules.
  • Examples includes nRF5 SDK for Mesh example applications.
  • API Reference contains the complete Bluetooth mesh stack API documentation.
  • Data structures lists data structures and data fields used by the APIs.
Note
If you've been using one of the previous versions of the nRF SDK for Mesh, check the Migration guide in the Getting Started section.

Repository structure

The nRF5 SDK for Mesh repository directories are organized as follows:

  • bin contains prebuilt binaries of all examples.
  • doc contains the main documentation and configuration files for Doxygen generation.
  • examples contains example applications using the Bluetooth mesh stack and supporting modules.
  • external contains external dependencies used by the Bluetooth mesh stack and examples (mainly uECC, Segger RTT and the SoftDevice).
  • mesh contains the source code and unit tests for the Bluetooth mesh stack.
  • models contains the source code for various models.
  • scripts contains useful scripts, such as a parser and communication script for the serial interface provided by the Bluetooth mesh stack.
  • tools contains tools useful for development.
  • CMake contains CMake setup files and utility functions.

GitHub repository

The nRF5 SDK for Mesh GitHub repository contains all the files from the official release zip package. It is provided for reference only. Currently, there is no system in place for integrating fixes through the public GitHub mirror. For this reason, pull requests on GitHub are not accepted.

Off-line documentation

The release zip package for the nRF5 SDK for Mesh does not include off-line documentation.

However, you can build the documentation locally for off-line usage after downloading the package. For more details, see Building documentation with Ninja.

Reporting issues

All bug reports and fix suggestions are appreciated. Please report all issues on DevZone and Nordic's technical support team will ensure they are tracked.