How to Set the bandwidth on BLE Link Connection

In this blog, I would like to show how to configure the bandwidth on each BLE Connection. Throughput is always one of the hottest question on the BLE. How can the device get the maximum throughput? Also, how can the device configure each connection with difference bandwidth?

Throughput

For the Bluetooth 4.0/4.1, the theory of maximum throughput is up to 305kbps if all the device uses 100% time for communication.

However, some BLE central such as IOS have limited on the time for BLE communication. The minimum connection interval of IOS is 15ms. For example, it can send up to 7 packets per connection interval (given MTU = 188 bytes, Data length extension = 27).

The throughput on the IOS would be 1 / 15ms * 185 bytes * 8 bit = 96.35kbps.

Bluetooth 4.2

Bluetooth 5.0

Bandwidth configuration on Nordic Softdevice

For example, inside the softdevice specification of S140v7.01 (v2.1),

For example, the connection interval is 15ms. The GAP event length is set to 6 (6 x 1.25ms = 7.5ms)

// <o> NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. 
// <i> The time set aside for this connection on every connection interval in 1.25 ms units.

#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH
#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6
#endif

It means that it only has 50% (7.5ms) time for bandwidth.

2 thoughts on “How to Set the bandwidth on BLE Link Connection

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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.