This blog is to show the BLE throughput on different user scenarios. I would also show the maximum throughput in the real world, particularly how fast the BLE communication with IOS devices.
I would use 2 x nRF52840 DK for the central and peripheral bi direction communication and print out the live throughput. After that, I would show that how to achieve the maximum of Bluetooth throughput on IOS.
Follow up the blog https://jimmywongiot.com/2019/12/15/how-to-set-the-bandwidth-on-ble-link-connection/, Nordic Softdevice can achieve up to 800Kbps on BLE 4.2 or 1.3Mbps on BLE 5.0.
Requirement & Procedures
- nRF52840 DK x 2 (BLE Peripheral / Central)
- Bluetooth 5.0 (2Mbps)
- Sending 1MB data from either side
- Distance between two devices are around 50cm.
Data (1MB) is sending from peripheral to central
Data (1MB) is sending from Central to Peripheral
On both side, it shows that the BLE throughput is around 1.1Mbps. Suppose it can get a better value but by considering about the robust performance such as better distance, the connection interval and length of the payload should be adjusted.
Scenario 2 (Connect with IOS)
nRF52840 DK (BLE Peripheral) + IOS (IPhone Max XS) [IOS 13.3.1]
By following Apple Bluetooth Development Guideline, https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf, I setup the demo to send data from device to IOS as below.
The maximum of BLE throughput with IOS is around 3xx kbps (1Mbps) and 6xx kbps (2Mbps).
For the IOS Bluetooth Development, you can refer to
Also, you can find more details at the APPLE developer Web page.
From my guess, the BLE throughput presented by Apple is measured between two iphones and go through their proprietary L2CAP protocol. It is slightly difference from the ATT layer (use 3 bytes ATT header in each payload).
But anyway, all the results at ATT (either 1Mbps and 2Mbps) are very closed to the official APPLE announcement figures.
Welcome to give any comments and feedback.