2026-05-04 7:26 AM
Dear STM32 Community,
I am currently working with the STM32WB55CGU6 and aim to determine the maximum practical data-transfer rate when utilizing USB device mode with the CDC (Virtual COM Port) class.
I am particularly interested in the real-world USB Full-Speed CDC throughput for this specific MCU, rather than the theoretical 12 Mbps limit. Furthermore, I would like to understand the primary factors that constrain actual speeds—specifically, USB peripheral limitations, packet sizing and buffering mechanisms, HAL USB stack overhead, CPU/interrupt load, and the potential impact of BLE radio activity given the chip's dual-core architecture.
Additionally, I would appreciate insights into optimal C firmware design practices to maximize throughput. This includes effective buffering strategies (e.g., double-buffering or ping-pong buffers), techniques to avoid blocking calls, optimal packet size selection (if deviating from standard 64-byte packets is viable), and the availability of advantageous DMA configurations.
If anyone can share benchmarks or practical experience regarding CDC throughput optimization on the WB55 (in both IN and OUT directions, with an emphasis on OUT), your input would be highly valued. Code snippets or library recommendations are also greatly appreciated.
Bests,