Bluetooth OTA Updates Using Customized Advertising Data#

Introduction#

When a device is booted into OTA DFU mode, the default advertising data used by the BLE stack is very minimal. Below is an example that was created by booting the Bluetooth - SoC Empty example (from SDK 3.1.1) into OTA mode:

// raw advertising data
0x02010604094F5441081B00428928E20A68020A00

The advertising packet includes four elements:

  • Flags (value 0x06)

  • Complete local name ("OTA")

  • BLE device address (00 (public) 428928E20A68)

  • TX Power (0 dBm)

For details about decoding the advertising packet content, see the following page:

Bluetooth advertising data basics

To implement a robust OTA update procedure, use a customized advertising data format, for example:

  • Include a unique device name in the OTA advertising packets.

  • Indicate the current SDK/stack version in the advertising packets.

These customizations are left for the application designer to decide. Silicon labs Bluetooth stack includes a few simple yet powerful o