Bluetooth LE Audio - STM32WBA Public Broadcast Profile

Revision as of 11:19, 17 October 2023 by Registered User (→‎PBP Source configuration)
Under construction.png Coming soon

1. Public Broadcast Profile

1.1. Introduction

The Public Broadcast Profile (PBP) is a BLE Audio profile specified by the Bluetooth SIG. It's categorized as a "use-case profile", meaning that it's a high-layer profile designed for a specific use case.

Location of PBP inside BLE Audio Profiles architecture

The PBP addresses the use case of a broadcast in a public space, accessible by many people simultaneously: a train station, an airport or a public TV for example. It's based on the BLE Audio broadcast feature, as described in the wiki page "Introduction to Bluetooth LE Audio", which is publicly advertised as "Auracast" by the Bluetooth SIG. Due to the nature of the broadcast feature, which permits to send audio streams unidirectionally without ACL connection, an unlimited number of devices can synchronize to a single Broadcast Source.

The PBP introduces 3 different roles:

  • Public Broadcast Source (PBS): It's based on the BAP Broadcast Source, but adds additional fields to the extended advertising data payload, to facilitate discovery and synchronization of Public Broadcast Sinks
  • Public Broadcast Sink (PBK): It's based on the BAP Broadcast Sink and is able to read the additional extended advertising data fields of the PBS
  • Public Broadcast Assistant (PBA): It's based on the BAP Broadcast Assistant and is able to control the reception of a Broadcast Audio Stream on a PBK.

1.2. Public Broadcast Announcement

The Public Broadcast Announcement is a service data field added by the PBS to give extra context a a Source content. It permits the PBK to know, before even synchronizing the the Periodic Advertising train, if the source is compatible with him or not.

Advertising Content Description
Encryption Permits to know if the Broadcast Source is encrypted or not
Standard Quality Permits to know if the Broadcast Source uses a standard audio quality configuration (16_2 or 24_2)
High Quality Permits to know if the Broadcast Source uses a high-quality configuration (48KHz configuration)
Metadata Additional metadata field, available for custom implementation

1.3. Broadcast Name

The Public Broadcast Profile also requires to advertise a Broadcast Name AD type on the PBS. This Broadcast Name is a 4 to 32 character long string, encoded in UTF-8, describing the Source content in a human-readable way.

Examples of Broadcast Name can be "Gate 3", or "Auracast_Room:2A".

2. PBP Demonstrator using STM32WBA

2.1. Hardware required

The PBP demonstrator requires the following hardware:

  • 3x STM32WBA55G-DK1 Boards
  • 2x Music Source with a 3.5mm jack output (Laptop or Smartphone with a jack output). If a laptop is used as a source, use a Ground Loop isolator device or run the laptop on battery to avoid Ground issue
  • 1x Music renderer with 3.5mm jack input (Headphones or Speakers)

2.2. Setup

The setup is as following:

PBP Demonstrator Setup

2.3. Project architecture

The figure below represents the Firmware Architecture of the Public Broadcast Profile example projects inside STM32CubeWBA MCU Package.

STM32WBA PBP Firmware Architecture

2.4. PBP Source configuration

Following is a summary of the main changes possible on the PBP_Source project

PBP_Source project configuration

2.5. PBP Sink configuration

Following is a summary of the main modification possible on the PBP_Sink project

PBP_Sink project configuration

2.6. PBP Source Advertising details

Detail of PBP Source Advertising Data