BLE Peripheral Role · Bluetooth · Throughput

Multiple BLE peripheral on throughput test

This blog is to configure the nRF52 as the multiple BLE peripheral and then send the data to its corresponding master. This is the proof of concept demo.

For example, as the below diagram, the nRF52 is configured as the dual ble peripheral. It keeps to update the data to central.


  • SDK 16.0 / S132v7.0.1
  • 3 x nRF52832 DK board
  • IDE: Segger Embedded Studio

Configure the BLE role to multiple peripheral

// <o> NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links.

// <o> NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links.

// <o> NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count.
// <i> Maximum number of total concurrent connections using the default configuration.

Use the NUS (Nordic UART Services) for multiple connection
BLE_NUS_DEF(m_nus, NRF_SDH_BLE_TOTAL_LINK_COUNT);                                   /**< BLE NUS service instance. */

Declare multiple buttons to send the data at each peripheral link.

On each button, it sends the data and measure the throughput.

It would keep to push the data and use the RTC timer to measure how many data sent.


Dual peripheral roles with ble_app_uart example uplinks the 64KB bytes data to two individual ble central role.

By using the connection interval = 15ms, each connection is limited to 7.5ms for gap event.

The maximum throughput from my preliminary test is 108kbps.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.