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.
Power source priority
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 — a level it only reaches when main power is failing or disconnected. Both sources may be connected at the same time: U23 blocks current from flowing between them (reverse-current blocking), so neither supply back-feeds the other.
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. Both cables may be connected at once.
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 | Board runs from main power; USB is on standby and takes over automatically if main power fails |
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 — either alone, or both connected
Production Operation¶
- Power Source: Battery power, main cable only
- USB Connector: Can remain populated for field programming — connect it with main power still on
- 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¶
- Connect the USB-C cable — main power may stay connected or be absent; the board runs either way
- 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 (main power may remain connected)
- Hold GPIO0 low, press reset
- Release reset, then GPIO0
- Program via USB interface