Getting Started with Application Development#
The most common starting point for application development is the Bluetooth Mesh - SoC Empty example. This example demonstrates the bare minimum needed for a Bluetooth mesh C application. The application starts Unprovisioned Device Beaconing after boot waiting to be provisioned to a Mesh Network.
All Bluetooth Mesh devices must be loaded with the Gecko Bootloader as well as the application. While you are getting started, the easiest way to do this is to load any of the precompiled demo images that come with the bootloader configured as part of the image. When you flash your application, it overwrites the demo application, but the bootloader remains. Subsequently, you may wish to build your own bootloader, as described in UG266: Silicon Labs Gecko Bootloader User's Guide for GSDK 3.2 and Lower and UG489: Silicon Labs Gecko Bootloader User's Guide for GSDK 4.0 and Higher. If the application requires a specific bootloader type, it is noted in the example description in About-Demos-and-Examples.
New Project creation is done through three dialogs:
Target, SDK, and Toolchain Selection
Example Project Selection
Project Configuration
You can start a project from different locations in the Launcher Perspective, as described in the Simplicity Studio 5 User's Guide. While you are getting started, we suggest starting from the File menu, as that takes you through all three of the above dialogs.
Select New > Silicon Labs Project Wizard.
Review your SDK and toolchain. If you wish to use IAR instead of GCC, be sure to change it here. Once you have created a project, it is difficult to change toolchains. Click [NEXT].
On the Example Project Selection dialog, filter on Bluetooth Mesh and select Bluetooth Mesh - SoC Empty. Click [NEXT].
On the Project Configuration dialog, rename your project if you wish. Note that if you change any linked resource, it is changed for any other project that references it. While you are getting started, the default choice is to include project files but link to the SDK is best. Click [FINISH].
When you create a Bluetooth Mesh project, four tabs open automatically: a README file that describes the example, the GATT Configurator (gatt_configuration.btconf), the .slcp or Project Configurator (<projectname>.slcp), and the Mesh Configurator (dcd_config.btmeshconf). Note that a Simplicity IDE perspective control is now included in the upper right of the screen.
GATT configuration is the same for both Bluetooth and Bluetooth Mesh projects. UG438: GATT Configurator User’s Guide for Bluetooth LE and Bluetooth Mesh describes how to configure the GATT database.
The Project Configurator and its associated Component Editor provide access to components. All the Bluetooth Mesh functionality is provided as components. You can customize projects by installing or uninstalling the components based on the use cases and requirements, and then configuring installed components using the Component Editor. The Bluetooth Mesh Component group shows the components specific to Bluetooth Mesh projects.
The Bluetooth Mesh Configurator provides access to Device Composition Data (DCD). This contains information about a Bluetooth Mesh node, the elements it includes, and the supported models. DCD exposes the node information to a configuration client so that it knows the potential functionalities the node supports and, based on that, can configure the node.
For more details on node configuration using the Project Configurator and Bluetooth Mesh Configurator, see UG472: Bluetooth Mesh Stack and Bluetooth Mesh Configurator User's Guide for SDK v2.x and Higher.
To build and debug your project click Debug (bug icon) in the upper left corner of the Simplicity IDE perspective. It will build and download your project, and open the Debug perspective. Click Play to start running your project on the device.