Skip to main content
jcphillips
Associate II
July 17, 2026
Question

STLINK-V3MODS VCP + BRIDGE VCP get half throughput

  • July 17, 2026
  • 9 replies
  • 123 views

I’m having an issue with throughput on the STLINK-V3MODS VCP when used with the second BRIDGE UART.  If I set both the VCP and 2nd VCP for 115200 baud, I am only able to simultaneously send 5.76 KiB/s through each (half throughput).  If I use only the VCP at 115200, I’m able to send 11.52 KiB/s (full throughput).

I saw no mention of any such limitation in the documentation.  Am I doing something wrong?

STLINK-V3MODS firmware 3.17.11
Windows 11 version 25H2 (OS Build 26200.8875)

 

9 replies

S C
ST Employee
July 20, 2026

Hello,

The topic of VCP throughput is mentioned in the STLINK-V3SET User manual (UM2448 rev9 chapter 13.2 STLINK-V3SET debugger/programmer for STM8 and STM32 - User manual). The phrasing is perhaps not perfect, but it is said that “the capability of the receiver to process all the data also affects the communication. With a heavily loaded line, data loss might occur at the STLINK-V3SET side above 12 MHz.”. This means than when the UART line is fully loaded, the STLINK-V3SET starts loosing data at 12MHz. Note that with a loaded PC, the limit might also be lower. The whole system, including the PC application, and the USB stack on both PC and STLINK-V3 side must be able to process all data before the ST-Link embedded Rx buffer gets saturated. Here the bottleneck is not at UART level. Knowing that, you understand that 1x11.52 KiB/s is equivalent to 2x5.76 KiB/s and it won’t be possible to get more.

TDK
July 20, 2026

If the entire system can’t process at 115200 something is wrong. These are not fast speeds.

My modem in the 1990s could do 56k baud.

 

I suspect the underlying issue is something else. Possibly in how the system is processing bytes.

"If you feel a post has answered your question, please click ""Accept as Solution""."
jcphillips
Associate II
July 20, 2026

I agree with this.  For an additional data point, I first noticed the issue when I was attempting 921.6k baud on both VCP ports.  If I use a single port, I get about 92k bytes/sec as expected.  If I attempt the same on both VCPs, I get half throughput on each.  Afterwards, I repeated the same behavior with 115200 baud.  I suspect I would also get the same behavior at 9600 baud - full throughput on a single port, but half if I use two.  I’ll try that tonight.

jcphillips
Associate II
July 20, 2026

Confirmed.  This applies even for 9600 baud.  Using both VCPs cuts throughput to half of what should be possible with the baud rate.

 

S C
ST Employee
July 21, 2026

Hello,

I agree my first analysis was wrong for your case, I apologize for that. You are not at the limits of the system, all the more at 9600 baud. Then I have another doubt about my understanding: are you speaking about upstream data flow (from target to PC) or downstream ?

jcphillips
Associate II
July 21, 2026

I’ve been testing downstream (PC to target) to validate target data reception.  I haven’t tested upstream throughput.

S C
ST Employee
July 21, 2026

OK I understand the point. The downstream is not well-structured at ST-Link level to correctly handle data bursts, I would say it is currently rather designed to handle small commands in this direction, and to favorize the upstream channel (printf functionality for instance). Are you developing an application requiring a high throughput downstream on both VCPs or do you discover the limitation during tests more “stressing” than the final use case ? Unfortunately, the fix is in conflict with other bridge features, so requires arbitration and is not straightforward