cancel
Showing results for 
Search instead for 
Did you mean: 

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

monolier
Associate

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.

1 ACCEPTED SOLUTION

Accepted Solutions
TDK
Super User

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".

View solution in original post

3 REPLIES 3
TDK
Super User

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".

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.

Noel0319
Associate

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.