2025-08-18 5:51 AM
Dear ST Support Team and Community Experts,
I'm developing a BLE application using the STM32WB55 Nucleo board (P-NUCLEO-WB55) and observed unexpectedly low data throughput, requesting guidance on optimization.
Current Rate:
Modified BLE_p2pServer example to send sensor data via P2PS_Send_notification() in a loop.
Measured: ~4.5KB/s (7.5ms connection interval).
Comparative Tests:
Enabled L2CAP CoC in Data Throughput example (SW2 press): ~40KB/s (still below expectations).
Competing device (nRF52840) achieves >100KB/s under identical conditions (2M PHY + DLE).
Anomaly:
No throughput improvement after forcing 2M PHY via aci_hal_set_phy_parameters().
Hardware: STM32WB55CGU6 (Nucleo-68 module).
Software:
Wireless Stack: v1.18.03 (FUS not upgraded).
IDE: STM32CubeIDE v1.15.0.
Configurations applied per AN5289 Rev 8 (Sections 7.8 & 8.6.9 for DLE/MTU/CoC).
Connection Parameters:
Verified successful PHY switching (no HCI errors).
Tested connection intervals (7.5ms/15ms/30ms) – negligible impact.
Compared GATT Notify vs. L2CAP CoC: CoC capped at 40KB/s (expected ~150KB/s).
Upgraded STM32CubeProgrammer to v2.20 (FUS compatibility confirmed).
Kindly advise on:
Theoretical Limits:
What is the maximum achievable throughput for STM32WB55 using 2M PHY + DLE + CoC? Are official test reports available?
Stack Version Dependency:
Does Stack v1.18.03 limit throughput? Is upgrading to v1.19+ mandatory (e.g., for EATT optimizations per Release Notes ID 205915)?
Configuration Gaps:
Is explicit HCI_LE_Set_Phy required? Does RF clock accuracy affect 2M PHY?
How to optimize CoC’s Credit-Based Flow Control (e.g., MTU/MPS in aci_l2cap_coc_connect)?
vs. nRF52840 Discrepancy:
Why does WB55 underperform identically configured nRF52840? Is stack overhead higher? Mitigation strategies?
Hardware Limitations:
Could WB55’s 6dBm output power impact 2M PHY stability? Is RF matching circuit tuning needed?
Provide an official throughput-optimized example (full PHY+DLE+CoC implementation).
Recommend upgrading to latest stack (e.g., v2.x)? Any backward compatibility risks?