Throughput with Bluetooth Low Energy Technology#

Introduction#

This page describes the maximum achievable bitrates on Blue Gecko devices (EFR32BGxx) with different Bluetooth SDK versions. However, the principles can also be applied to legacy devices (BLExxx), taking into account their parameters.

The application-level data, throughput with Bluetooth Low Energy is affected by many factors. In particular, two operations below have a different throughput calculation:

1. Acknowledged data transfer. In this use case, the reception of all data packets is acknowledged by the receiver. The receiver sends a response for every read/write request in the next connection interval. The connection is reliable but the throughput is low.

Acknowledged data transferAcknowledged data transfer

2. Unacknowledged data transfer. In this use case, packets can be sent sequentially without waiting for acknowledgment from the other side. This ensures much higher throughput, but a less reliable connection.

Unacknowledged data transferUnacknowledged data transfer

Acknowledged and unacknowledged operation can be mixed on the same connection by sending packets of different types. The following packet types result in acknowledged operation:

  • Read (read request)

  • Write (write request)

  • Indication

  • Prepare write

  • Signed write

The following packet types result in unacknowledged operation:

  • Write without response (write command)

  • Notification

Throughput Calculation for Acknowledged Data Transfer#

For acknowledged data transfer, the throughput depends on the following parameters:

  • Connection interval

  • MTU size

  • Attribute protocol operation

Connection Interval#

The connection interval specifies the frequency of sending data, which varies between 7.5 ms up to 4000 ms. After the sender sends data (or request), the sender has to wait for the receiver to send an acknowledgment. Therefore, one (GATT) operation takes two connection intervals.

The lower the connection interval, the higher the potential data rate. For example, using the smallest connection interval of 7.5 ms e.g., with 125-byte useful payload / connection interval, the radio can (assuming no lost packets and no re-transmissions) achieve a theoretical data rate, as follows:

1000 ms / (2 * 7.5 ms) * 125 bytes = 8,333 bytes/sec = 66,666 bps

On the other hand, when using the largest connection interval of 4000 ms e.g., with 22-byte useful payload, data rate will be reduced to:

1000 ms / (2 * 4000) ms * 22 bytes = 2.75 bytes/sec = 22 bps

MTU Size#

Maximum Transfer Unit (MTU) specifies the number of bytes that can be sent within one GATT operation. In other words, it's the number of bytes that can be sent within two connection intervals. MTU size can be set for each connection. However, it has an upper limit, which varies with Bluetooth stack versions. The maximum MTU size for each Bluetooth stack version is summarized in the following table

Bluetooth Stack Version

Maximum MTU Size

For legacy devices (BLExxx)

<= 1.5.0

23

For Blue Gecko devices

1.0.x

23

2.0.x

58

2.1.x

126

2.3.x or later

250

Note that the MTU size depends on both sides. For example, if the remote device supports a smaller MTU size, the smaller MTU size will be used. The higher the MTU size, the higher the throughput. Twice the MTU size doubles the throughput.

Attribute Protocol (ATT) Operation