Bluetooth low energy data throughput

This chapter gives an indication of achievable Bluetooth® low energy 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 (1Mbps) Maximum data throughput (2Mbps)
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)

256.0 kbps

256.0 kbps

10.6 kbps

213.3 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)

256.0 kbps

256.0 kbps

10.6 kbps

213.3 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)

330.6 kbps

330.6 kbps

82.6 kbps

275.5 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)

106.6 kbps

106.6 kbps

10.6 kbps

85.3 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)

106.6 kbps

106.6 kbps

10.6 kbps

85.3 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)

64.0 kbps

64.0 kbps

10.6 kbps

42.6 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)

64.0 kbps

64.0 kbps

10.6 kbps

42.6 kbps (each direction)

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

Send Notification

Receive Write command

Simultaneous send Notification and receive Write command

702.8 kbps

702.8 kbps

390.4 kbps (each direction)

1327.5 kbps

1327.5 kbps

780.8 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)

1376.2 kbps

1376.2 kbps

800.4 kbps (each direction)

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

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 be 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
Protocol Event length Method Maximum data throughput (1Mbps)
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 Assumming that the peer device accepts the increased ATT and LL payload sizes.