[STUSB1602] FSM jumps to ErrorRecovery (0x13) on USB-C cable plug — no fault, no alert
- May 11, 2026
- 1 reply
- 146 views
Hi,
I'm building a DC-DC converter with a USB-C output using an ESP32 and a STUSB1602 configured as a fixed 5V/3A Source (no PD stack).
The problem: when I plug a USB-C cable into my receptacle connector, the FSM jumps directly from Unattached.SRC (0x08) to ErrorRecovery (0x13) without going through AttachWait.SRC (0x09) or Attached.SRC (0x0A). No alert is generated on the ALERT pin, and CC_DETECTION_STATUS (0x0E) stays at 0x00 the whole time — the chip never seems to detect Rd on CC1 or CC2, even though I physically measure a voltage drop to ~0.3V on CC1 when plugging.
Hardware setup:
-
STUSB1602 as Source, I²C 0x28
-
USB-C receptacle
-
CC1/CC2 connected directly to the chip, no external resistors
-
VBUS_SENSE upstream of the MOSFETs (connector sees no VBUS before attach)
Software configuration: -
0x28 POWER_ROLE_CTRL = 0x00 → Source
-
0x18 PD_ROLE_CTRL = 0x90 → Rp=3A
-
0x20 MONITORING_CTRL = 0xB0 → VBUS+VCONN monitoring
-
0x22 VBUS_RANGE_MONITORING = 0x66 → OVP/UVP ±20%
-
0x0C ALERT_STATUS_MASK = 0x00 → all alerts unmasked
What I captured at the moment of ErrorRecovery:
CC_DET (0x0E) = 0x00 → no Rd detected FSM (0x11) = 0x13 → ErrorRecovery 0x0F MONITORING_TRANS = 0x04 → VBUS_VSAFE0V transition (VBUS dropped below 0.8V) 0x12 HW_FAULT_TRANS = 0x00 → no hardware fault 0x13 HW_FAULT_STATUS = 0x40 → VPU_VALID=1, no fault 0x0B ALERT_STATUS = 0x00 → no alert
The only clue I have is the VBUS_VSAFE0V transition on 0x0F, suggesting VBUS drops below 0.8V at the moment of plug-in, which might be triggering ErrorRecovery.
But I'm not sure if that's the cause or a consequence.
What I've ruled out:
- VPU issue: VPU_VALID = 1 at all times
- VBUS present on connector before attach: VBUS_SENSE is upstream of MOSFETs
- External resistors or CC mux Has anyone seen this behavior before?
I can't find any documentation listing the exact conditions that cause the STUSB1602 to enter ErrorRecovery.
Thanks