BLE data throughput

This chapter gives an indication of achievable BLE connection throughput for GATT procedures used to send and receive data in stated SoftDevice configurations.

The throughput numbers listed in this chapter are based on measurements in an interference-free radio environment. Maximum throughput is only achievable if the application, without delay, reads data packets as they are received and provides new data as packets are transmitted. The SoftDevice may transfer as many packets as can fit within the connection event as specified by the event length for the connection. For example, in simplex communication, where data is transmitted in one direction only, more time will be available for sending packets. Therefore, there may be extra TX-RX packet pairs in connection events. Additionally, more time can be made available for a connection by extending the connection events beyond their reserved time. See Connection timing with Connection Event Length Extension for more information.

All data throughput values apply to packet transfers over an encrypted connection using maximum payload sizes. Maximum LL payload size is 27 bytes unless noted otherwise.

Table 1. Maximum data throughput with a single peripheral or central connection and a connection interval of 7.5 ms
Protocol ATT MTU size Event length Method Maximum data throughput
GATT Client 23 7.5 ms

Receive Notification

Send Write command

Send Write request

Simultaneous receive Notification and send Write command

192.0 kbps

192.0 kbps

10.6 kbps

128.0 kbps (each direction)

GATT Server 23 7.5 ms

Send Notification

Receive Write command

Receive Write request

Simultaneous send Notification and receive Write command

192.0 kbps

192.0 kbps

10.6 kbps

128.0 kbps (each direction)

GATT Server 158 7.5 ms

Send Notification

Receive Write command

Receive Write request

Simultaneous send Notification and receive Write command

248.0 kbps

248.0 kbps

82.6 kbps

165.3 kbps (each direction)

GATT Client 23 3.75 ms

Receive Notification

Send Write command

Send Write request

Simultaneous receive Notification and send Write command

64.0 kbps

64.0 kbps

10.6 kbps

64.0 kbps (each direction)

GATT Server 23 3.75 ms

Send Notification

Receive Write command

Receive Write request

Simultaneous send Notification and receive Write command

64.0 kbps

64.0 kbps

10.6 kbps

64.0 kbps (each direction)

GATT Client 23 2.5 ms

Receive Notification

Send Write command

Send Write request

Simultaneous receive Notification and send Write command

42.6 kbps

42.6 kbps

10.6 kbps

21.3 kbps (each direction)

GATT Server 23 2.5 ms

Send Notification

Receive Write command

Receive Write request

Simultaneous send Notification and receive Write command

42.6 kbps

42.6 kbps

10.6 kbps

21.3 kbps (each direction)

Table 2. Maximum data throughput with a single peripheral or central connection and DLE with the event length equal to the connection interval
Protocol ATT MTU size LL payload size Connection interval Method Maximum data throughput
GATT Server 247 2511 50 ms

Send Notification

Receive Write command

Simultaneous send Notification and receive Write command

702.8 kbps

702.5 kbps

390.0 kbps (each direction)

GATT Server 247 251 400 ms

Send Notification

Receive Write command

Simultaneous send Notification and receive Write command

771.1 kbps

760.9 kbps

424.6 (each direction)

Raw Link Layer data N/A 251 400 ms N/A 803 kbps

The following table Table 3 shows maximum data throughput at a connection interval of 20 ms that allows up to eight connections with an event length of 2.5 ms.

For connections with longer event length, a longer connection interval would need to be used for each connection to prevent connection events from overlapping. See Scheduling for more information on how connections can be configured.

Throughput may get reduced if a peripheral link is running because peripheral links are not synchronized with central links. If a peripheral link is running, throughput may decrease to half for up to two central links and the peripheral link.

Table 3. Maximum data throughput for each connection, up to 8 connections with 23 byte ATT MTU and no DLE
Protocol Event length Method Maximum data throughput
GATT - Client 2.5 ms Receive Notification

16.0 kbps

Send Write command

16.0 kbps

Send Write request

4.0 kbps

Simultaneous receive Notification and send Write command

8.0 kbps (each direction)

GATT - Server 2.5 ms Send Notification

16.0 kbps

Receive Write command

16.0 kbps

Receive Write request

4.0 kbps

Simultaneous send Notification and receive Write command

8.0 kbps (each direction)

Important: 1 kbps = 1000 bits per second
1 Under the assumption that the peer device accepts the increased ATT and LL payload sizes.

Documentation feedback | Developer Zone | Subscribe | Updated 2017-03-10