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 more packets in a connection event than what is reserved by the bandwidth configuration in situations where there is buffer space available in the SoftDevice and there is time available in the event. 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 BW Config Method Maximum data throughput
GATT Client 23 HIGH

Receive Notification

Send Write command

Send Write request

Simultaneous receive Notification and send Write command

149.3 kbps

149.3 kbps

10.6 kbps

127.9 kbps (each direction)

GATT Server 23 HIGH

Send Notification

Receive Write command

Receive Write request

Simultaneous send Notification and receive Write command

149.3 kbps

149.3 kbps

10.6 kbps

127.9 kbps (each direction)

GATT Server 158 HIGH

Send Notification

Receive Write command

Receive Write request

Simultaneous send Notification and receive Write command

247.8 kbps

247.0 kbps

82.6 kbps

165.4 kbps (each direction)

GATT Client 23 MID

Receive Notification

Send Write command

Send Write request

Simultaneous receive Notification and send Write command

63.9 kbps

63.9 kbps

10.6 kbps

63.9 kbps (each direction)

GATT Server 23 MID

Send Notification

Receive Write command

Receive Write request

Simultaneous send Notification and receive Write command

63.9 kbps

63.9 kbps

10.6 kbps

63.9 kbps (each direction)

GATT Client 23 LOW

Receive Notification

Send Write command

Send Write request

Simultaneous receive Notification and send Write command

21.3 kbps

21.3 kbps

10.6 kbps

21.3 kbps (each direction)

GATT Server 23 LOW

Send Notification

Receive Write command

Receive Write request

Simultaneous send Notification and receive Write command

21.3 kbps

21.3 kbps

10.6 kbps

21.3 kbps (each direction)

Table 2. Maximum data throughput with a single peripheral or central connection and DLE and Connection Event Length Extension enabled
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

701.8 kbps

701.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

765.8 kbps

752.2 kbps

421.7 kbps (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 15 ms that allows up to 8 LOW bandwidth concurrent connections per interval.

Only throughput for LOW bandwidth configuration is indicated. For higher bandwidth configurations, 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 BW Config Method Maximum data throughput
GATT - Client LOW Receive Notification

9.1 kbps

Send Write command

9.0 kbps

Send Write request

4.5 kbps

Simultaneous receive Notification and send Write command

9.1 kbps (each direction)

GATT - Server LOW Send Notification

9.1 kbps

Receive Write command

9.0 kbps

Receive Write request

4.5 kbps

Simultaneous send Notification and receive Write command

9.1 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 2016-12-09