Blog

Bluetooth Asia developer follow up: Bluetooth® Mesh Networking provisioning and interoperability

|

This year, the Bluetooth Special Interest Group (SIG) hosted a session on Bluetooth® Mesh Networking provisioning and interoperability at Bluetooth Asia 2019. Developers who attended the session were able to use their smartphones to provision and control a micro:bit board running a Zephyr solution.

For those developers who were not able to attend, this follow-up article shows you step by step how to build the firmware for micro:bit. 

Set up the dev environment

To set up the development environment on your computer, perform the following steps.

  1. Set up a development system
  2. Get the source code
  3. Install Python dependencies
  4. Set up a toolchain
  5. Build and run an application

Build the Firmware

To build the firmware, do the following.

  • Open exe (Windows) or Terminal (macOS), navigate to the main project directory
  • Type the below command, switch to tag v1.14.0

git checkout -b branch_v1.14 v1.14.0

  • Download source code here
  • Unzip source code file in the folder ./zephyr/samples/ like below
  • Depending on your computer OS, then:

# On Linux/macOS

cd samples/BluetoothAsia2019/Bluetooth_Mesh_Provisioning_Sample

mkdir build && cd build

# On Windows

cd samplesBluetoothAsia2019Bluetooth_Mesh_Provisioning_Sample

mkdir build & cd build

cmake -GNinja -DBOARD=bbc_microbit ..

ninja

The main build products are in samples/BluetoothAsia2019/Bluetooth_Mesh_Provisioning_Sample/build/zephyr. The final application binary in HEX format is named zephyr.hex by default.

Flash firmware

For the flash firmware, follow the steps below.

  • Connect the micro:bit to your laptop by USB cable
  • Use one serial terminal software; use Tera Term or Putty on Windows or use this guide on macOS or Linux. The serial port setting is: 115200, 8-N-1
  • Copy zephyr.hex and paste it in the volume of the micro:bit on your computer
  • Information prints on the serial console
  • If you can see above screenshot, it means the build and flash firmware was successful. The Device Name varies, as it depends on the micro:bit factory unique identifier.

To learn more about developing with Bluetooth® Mesh Networking and other Bluetooth technologies, visit the Bluetooth SIG resources page.