Bluetooth Mesh
Developer Journey

What is Bluetooth Mesh?

Bluetooth Mesh is ideally suited for control, monitoring, and automation systems where hundreds or thousands of devices need to communicate with one another. Bluetooth Mesh was designed to meet the strict requirements of commercial and industrial environments where ease of deployment, performance, and security are of the utmost importance. Networked lighting control is one use case that has rapidly embraced Bluetooth Mesh technology.

Feature Description Support from Silicon Labs
Friendship Friendship is used by Low Power nodes to limit the amount of time that they need to listen. Supported
Directed Forwarding Directed forwarding is designed to help improve performance of a multi-hop network by selecting only a subset of nodes to relay a message from a source to a destination.  Not supported
Mesh Features The capabilities of a node are determined by the features and functionality that the node supports All features (Relay, Proxy, Low Power Node, Friend) supported
Bearers This specification defines two mesh bearers over which mesh messages may be transported:
• An advertising bearer 
• A GATT bearer
All Bearers Supported
Models Models are used to define certain functionalities supported by a node

Supported Models:

  • Foundation
  • Generics
  • Sensors
  • Time and Scenes
  • Lighting (except Light xyL)
Proprietary Features Proprietary features are not part of the Bluetooth Mesh standard

Supported:

BT Mesh over Extended Advertisement
BT Mesh over Coded PHY

Networked Lighting Control

Bluetooth® Networked Lighting Control (NLC) systems feature an intelligent network of individually addressable and sensor-rich luminaires and control devices that allows each component of the system to send and receive data.

The Basic Lightness Controller NLC Bluetooth Profile specifies the requirements for an NLC product acting as a luminaire controller in a Bluetooth mesh system, it standardizes the use cases and implementation patterns of luminaire controllers to help improve interoperability and performance.

A common use case for the Basic Lightness Controller NLC Profile is a luminaire reacting to information published by occupancy and/or ambient light sensors as well as reacting to override events (e.g., manually dimming/brightening the lights or turning them on/off). A device implementing the Basic Lightness Controller NLC Profile interacts with devices implementing the following NLC profiles: Occupancy Sensor NLC Profile, Ambient Light Sensor NLC Profile, Dimming Control NLC Profile, Basic Scene Selector NLC Profile, each of which is offered as a ready made example application in the BT Mesh SDK.

What's New With Bluetooth Mesh 1.1?

Bluetooth Mesh 1.1 is the latest edition on the Bluetooth SIG’s mesh networking standard and it introduces a plethora of new features addressing the needs and challenges of large commercial networks including for example: standardized OTA updates, remote provisioning, certificate-based provisioning and directed forwarding. Silicon Labs is one of the key contributors to the development and implementation of the Bluetooth mesh standard.

Feature Description Silicon Labs Support
Device Firmware Update Allows the firmware running on devices to be updated across the network
Remote Provisioning Enable provisioning and re-provisioning of nodes, over a mesh network, that are not in direct radio range of the provisioner.
Certificate Based Provisioning Allows digital certificates to be used as the basis for device authentication during provisioning and securely verifies the association of a Device UUID with a specific public key value.
Directed Forwarding Provides an additional multi-hop message delivery method, which in some situations is more efficient than Bluetooth Mesh Managed Flooding.  
Subnet Bridging Makes communication between devices in different subnets possible  
Private Beacons Improves security by ensuring that no static information in beacon messages is visible to devices outside of the network
Minor Enhancements A number of smaller other bluetooth mesh features added to the 1.1 specification Most

Bluetooth Mesh Developer Journey with Silicon Labs

Silicon Labs can accelerate the development of Bluetooth mesh devices, starting by outlining each step in the process and helping you along each stage of your project. We are here to simplify your development journey and help you get your devices to market faster and more efficiently. We have outlined below three key stages of the Bluetooth Mesh Developer Journey, along with what is required to successfully complete each stage.

Getting Started
Develop
Deploy Product
  1. 1. Buy Kit: Examples & Hardware
  2. 2. Simplicity Connect Mobile App
  3. 3. Create User Accounts
  4. 4. Set Up Development Environment
  5. 5. Explore Demos
  1. 1. Create a Sample Application
  2. 2. Develop and Debug
  3. 3. Test and Iterate
  1. 1. Qualify Product
  2. 2. Manufacture Product

1. Buy Kit: Hardware and Examples

Silicon Labs offers several Bluetooth mesh development kits ranging from ultra-low-cost, small form factor prototyping platforms to compact, feature-packed development platform kits for robust networks. Based on the demos you can explore, select which kit is the best fit for your needs below.

  Bgm220 ek4314a explorer kit Thunderboard bg22 sltb010a Xg24 dk2601b Efr32xg24 20 dbm pro kit
Kit BGM220 Explorer Kit EFR32xG24 Explorer Kit Kit EFR32xG24 Dev Kit EFR32xG24 Pro Kit
OPN (BGM220-EK4314A) (xG24-EK2703A) (xG24-DK2601B) (xG24-PK6010A)
Description The BGM220 Explorer Kit is an ultra-low-cost, small form factor development and evaluation platform for the BGM220P Bluetooth Module. The EFR32xG24 Explorer Kit is a small form factor development and evaluation platform based on the EFR32MG24 System-on-Chip. The EFR32xG24 Dev Kit is a compact, feature-packed development platform. It provides the fastest path to develop and prototype wireless IoT products. The EFR32xG24 +20 dBm Pro Kit supports the development of wireless IoT devices based on the EFR32xG24 and supports development of 2.4 GHz wireless protocols including BLE, Bluetooth Mesh, Zigbee, Thread and Matter.
Price $11.99 USD $39 USD $79 USD $179 USD
Flash/RAM 512 kB / 32 kB 1536 kB / 256 kB 1536 kB / 256 kB 1536 kB / 256 kB
LCD      
Bluetooth Mesh Node Functionality Limited due to low RAM Full Full Full
Provisioning Role  
Supported Mesh Features LPN, Proxy LPN, Friend, Proxy, Relay LPN, Friend, Proxy, Relay LPN, Friend, Proxy, Relay
NLC Support Limited (excl. Basic Lightness Controller) Full Full Full

Get Up and Running Quickly with Demos

Accelerate your Bluetooth mesh development journey with our NLC Solution which can now be flashed onto your radio boards from here without Simplicity Studio download. You will need at least 2 development kits or radio boards to try out the NLC Solution’s NLC Dimming Control and NLC Basic Lightness Controller demo. Quickly set up the mesh network using your mobile phone as the provisioner.

Bluetooth Mesh - Networked Lighting Control Web Demo

This solution can be flashed from the web without the need to download Simplicity Studio. The demo requires 2 kits / radio boards for the NLC Dimming Control and the Basic Lightness Controller example.

< Previous Step Next Step >

2. Bluetooth Mesh Mobile App

Create a mesh network, provision and configure your bluetooth mesh embedded demos quickly. Download Bluetooth Mesh app on your smartphone and speed up discovery now.  

To see the interoperability report of bluetooth mesh with your mobile phone read the following Application Note.

Ble mesh app control
< Previous Step Next Step >

3. Create User Accounts

While you wait for your Development Kit, we recommend setting up your user accounts.

Silicon Labs Account:

Silicon Labs Account: This account will offer you access to our developer community, Getting Started guides, private GitHub repositories and our Simplicity Studio development environment. You can create your account or verify access to your account here.

Silicon Labs + Matter

Join the Bluetooth SIG

To use the Bluetooth specification and qualify your Bluetooth product, you will need to be a member of the Bluetooth Special Interest Group (SIG). Visit the SIG and decide which membership level is best for you.

< Previous Step Next Step >

4. Set Up Development Environment

We know you have many options when it comes to choosing your development environment, but we believe Simplicity Studio is the right choice for developing your device with Bluetooth Mesh. Here’s why:

  • Includes your programmer and debugger functions so you don’t have to worry about manual setup.
  • Recognizes boards you’ve purchased and identifies which sample apps you can use.

Need help setting up your environment? Our Getting Started Guide will have you up and running in no time. 

Download the Full Online Installer Version of Simplicity Studio v5:

0:00 / 0:00

System Requirements

Windows     Windows 10 (64-bit)
Windows 11
MacOS 10.14 Mojave
10.15 Catalina*
11.x Big Sur*
12.x Monterey*
*if trying to use the Keil 8051 or IAR toolchains, click here
Linux Ubuntu 20.24 LTS

 

CPU     1 GHz or better
Memory 1 GB RAM (8 GB rcommended for wireless protocol development
Disk Space 600 MB disk space for minimum FFD installation
7 GB for wireless dynamic protocol support
< Previous Step Next Step >

5. Explore Demos

Some of the more popular bluetooth mesh demos, which are available from github or the SiSDK in Simplicity Studio 

Empty

NCP Empty

An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI. Use this demo as Target Device if you want to prototype your solution with NCP Commander / pyBGAPI.

SoC Empty

Demonstrates the bare minimum needed for a Bluetooth Mesh C application. The application starts Unprovisioned Device Beaconing after booting, and then waits to be provisioned.

Legacy Lighting

SoC Light CTL

An out-of-the-box software demo where the LEDs of the WSTK can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.

SoC Light HSL

An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.

SoC Switch CTL

An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.

 

NLC

NLC Basic Lightness Controller

An out-of-the-box software demo where the device acts as a Basic Lightness controller in a Networked Lighting Control (NLC) system.  The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.

NLC Basic Scene Selector

An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.

NLC Dimming Control

An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.

NLC Ambient Light Sensor

An out-of-the-box Software Demo where the device acts as an Ambient Light Sensor in a Networked Lighting Control (NLC) system. The device measures ambient light and sends these measurements to the network.  Properly configured NLC Basic Lightness Controllers then can act on the received data.

NLC Occupancy Sensor

An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly  configured NLC Basic Lightness Controller.

Legacy Sensor

SoC Sensor Client

This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s).

SoC Sensor Thermometer

This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. It measures temperature and sends the measurement data to a remote device.

DFU

SoC DFU Distributor

Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.

Certificate Based Provisioning

SoC Empty with Certificate-Based Provisioning Support

Demonstrates the bare minimum needed for a Bluetooth Mesh C application that allows Certificate-Based Provisioning (CBP). The application starts Unprovisioned Device Beaconing after boot waiting to be provisioned to a Mesh Network.

SoC CSR Generator

Certificate generating firmware example. Software is generating the device EC key pair, the signing request for the device certificate, and other related data. The generated data can be read out by the Central Authority.

< Previous Step Next Step >

1. Create a Sample Application

Developing a Bluetooth mesh application can be done in various ways based on the complexity of the project and your expertise.

Beginners

  • In Simplicity Studio select the Bluetooth Mesh example which is closest to your final project's use case
  • Modify the example by adding, removing and configuring (no-code) components in the Component Browser
  • Use the mobile app or the NCP Commander tool's Bt Mesh GUI as proviser and prototyping

Intermediate

  • In Simplicity Studio select the SoC empty example based on your desired architecture
  • Add and configure new components (no-code or low-code) to your projects, implement their callbacks
  • If there is no ready made component available for your use-case use the Mesh Configurator tool to contribute the desired Bluetooth mesh model to your project's Composition Data (DCD), then implement the model by defining the event handlers for Bluetooth mesh events
  • Use the NCP Commander tool's Bt Mesh GUI as proviser and prototyping

IoT Expert

  • In Simplcity Studio select the SoC empty or NCP empty example based on your desired architecture
  • Add and configure new components (no-code or low-code) to your projects, implement their callbacks
  • If there is no ready made component available for your use-case use the Mesh Configurator tool to contribute the desired Bluetooth mesh model to your project's Composition Data (DCD), then implement the model by defining the event handlers for Bluetooth mesh events
  • Use the NCP Commander tool's Bt Mesh GUI as proviser and prototyping
  • After project generation use your favorite command line tool or IDE for development, continue development as you like.

Important resources to assist you during the development phase

< Previous Step Next Step >

3. Test and Iterate

In this step, it is important to test your product before submitting to test labs to ensure your product will pass testing. These resources will help you ensure your product will pass testing compliance: 

< Previous Step Next Step >

1. Qualify Product (Certification)

The Bluetooth Qualification Process promotes global product interoperability and reinforces the strength of the Bluetooth® brand and ecosystem to the benefit of all Bluetooth SIG members. Qualification helps member companies ensure their Bluetooth products comply with the Bluetooth Patent & Copyright License Agreement and the Bluetooth Trademark License Agreement (collectively, the Bluetooth License Agreement) and Bluetooth specifications.

*Login required

< Previous Step Next Step >

2. Manufacture Product

Bluetooth DAC injection is required for end products. Silicon Labs can help simplify the DAC injection process for Bluetooth certification with our Custom Part Manufacturing Service (CPMS), keeping your private keys private – from the factory to the end user’s homes.

< Previous Step Next Step >
Getting Started
1. Buy Kit: Examples & Hardware
2. Simplicity Connect Mobile App
3. Create User Accounts
4. Set Up Development Environment
5. Explore Demos
Develop
1. Create a Sample Application
2. Develop and Debug
3. Test and Iterate
Deploy Product
1. Qualify Product
2. Manufacture Product
Close
Loading Results
Close