Basic Audio Profile (BAP) Broadcast Audio Source

Browse source code on GitHub

Overview

Application demonstrating the BAP Broadcast Source functionality. Will start advertising extended advertising with audio flags, periodic advertising with the Broadcast Audio Source Endpoint (BASE) and finally the BIGinfo together with (mock) Audio (ISO) data.

The BAP Broadcast Source will reset every 30 seconds to show the full API.

This sample can be found under samples/bluetooth/bap_broadcast_source in the Zephyr tree.

Check the Bluetooth samples for general information.

Requirements

  • BlueZ running on the host, or

  • A board with Bluetooth Low Energy 5.2 support

Building and Running

When building targeting an nrf52 series board with the Zephyr Bluetooth Controller, use -DEXTRA_CONF_FILE=overlay-bt_ll_sw_split.conf to enable the required ISO feature support.

Building for an nrf5340dk

You can build both the application core image and an appropriate controller image for the network core with:

# From the root of the zephyr repository
west build -b nrf5340dk/nrf5340/cpuapp --sysbuild samples/bluetooth/bap_broadcast_source/

If you prefer to only build the application core image, you can do so by doing instead:

# From the root of the zephyr repository
west build -b nrf5340dk/nrf5340/cpuapp samples/bluetooth/bap_broadcast_source/

In that case you can pair this application core image with the HCI IPC sample samples/bluetooth/hci_ipc/nrf5340_cpunet_iso-bt_ll_sw_split.conf configuration.

Building for a simulated nrf5340bsim

Similarly to how you would for real HW, you can do:

# From the root of the zephyr repository
west build -b nrf5340bsim/nrf5340/cpuapp --sysbuild samples/bluetooth/bap_broadcast_source/

Note this will produce a Linux executable in ./build/zephyr/zephyr.exe. For more information, check this board documentation.

Building for a simulated nrf52_bsim

# From the root of the zephyr repository
west build -b nrf52_bsim samples/bluetooth/bap_broadcast_source/ -- -DEXTRA_CONF_FILE=overlay-bt_ll_sw_split.conf

See also

Bluetooth APIs
Bluetooth Audio
Bluetooth Basic Audio Profile