SILICON LABS Bluetooth Mesh SDK Embedded Software User Guide
- June 22, 2024
- SILICON LABS
Table of Contents
SILICON LABS Bluetooth Mesh SDK Embedded Software
Product Specifications
- Product Name: Simplicity SDK Suite
- Version: 2024.6.0
- Release Date: June 5, 2024
- Bluetooth Mesh Specification Version: 1.1
Product Usage Instructions
Bluetooth mesh is a new topology available for Bluetooth Low Energy (LE) devices that enable many-to-many (m:m) communication. It’s optimized for creating large-scale de-vice networks and is ideally suited for building automation, sensor networks, and asset tracking. Our software and SDK for Bluetooth development support Bluetooth Mesh and Bluetooth functionality. Developers can add mesh networking communication to LE devices such as connected lights, home automation, and asset tracking systems. The soft ware also supports Bluetooth beaconing, beacon scanning, and GATT connections so Bluetooth mesh can connect to smartphones, tablets, and other Bluetooth LE devices. This release includes features supported by the Bluetooth mesh specification version 1.1.
These release notes cover SDK versions:
7.0.0.0 released June 5, 2024
Compatibility and Use Notices
For more information about security updates and notices, see the Security
chapter of the Platform Release Notes installed with this SDK or on the
Silicon Labs Release Notes page. Silicon Labs also strongly recommends that
you subscribe to Security Advisories for up-to-date information. For
instructions, or if you are new to the Silicon Labs Bluetooth mesh SDK, see
Using This Release.
Compatible Compilers
IAR Embedded Workbench for ARM (IAR-EWARM) version 9.40.1
- Using wine to build with the IarBuild.exe command line utility or IAR Embedded Workbench GUI on macOS or Linux could result in incorrect files being used due to collisions in wine’s hashing algorithm for generating short file names.
- Customers on macOS or Linux are advised not to build with IAR outside of Simplicity Studio. Customers who do should carefully verify that the correct files are being used.
GCC (The GNU Compiler Collection) version 12.2.1, provided with Simplicity Studio.
- Link-time optimization feature of GCC has been disabled, resulting in a slight increase of image size.
New Items
Simplicity SDK is an embedded software development platform for building IoT
products based on our Series 2 and Series 3 wireless and MCU devices. It
integrates wireless protocol stacks, middleware, peripheral drivers, a
bootloader, and application examples – a solid framework for building power-
optimized and secure IoT devices. The Simplicity SDK offers powerful features
such as ultra-low power consumption, strong network reliability, support for a
large number of nodes, and abstraction of complex requirements like
multiprotocol and pre-certification. Additionally, Silicon Labs provides over-
the-air (OTA) software and security updates to remotely update devices,
minimize maintenance costs, and enhance the end-user product expe-rience.
Simplicity SDK is a follow-on from our popular Gecko SDK, which will continue
to be available providing long-term support for our Series 0 and Series 1
devices.
For additional information on the Series 0 and Series 1 devices please reference: Series 0 and Series 1 EFM32/EZR32/EFR32 device (silabs.com).
New Features
Added in release 7.0.0.0
Support for Clock Manager has been added. The stack components no longer use
device_init() for clock initialization. Instead, the application project must
now include the clock_manager component which does the clock initialization.
Support for Common Memory Manager has been added.
New APIs
Added in release 7.0.0.0 None.
Improvements
- A node BGAPI class command, sl_btmesh_node_test_identity, has been added for checking node identity advertisement sources.
- Low Power Node feature added to Sensor server examples.
- Friend feature added to the sensor server client example.
Changed in release 7.0.0.0
-
BGAPI changes:
A node BGAPI class command, sl_btmesh_node_test_identity, has been added to check whether a received node identity advertisement originates from a given node or not. -
Example application changes:
Low Power Node feature has been added to Sensor server examples (btmesh_soc_sensor_thermometer, btmesh_soc_nlc_sensor_oc-cupancy btmesh_soc_nlc_sensor_ambient_light), and Friend feature was added to the sensor server client example (btmesh_soc_sen-sor_client).
Fixed Issues
Fixed in release 7.0.0.0
- Avoid starting advertisement bearer if node is being provisioned using only PB-GATT.
- Improved provisioning event reporting on an overloaded device.
- Improved DFU event reporting on an overloaded device.
- Error reporting added if Blob Transfer configuration on the node is insufficient for DFU Distributor and Standalone Updater models.
- Fixed saving replay protection to NVM3 when using sl_btmesh_node_power_off() API.
ID # | Description |
---|---|
356148 | Avoids starting advertisement bearer if node is being provisioned |
using only PB-GATT.
1250461| Made provisioning event reporting more robust on an overloaded
device.
1258654| Made DFU event reporting more robust on an overloaded device.
1274632| DFU Distributor and Standalone Updater models will now report an
error if Blob Transfer configuration on the node is not sufficient.
1284204| Fixed saving replay protection to NVM3 when application uses the
sl_btmesh_node_power_off() API.
Known Issues in the Current Release
Issues in bold were added since the previous release.
- No BGAPI event for segmented message handling failure.
- Potential flooding of NCP queue with key refresh state change events.
- Slight performance degradation in round-trip latency tests compared to version 1.5.
- Issues with re-establishing connectable advertising if all connections are active and GATT proxy is in use.
- Poor performance of segmented message transmission over GATT bearer.
ID # | Description | Workaround |
---|---|---|
401550 | No BGAPI event for segmented message handling failure. | Application |
needs to deduce failure from timeout / lack of application layer response; for
vendor models an API has been provided.
454059| A large number of key refresh state change events are generated at the
end of KR process, and that may flood NCP queue.| Increase NCP queue length in
the project.
454061| Slight performance degradation compared to 1.5 in round-trip latency
tests was observed.|
624514| Issue with re-establishing connectable advertising if all connections
have been active and GATT proxy is in use.| Allocate one more connection than
is needed.
841360| Poor performance of segmented message transmission over GATT bearer.|
Ensure that the underlying BLE connection’s Connection interval is short;
ensure that ATT MTU is large enough to fit a full Mesh PDU; tune the minimum
connection event length to allow multiple LL packets to be transmitted per
connection event.
1121605| Rounding errors may cause scheduled events to trigger at very
slightly different times than expected.|
1226127| Host provisioner example can be stuck when it starts to provision a
second node.| Restart the host provisioner app before provisioning the second
node.
1204017| Distributor is not able to handle parallel self FW Update and FW
Upload.| Don’t run self FW update and FW upload in parallel.
1301325| Scheduler actions are not correctly stored to persistent
storage.|
1305041| NCP communication from host to EFR32 may timeout.|
sl_simple_com_usart.c may be edited to correct a timeout value.
1305928| Setting up 10 or more updating nodes as DFU receivers may
fail on the SoC distributor app.|
Deprecated Items
Deprecated in release 7.0.0.0
The BGAPI command sl_btmesh_prov_test_identity has been deprecated. Use
sl_btmesh_node_test_identity instead.
Removed Items
Removed in release 7.0.0.0
Support for Series 1 hardware (xG12 and xG13) has been removed in this
release.
Using This Release
This release contains the following
- Silicon Labs Bluetooth mesh stack library
- Bluetooth mesh sample applications
If you are a first-time user, see QSG176: Silicon Labs Bluetooth Mesh SDK v2.x Quick-Start Guide.
Installation and Use
The Bluetooth mesh SDK is provided as part of the Simplicity SDK (GSDK), the
suite of Silicon Labs SDKs. To quickly get started with the Simplicity SDK,
install Simplicity Studio 5, which will set up your development environment
and walk you through Simplicity SDK installation. Simplicity Studio 5 includes
everything needed for IoT product development with Silicon Labs devices,
including a resource and project launcher, software configuration tools, full
IDE with GNU toolchain, and analysis tools. Installation instructions are
provided in the online Simplicity Studio 5 User’s Guide. Alternatively,
Simplicity SDK may be installed manually by downloading or cloning the latest
from GitHub. See https://github.com/Sili-conLabs/simplicity_sdk for more
information.
Simplicity Studio installs the Simplicity SDK by default in:
- Windows:
- C:\ Users\
\SimplicityStudio\SDKs\simplicity_sdk
- C:\ Users\
- MacOS: /Users/
/SimplicityStudio/SDKs/simplicity_sdk
Documentation specific to the SDK version is installed with the SDK. Additional information can often be found in the knowledge base articles (KBAs). API references and other information about this and earlier releases is available on https://docs.silabs.com/.
Security Information
Key| Exportability on a node| Exportability on Provisioner|
Notes
---|---|---|---
Network key| Exportable| Exportable| Derivations of the network key exist only
in RAM while network keys are stored on flash
Application key| Non-exportable| Exportable|
Device key| Non-exportable| Exportable| In Provisioner’s case, applied to
Provisionerr’s own device key as well as other devices’ keys
Secure Vault Integration
This version of the stack is integrated with Secure Vault Key Management. When
deployed to Secure Vault High devices, mesh encryption keys are protected
using the Secure Vault Key Management functionality. The table below shows the
protected keys and their storage protection characteristics.
- Keys that are marked as “Non-Exportable” can be used but cannot be viewed or shared at runtime.
- Keys that are marked as “Exportable” can be used or shared at runtime but remain encrypted while stored in flash.
- For more information on Secure Vault Key Management functionality, see AN1271: Secure Key Storage.
Security Advisories
To subscribe to Security Advisories, log in to the Silicon Labs customer
portal, then select Account Home. Click HOME to go to the portal home page and
then click the Manage Notifications tile. Make sure that ‘Software/Security
Advisory Notices & Product Change Notices (PCNs)’ is checked, and that you are
subscribed at minimum for your platform and protocol. Click Save to save any
changes.
Support
Development Kit customers are eligible for training and technical support. Use
the Silicon Labs Bluetooth mesh web page to obtain information about all
Silicon Labs Bluetooth products and services, and to sign up for product
support.
Contact Silicon Laboratories support at http://www.silabs.com/support.
Simplicity Studio
One-click access to MCU and wireless tools, documentation, software, source
code libraries & more. Available for Windows, Mac and Linux!
Disclaimer
Silicon Labs intends to provide customers with the latest, accurate, and in-
depth documentation of all peripherals and modules available for system and
software implementers using or intending to use Silicon Labs products.
Characterization data, available modules and peripherals, memory sizes and
memory addresses refer to each specific device, and “Typical” parameters
provided can and do vary in different applications. Application examples
described herein are for illustrative purposes only. Silicon Labs reserves the
right to make changes without further notice to the product information,
specifications, and descriptions herein, and does not give warranties as to
the accuracy or completeness of the included information. Without prior
notification, Silicon Labs may update product firmware during the
manufacturing process for security or reliability reasons. Such changes will
not alter the specifications or the performance of the product. Silicon Labs
shall have no liability for the consequences of use of the information
supplied in this document. This document does not imply or expressly grant any
license to design or fabricate any integrated circuits. The products are not
designed or authorized to be used within any FDA Class III devices,
applications for which FDA premarket approval is required or Life Support
Systems without the specific written consent of Silicon Labs. A “Life Support
System” is any product or system intended to support or sustain life and/or
health, which, if it fails, can be reasonably expected to result in
significant personal injury or death. Silicon Labs products are not designed
or authorized for military applications. Silicon Labs products shall under no
circumstances be used in weapons of mass destruction including (but not
limited to) nuclear, biological or chemical weapons, or missiles capable of
delivering such weapons. Silicon Labs disclaims all express and implied
warranties and shall not be responsible or liable for any injuries or damages
related to use of a Silicon Labs product in such unauthorized applications.
Note: This content may contain offensive terminology that is now obsolete. Silicon Labs is replacing these terms with inclusive language wherever possible. For more information, visit www.silabs.com/about-us /inclusive-lexicon-project
Trademark Information
Silicon Laboratories Inc.®, Silicon Laboratories®, Silicon Labs®, SiLabs® and
the Silicon Labs logo®, Bluegiga®, Bluegiga Logo®, EFM®, EFM32®, EFR, Ember®,
Energy Micro, Energy Micro logo and combinations thereof, “the world’s most
energy friendly microcontrollers”, Redpine Signals®, WiSeConnect, n-Link,
EZLink®, EZRadio®, EZRadioPRO®, Gecko®, Gecko OS, Gecko OS Studio,
Precision32®, Simplicity Studio®, Telegesis, the Telegesis Logo®, USBXpress®,
Zentri, the Zentri logo and Zentri DMS, Z-Wave®, and others are trademarks or
registered trademarks of Silicon Labs. ARM, CORTEX, Cortex-M3 and THUMB are
trademarks or registered trademarks of ARM Holdings. Keil is a registered
trademark of ARM Limited. Wi-Fi is a registered trademark of the Wi-Fi
Alliance. All other products or brand names mentioned herein are trademarks of
their respective holders.
Frequently Asked Questions (FAQ)
Q: Where can I find more information about security updates?
A: Refer to the Security chapter of the Platform Release Notes or visit the
Silicon Labs Release Notes page for detailed security updates.
Q: How do I include the clock_manager component for clock initialization?
A: To include the clock_manager component for clock initialization, make sure
to update your application project accordingly as per the provided
instructions in the user manual.
Silicon Laboratories Inc.
400 West Cesar Chavez
Austin, TX 78701
USA
www.silabs.com
IoT Portfolio
www.silabs.com/IoT
SW/HW
www.silabs.com/simplicity
Quality
www.silabs.com/quality
Support & Community
www.silabs.com/community
References
- Silicon Labs
- Silicon Labs
- About Us - Silicon Labs
- Silicon Labs Community
- Internet of Things (IoT) - Silicon Labs
- Simplicity Studio - Silicon Labs
- Technical Support - Silicon Labs
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>