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: U2, USBLC6-2SC6 dual low-capacitance TVS diode array
- 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 pin)
- ESP32-S3 D-: GPIO19 (dedicated USB pin)
- USB Protocol: Native USB in the ESP32-S3; the firmware is built for the USB Serial/JTAG interface (CDC serial)
- Programming: CDC serial over the USB Serial/JTAG interface
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 | - | - | - | Board 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 from USB VBUS | ~120mA | 5V | ~0.6W |
The total is the regulator's bench-measured whole-board draw — 0.67 W at 12 V in the full-speed state, on the Switching Power Supplies page — carried on the 5 V rail instead of through the main buck.
Power Source Matrix¶
| Main power cable | USB-C cable | Result |
|---|---|---|
| Connected | Disconnected | Battery only — normal operation |
| Disconnected | Connected | USB only — board runs, roughly 120 mA from the 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 through the ESP32-S3's USB Serial/JTAG interface
- Boot Mode: Automatic. The firmware is built for the ESP32-S3's built-in USB Serial/JTAG interface, which lets the installer reset the chip into its ROM download mode over the same USB connection — no button and no GPIO0 handling. GPIO0 and the reset line are also brought out on the control-switch cables (the GPIO0 and RESET wires on the Connectors page) as a manual fallback.
- Auto-reset: Provided by the chip's USB Serial/JTAG interface; the browser installer relies on it.
- Identification: the firmware answers the Improv Serial handshake on this port, so the browser installer reads the running firmware name, version and serial number before it flashes, and can send WiFi credentials to the regulator over the same link.
- 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
- Programming: through the browser installer over this port; no buttons
- 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; boot control is automatic through the USB Serial/JTAG interface
Operational Modes¶
Development Mode¶
- Disconnect main power, then connect the USB-C cable — the board runs from USB
- Flash over USB; the chip's USB Serial/JTAG interface handles the reset into download mode
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)
- Run the browser installer (Updating Firmware over USB); it identifies the regulator through the Improv Serial handshake, resets it into download mode and programs it — no buttons
- The regulator restarts on the new firmware and rejoins WiFi on its own