Skip to main content
Associate
May 18, 2026
Question

STM32G0C1 USB 2.0 Type-C connection issue

  • May 18, 2026
  • 1 reply
  • 105 views

Hi everyone,
I have successfully implemented a USB VCP device on STM32G0C1 microcontroller, and it communicates perfectly with my PC.

To meet current product trends, I am migrating the connector to USB Type-C (schematic attached). I am keeping it as a USB 2.0 interface. For reference, here is my current pin configuration based on the schematic:

  • GND (Pins 1 & 12): Grounded.

  • VBUS (Pins 2 & 11): Left floating (my device is self-powered and does not require host power).

  • CC1 / CC2 (Pins 3 & 9): Each independently pulled down to GND via a 5.1kΩ resistor.

During testing, I encountered the following issue:

  • Using a Type-A to Type-C cable: The PC successfully recognizes the device and it works perfectly.

  • Using a Type-C to Type-C cable: The PC fails to recognize the device at all.

Could you please help me check if there is an error in my schematic? Are there any specific Type-C initialization rules or pin configurations that I must follow for C-to-C connections to work properly?

Thanks in advance for your help!s

 

Dillon_TUNG_1-1779074115220.png

1 reply

Technical Moderator
May 18, 2026

Hi @Dillon_TUNG 

For self powered device, VBUS sensing is mandatory. You can not left it floating. Management of VBUS sensing for USB device design - STMicroelectronics Community

A Type-C to Type-C cable will not enumerate unless the source detects your device and enables VBUSType-A to Type-C cable may bypass some of these issues because it does not require the same level of Type-C detection logic.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.Best regards,FBL
Associate
May 19, 2026

Hi @FBL ,

Thanks for your reply and the information provided. I've read through the AN4879 document regarding the USB specifications, but it doesn't seem to mention anything specifically about Type-C. I'm wondering if there are any differences I should be aware of?

Additionally, I tried disabling the USB peripheral initialization first ( by commenting out MX_USB_Device_Init() ) and used an oscilloscope to monitor the VBUS voltage when connecting to the PC via a C-to-C cable. I noticed that there was no voltage change at all. However, when I use a C-to-A cable to connect to the PC, I can clearly see VBUS outputting 5V.

Are there any specific rules or details I might have missed?

Best regards,
Dillon