USB-C Connector¶
Overview¶
This connector provides power delivery and programming connectivity for the ESP32-S3. The design includes ESD protection, USB-C device-mode configuration, and automatic power source selection.
Main Components¶
USB-C Connector (J19)¶
- Part Number: TYPE_C_31_M_12
- Configuration: USB 2.0 device mode
- Power Capability: 5V delivery via USB-C VBUS
- Data Support: Full-speed USB communication and programming
Power Source Selection — U23 (TPS2116)¶
USB VBUS is wired directly to one input of U23, a TPS2116 power multiplexer. The other input is the LMR36510's 5 V output (battery-derived). U23 selects between them on its own; there is no jumper, switch, or firmware control in the path. Full description in Switching Power Supply.
One power source at a time on V9
Main power always runs the board when it is present; USB takes over only when the main 5 V rail falls below about 4.3 V. But on V9, do not connect both power sources at the same time — the USB input has no local bulk capacitance on this revision, and the handover transient is not clean. Disconnect main power before connecting USB, or vice versa. Details in the switching-supply page linked above.
USB-C Configuration¶
Configuration Channel (CC) Setup¶
- CC1 Pin (A5): 5.1kΩ pull-down resistor to GND
- CC2 Pin (B5): 5.1kΩ pull-down resistor to GND
- Result: USB device mode advertisement to host
- Compliance: USB-C specification for sink device identification
Data Line Implementation¶
- USB D+ (A6/B6): Connected through 22Ω series resistor and ESD protection
- USB D- (A7/B7): Connected through 22Ω series resistor and ESD protection
- Destination: ESP32-S3 GPIO19 (D-) and GPIO20 (D+)
- Signal Integrity: 22Ω resistors provide impedance matching and current limiting
ESD Protection¶
- Component: Dual low-capacitance TVS diode array (e.g., USBLC6-2SC6)
- Placement: Between series resistors and ESP32-S3 data pins
- Specifications: <1pF capacitance, ~6V clamping voltage
- Protection: Guards against electrostatic discharge on exposed USB connector
ESP32-S3 Interface¶
USB Connection¶
- ESP32-S3 D+: GPIO20 (dedicated USB OTG pin)
- ESP32-S3 D-: GPIO19 (dedicated USB OTG pin)
- USB Protocol: Native USB OTG support in ESP32-S3
- Programming: CDC/ACM or vendor-specific protocol over USB
Power Connection¶
- 5V Rail: USB VBUS feeds one U23 (TPS2116) input; U23 routes the selected source to the 5 V system rail
- Regulation: 5V → 3.3V via TLV62569DBV buck converter (existing system)
- ESP32-S3 Power: 3.3V rail powers ESP32-S3 and peripherals
Pin Mapping Summary¶
| USB-C Pin | Signal | Series R | ESD Protection | ESP32-S3 Pin | Function |
|---|---|---|---|---|---|
| A4/B4 | VBUS | - | - | - | 5 V power to U23 (TPS2116) input |
| A5 | CC1 | - | - | - | 5.1kΩ to GND (device mode) |
| B5 | CC2 | - | - | - | 5.1kΩ to GND (device mode) |
| A6/B6 | D+ | 22Ω | TVS array | GPIO20 | USB data positive |
| A7/B7 | D- | 22Ω | TVS array | GPIO19 | USB data negative |
| A8/B8 | SBU1/SBU2 | - | - | - | Not connected |
| Shield | SHIELD | - | - | - | Chassis ground |
Power System Integration¶
Power Flow Architecture¶
- USB path: USB VBUS → U23 (TPS2116) → 5 V system rail → TLV62569 → 3.3 V → ESP32-S3
- Battery path: Battery → TPS48000-Q1 → VIN_2-60 → LMR36510 → U23 (TPS2116) → 5 V system rail → TLV62569 → 3.3 V → ESP32-S3
- Selection: U23 chooses automatically — main power whenever it is present, USB otherwise. On V9, connect only one at a time.
Power Consumption (USB Mode)¶
| Component | Current | Rail | Power |
|---|---|---|---|
| ESP32-S3 (active) | 80mA | 3.3V | 264mW |
| ESP32-S3 (sleep) | 10µA | 3.3V | 33µW |
| Support circuits | ~26mA | Mixed | ~130mW |
| Total USB current | ~400mA | 5V | ~2W |
Power Source Matrix¶
| Main power cable | USB-C cable | Result |
|---|---|---|
| Connected | Disconnected | Battery only — normal operation |
| Disconnected | Connected | USB only — board runs, ~400 mA from host |
| Disconnected | Disconnected | No power |
| Connected | Connected | Not supported on V9 — disconnect one; the handover transient is not clean on this revision |
Programming and Operation¶
Programming Mode¶
- Connection: Standard USB-C cable to development host
- Protocol: Native USB programming via ESP32-S3 USB OTG
- Boot Mode: Manual - hold GPIO0 low during reset for programming
- Auto-reset: Not implemented (manual reset required)
- Power: Via USB or main power — one at a time on V9
Production Operation¶
- Power Source: Battery power, main cable only
- USB Connector: Can remain populated for field programming — on V9, disconnect main power before plugging in
- ESD Protection: Protects ESP32-S3 from connector exposure
Design Features¶
Protection Systems¶
- ESD Protection: TVS diodes on USB data lines USBLC6-2SC6
- Power Isolation: Automatic source selection by U23 (TPS2116)
- Overcurrent: Inherent USB host current limiting
- Signal Integrity: Series termination resistors
Production Considerations¶
- Component Selection: Standard values for easy sourcing
- Manual Programming: Acceptable for production programming workflow
- Power Flexibility: Supports both development and deployment scenarios
- EMI Compliance: ESD protection aids regulatory compliance
User Interface¶
- Power source: Automatic, no user control — U23 selects between USB VBUS and the LMR36510 output
- Programming: Standard USB-C connector with manual boot control
Operational Modes¶
Development Mode¶
- Disconnect main power, then connect the USB-C cable — the board runs from USB
- Manual reset/GPIO0 control for programming
Production Mode¶
- Main power cable connected, USB-C disconnected
- USB connector available for field programming if needed
Programming Mode¶
- Connect the USB-C cable for power and data (on V9, disconnect main power first)
- Hold GPIO0 low, press reset
- Release reset, then GPIO0
- Program via USB interface