2025-07-30 5:15 AM - edited 2025-07-30 6:30 AM
Hello everyone,
I'm currently working with the STM32WBA65RI Nucleo board.
For my upcoming application, I require a stable BLE throughput of over 800 kbps. However, using the provided example, I can only achieve around 600 kbps.
So far:
I'm using an MTU of 244 bytes.
Manage to minimize connection interval : 11.25 ms when using the ST BLE Toolbox app, and 7.5 ms when using a custom script on Windows.
I’ve tested with several smartphones/ configuration and also tried increasing the MCU clock, but none of these changes improved the performance significantly.
Has anyone managed to achieve a higher throughput with this setup or found effective optimizations?
Thanks in advance for any insights.
2025-07-31 8:18 AM
Hello @SnoZek,
This post has been escalated to the ST Online Support Team for additional assistance. We'll contact you directly.
Best regards,
Lina
2025-08-14 2:21 AM
Hi SnoZek,
This limitation originates from the smartphone used.
We conducted data throughput benchmarks.
For downloads (from STM32 to the smartphone) at PHY 2M, the average throughput was approximately 600 kbps.
For uploads (from the smartphone to STM32), the results are even more dependent on the smartphone and range from 250 kbps to 680 kbps.
The following wiki page will be updated with graphs in the coming days:
STM32WBA Bluetooth® LE – Data throughput measurement - stm32mcu
Between two WBAs, data throughputs of around 950 kbps can be achieved.
BR, Joé
2025-08-20 1:57 AM
Hi Joé,
Thanks a lot for your answer and for sharing your benchmark results, they really helped me better understand my own measurements.
To verify, I made sure the parameters were correctly set:
DLE enabled
ATT MTU = 247
PHY = 2M
Tried several connection intervals (9, 11.25, 26.25, 30, 50, 300 ms…)
I observed that the shorter the connection interval, the higher the throughput.
You mentioned:
"Between two WBAs, data throughputs of around 950 kbps can be achieved."
I was aiming to reach similar performance using a NUCLEO-STM32WBA65RI (server) and a NUCLEO-STM32WBA55CGA (client).
I first flashed the ST example applications without any modifications, but I wasn’t able to match your performance.
Even after reducing the connection interval to 8.75 ms, I couldn’t achieve more than ~60,000 bytes/s.
Could you share me the configuration you did to acheive 900 kbps ?
Thanks,
Yvan