2026-05-16 8:59 AM - last edited on 2026-05-16 1:38 PM by mƎALLEm
Hello,
I am designing a USB-C power sink using the TCPP01-M12 and STM32G071CBT6 (UCPD peripheral). The connector is a Molex 2171790001 receptacle. I have two separate issues and would appreciate guidance on both.
---
ISSUE 1: No power at all with Type-C to Type-C cable
When I connect a USB-C to USB-C cable between my board and a USB-C charger, the board does not power on. However, when I use a Type-A to Type-C cable (from a USB-A charger), the board powers up fine.
Hardware setup:
- J1: Molex 2171790001 (CC1 on A5, CC2 on B5 — both routed)
- IC1: TCPP01-M12 (CC1C and CC2C connected to J1; CC1 and CC2 connected to STM32 PA8/PB15)
- IC2: STM32G071CBT6 (UCPD1_CC1 = PA8, UCPD1_CC2 = PB15)
- TCPP01 VCC (pin 12) is driven by STM32 PB12 GPIO (TCPP01_PWR net)
- TCPP01 DB/ (pin 10) is connected to STM32 PB11 GPIO
- C1 and C2 (330 pF each) are now soldered on CC1c and CC2c lines to GND
- R8 and R9 (0 Ω, intended to connect UCPD_DBCC1/PA9 and UCPD_DBCC2/PA10 to GND) are NOT yet soldered — so DBCC1 and DBCC2 pins are currently floating
My analysis so far:
With a USB-A charger, VBUS is unconditional — the board boots regardless of CC negotiation. With a USB-C charger, VBUS is only enabled after the charger detects a valid Rd on the CC lines. I believe the TCPP01 dead battery clamp (1.1 V on CC1c/CC2c) should signal the charger, which then enables VBUS, which turns on Q2 (N-channel MOSFET on VBUS, gate driven by TCPP01 GATE pin), which powers the LDO, which boots the STM32.
Questions:
1. With DBCC1/DBCC2 floating (R8/R9 not soldered), can the floating pins cause a spurious or conflicting termination on CC1/CC2 that a USB-C charger would interpret as a disconnect, causing it to cut VBUS?
2. What is the correct firmware sequence for PB12 (TCPP01 VCC enable) and PB11 (DB/ pin to deactivate dead battery clamps)? Specifically, must PB11 be driven HIGH before or after UCPD peripheral initialisation?
3. Is the TCPP01 GATE pin driven automatically in dead battery mode (VCC=0) when VBUS is detected, or does the firmware need to take action first?
---
ISSUE 2: Output limited to 5 V with Type-A to Type-C cable
When using a Type-A to Type-C cable and a USB-A charger, the board powers on but VBUS is fixed at 5 V. I need the board to negotiate higher voltages (9 V, 12 V, 20 V) over USB PD.
I understand that a USB-A source cannot do USB PD by definition — it can only offer 5 V. So this is likely expected behaviour for A-to-C. However, I want to confirm:
1. Is there any way to get USB PD negotiation (for voltages above 5 V) with a Type-A to Type-C cable, or is a Type-C to Type-C cable the only option for PD?
2. Once I fix Issue 1 and get C-to-C working, will the STM32 UCPD stack automatically negotiate higher PDOs with a USB-C PD charger, or are there additional firmware steps needed?
---
Hardware summary:
- MCU: STM32G071CBT6
- Protection IC: TCPP01-M12
- Connector: Molex 2171790001
- CC EMI caps (C1/C2): 330 pF, now soldered on CC1c/CC2c lines
- DBCC resistors (R8/R9): 100 kΩ to GND
- TCPP01_PWR: STM32 PB12
- DB/: STM32 PB11
- FLT/: STM32 PB10
I have attached the .ioc file and the schematic of the connections made for clarity
Any guidance appreciated. Thank you.
2026-05-16 1:05 PM
Hi,
i dont know much about ucpd..., but :
>1. Is there any way to get USB PD negotiation (for voltages above 5 V) with a Type-A to Type-C cable
no. (just not for USB PD )
>With DBCC1/DBCC2 floating (R8/R9 not soldered), can the floating pins cause a spurious or conflicting
Without resistors on cc1/cc2 -- nothing happens.
-> so use USBC to Type-C cable , + have resistors on CC .