Skip to main content
Associate
Jul 17, 2025 1:26 AM UTC
Solved

STLINK-V3MINIE VCP (Virtual COM Port) not functional (TX Pin Idle Low at 0V)

Hello ST and community members,

I am writing to ask for help with a persistent issue regarding the Virtual COM Port (VCP) feature on the STLINK-V3MINIE.

Summary
I have two STLINK-V3MINIE units, and on both of them, serial communication via the VCP does not work at all. However, the SWD interface for programming and debugging functions correctly. For comparison, I tested an older STLINK-V2, and its VCP works perfectly fine.

Environment
* PC OS: Windows 10/11
* IDE: STM32CubeIDE v1.19.0
* Debug Probes:
* STLINK-V3MINIE (Device with the issue; two separate units behave identically)
* STLINK-V2 (Reference device that works correctly)
* Target MCU: Wio-E5 (STM32WLE5JC)
* Terminal Software: Tera Term

Troubleshooting Steps Performed
I have performed the following diagnostic steps:

1. Confirmed Target MCU is Running: I added code to toggle an LED within the while(1) loop on the Wio-E5. The LED blinks as expected, confirming the main program is running correctly.

2. Verified with STLINK-V2: I can establish a stable serial communication link with the Wio-E5 using the STLINK-V2 without any issues.

3. STLINK-V3MINIE Loopback Test: I disconnected the V3MINIE from the target MCU and performed a loopback test by connecting its T_VCP_TX and T_VCP_RX pins together. When typing into the terminal, no characters were echoed back.

4. Oscilloscope Analysis: While performing the loopback test, I directly monitored the TX pin of each debug probe with an oscilloscope and found a critical difference:
* STLINK-V2 (Normal): The TX pin idles high (3.3V) and correctly generates UART signal pulses that drop to 0V during transmission.
* STLINK-V3MINIE (Abnormal): The TX pin idles low (0V). No signal or waveform is generated on this pin when sending data from the terminal.

5. External Pull-up Resistor Test:
Based on the idle-low observation, I added a 10kΩ pull-up resistor between the T_VCP_TX and T_VCC pins on the STLINK-V3MINIE.
* Result: This successfully changed the idle voltage to 3.3V.
* Outcome: Despite the correct idle voltage, the loopback test still failed, and no communication was possible.

Questions
Based on these results, I believe there is a fundamental issue with the VCP implementation on the STLINK-V3MINIE.

1. Is the idle-low (0V) state on the VCP TX pin the intended design or specification for the STLINK-V3MINIE?
2. Is this a known issue related to a specific hardware revision or firmware version of the STLINK-V3MINIE?
3. Are there any other special settings or procedures required to get the VCP to function correctly?

Since two separate STLINK-V3MINIE units exhibit the exact same behavior, I suspect this is not a random failure but a more fundamental issue.
Any information or suggestions you could provide would be greatly appreciated.

Thank you.

This topic has been closed for replies.
TDK
TDKBest answer
Jul 17, 2025 2:01 AM UTC

It should just work. Perhaps you have things miswired. Sounds like you may have TX/RX swapped. Can you show your board schematic and how things are wired?

Note that the T_VCP_TX pin is an input to the programmer. It's a UART RX pin. Idle state would be set by whatever device is driving the pin. Sending data on the terminal will be transmitted on the T_VCP_RX pin. Loopback should still work. Note that RealTerm may buffer characters until a newline is sent.

"If you feel a post has answered your question, please click ""Accept as Solution""."

3 replies

TDK
TDKBest answer
Jul 17, 2025 2:01 AM UTC

It should just work. Perhaps you have things miswired. Sounds like you may have TX/RX swapped. Can you show your board schematic and how things are wired?

Note that the T_VCP_TX pin is an input to the programmer. It's a UART RX pin. Idle state would be set by whatever device is driving the pin. Sending data on the terminal will be transmitted on the T_VCP_RX pin. Loopback should still work. Note that RealTerm may buffer characters until a newline is sent.

"If you feel a post has answered your question, please click ""Accept as Solution""."
monolierAuthor
Associate
Jul 17, 2025 2:22 AM UTC

Thank you very much for your reply and your time. I'm happy to report that I have solved the issue.

To conclude, the entire problem was caused by my own complete misunderstanding.

The initial reason I could not establish serial communication was that I had simply mistaken which port pins to use on my target microcontroller (Wio-E5).

During the debugging process, the loopback test on the STLINK-V3MINIE failed, which led me to mistakenly believe that the problem was with the STLINK-V3MINIE hardware itself.

Finally, after confirming that I could communicate successfully using a STLINK-V2, I reviewed my MCU's pin configuration from scratch and realized my port selection error. After correcting the configuration to the proper port (USART1), I can confirm that serial communication with the STLINK-V3MINIE now works perfectly.

My apologies for the confusion, and thank you again for your support.

Associate
Jul 17, 2025 2:29 AM UTC

You're not the only one who got this trouble. Two years ago, my new bought stlink-v3minie works all fine including the VCP function, but just few months ago I found that function doesn't work sometimes. That wasted a lot of my time to check the problem and I thought there was the problem of my target board but actually it wasn't.

I checked my debugger with a scope and the pin level is totally the same as your described. In my opinion there must be some fault in the firmware. But I'm sorry about that and I got no solution for it too.

What I can only tell is, the VCP function may work if you try to reconnect it to your pc for multiple times, although that does not fix it at all.