STM32 Virtual COM Port Issues

For some reason, the Virtual Com Port (VCP) drivers for STM32 chips were acting up and not properly enumerating a usable COM port on Windows when I was testing an STM32L476 chip.

I’m not sure if this is a chip-specific issue or if this problem shows up on more chips using the STM32Cube Hardware Abstraction Layer.

(Even after I installed Atollic TrueSTUDIO and the older STSW-LINK004 Windows utility, which I like better than the new STM32CubeProgrammer because it doesn’t require Java.)

The solution was to install an older Windows 8 VCP driver that they list on their website as part number STSW-STM32102.

The fun part is that the README file says “For Windows 10, use Microsoft inbox driver and not this package.“, which doesn’t do anything for me.

The 64-bit driver for Windows 8 works fine on Windows 10 and fixes the problem.

After installing the driver, the entry shows up in the installed programs.

And more importantly, the USB device enumerates correctly as a COM port in the Device Manager.

Good luck.

3 thoughts on “STM32 Virtual COM Port Issues”

  1. I have a homemade STM32F405RG development board and I followed this https://www.youtube.com/watch?v=7oED-m34EKk&fbclid=IwAR1zLinUzt4WdE9gG1o1dLWobVVurQ9wypE17dC6zmb94rbksTg2XkIxuOI It was previously only showing in Device Manager WinDoze 10 when I put it into DFU mode. After following the tutorial in now shows up as a USB Serial Device but still not a VCP. Do you think that the driver you mention might be worth trying on my board? Thanks for the info and write-up too, very nice of you, See here https://www.youtube.com/watch?v=f1WtGTmZ888

    1. I’d say it’s worth a try, though as long as the custom device shows up as some kind of device that you can read / write data to using something like TeraTerm or pyserial, there’s probably not much difference between the two device types.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.