Connector to firmware boundary
USB Interface Design for PCBs
Connect USB power, the physical receptacle, ESD strategy, data routing, and a bridge or native-USB controller without guessing at pinouts.
Short answer
USB bring-up works when the connector identity, CC behavior, power path, signal pair, device controller, clocking, and firmware descriptor all agree. Treating a USB-C receptacle as a prettier four-pin USB connector is how boards get power but never enumerate—or expose a host to the wrong electrical state.
Design sequence
Step 1
Choose the USB role
Define device, host, or dual-role behavior; required data speed; bus-powered versus self-powered operation; and whether USB-C is only the connector or part of a negotiated power design.
Step 2
Verify the exact connector
Use the drawing for the exact orderable receptacle. Confirm duplicated USB 2.0 pins, shield tabs, CC pins, mounting posts, paste apertures, and the footprint origin.
Step 3
Choose native USB or a bridge
A native-USB MCU reduces BOM count but couples USB behavior to firmware and clocking. A UART bridge isolates that complexity but adds a device, driver identity, and another supply boundary.
Step 4
Plan enumeration debugging
Expose ground, VBUS, reset, bridge UART, and programming access. Verify power and reference first, then clocks and reset, then data routing and descriptors.
Stop conditions
- Stop if the connector footprint came from a generic library without comparison to the exact mechanical drawing.
- Stop if CC resistors, VBUS behavior, ESD placement, return path, or controller reference voltage are still implied rather than shown on the schematic.
Choose each subsystem
Connectors
USB-C, JST, and power connectors: footprint variance across clones, retention mechanics, and the CC-resistor rules.
Interface ICs
USB bridges, transceivers, expanders, and level shifters: driver situations, reference pins, and bus speed limits.
Microcontrollers
MCUs and MCU modules: minimal circuits, strapping and boot pins, clock requirements, and the supply gotchas that cause field failures.
Verified part guides
These pages establish exact part boundaries and datasheet-backed constraints. They are examples and design references, not a universal BOM.
- TYPE-C-31-M-12USB-C 16-pin USB 2.0 receptacle; generic-class part widely cloned.
- CH340CUSB-to-UART bridge with internal oscillator; dominant on budget dev boards.
- CP2102NUSB-to-UART bridge with internal oscillator and 3 Mbaud throughput; 3 package options down to 3x3 mm QFN.
- ATmega32U48-bit AVR MCU with 32 KB flash and native USB 2.0 full-speed device; Arduino Leonardo chip; also QFN.
- RP2040Dual Cortex-M0+ 133 MHz MCU with 264 KB SRAM and external QSPI flash.
Take it to the bench
Questions to take into PCBWiki
- Should this board use native USB or a USB-to-UART bridge?
- Why does my USB-C board receive power but fail to enumerate?