nRF5340 Audio: Broadcast sink

The nRF5340 Audio broadcast sink application implements the BIS headset mode. In this mode, receiving broadcast audio happens using Broadcast Isochronous Stream (BIS) and Broadcast Isochronous Group (BIG).

The following limitations apply to this application:

  • One BIG, one of the two BIS streams (selectable).

  • Audio output: I2S/Analog headset output.

  • Configuration: 16 bit, several bit rates ranging from 32 kbps to 124 kbps.

Requirements

The application shares the requirements common to all nRF5340 Audio application.

User interface

Most of the user interface mappings are common across all nRF5340 Audio applications. See the User interface page for detailed overview.

This application uses specific mapping for the following user interface elements:

  • Long-pressed on the broadcast sink device during startup:

    • VOL- - Changes the headset to the left channel one.

    • VOL+ - Changes the headset to the right channel one.

  • Pressed on the broadcast sink device during playback:

    • PLAY/PAUSE - Starts or pauses listening to the stream.

    • VOL- - Turns the playback volume down.

    • VOL+ - Turns the playback volume up.

    • BTN 4 - Changes audio stream (different BIS), if more than one is available.

    • BTN 5 - Changes the gateway, if more than one is available.

  • LED1:

    • Solid blue - Devices have synchronized with a broadcasted stream.

    • Blinking blue - Devices have started streaming audio (BIS mode).

  • LED2 - Solid green - Sync achieved (both drift and presentation compensation are in the LOCKED state).

  • RGB:

    • Solid blue - The device is programmed as the left headset.

    • Solid magenta - The device is programmed as the right headset.

Configuration

The application requires the CONFIG_TRANSPORT_BIS Kconfig option to be set to y in the applications/nrf5340_audio/prj.conf file for Building and running to succeed.

For other configuration options, see Configuring the nRF5340 Audio applications and Configuring and testing FOTA upgrades for nRF5340 Audio applications.

For information about how to configure applications in the nRF Connect SDK, see Configuring and building.

Building and running

This application can be found under applications/nrf5340_audio/broadcast_sink in the nRF Connect SDK folder structure, but it uses .conf files at applications/nrf5340_audio/.

The nRF5340 Audio DK comes preprogrammed with basic firmware that indicates if the kit is functional. See Testing out of the box for more information.

To build the application, complete the following steps:

  1. Select the BIS mode by setting the CONFIG_TRANSPORT_BIS Kconfig option to y in the applications/nrf5340_audio/prj.conf file for the debug version and in the applications/nrf5340_audio/prj_release.conf file for the release version.

  2. Complete the steps for building and programming common to all audio applications using one of the following methods:

Testing

Note

Nordic Semiconductor seeks to provide seamless interoperability with as many LE Audio devices as possible. However, vendors have reached different levels of maturity in their implementation. Also, different platforms have different methods of connecting, pairing, and streaming. For these reasons, providing a general guide on how to test with external devices is challenging. The suggested approach is to test with Nordic Semiconductor devices on both sides first to verify basic functionalities and get familiar with the solution before using custom devices. Contact Technical Support team if you need assistance.

To test the broadcast sink application, complete the following steps:

  1. Make sure you have another nRF5340 Audio DK for testing purposes.

  2. Program the other DK with the broadcast source application. The broadcast sink device automatically synchronizes with the broadcast source after programming.

  3. Proceed to testing the devices using the User interface buttons and LEDs.

Dependencies

For the list of dependencies, check the application’s source files under applications/nrf5340_audio/broadcast_sink.