Help routing USB-C D+/D− to ESP32-S2 differential pair needs to cross

Thread Starter

Mr.Nando

Joined Aug 18, 2025
1
Hi everyone,
I’m designing a PCB that uses USB-C to program an ESP32-S2 Mini 2. It’s my first time routing USB, and I’ve run into a layout issue I’m not sure how to handle correctly.

Setup
  • USB-C receptacle (USB 2.0 only: D+, D−, CC1/CC2).
  • ESD protection: USBLC6-2SC6 (2-channel low-cap device protection).
  • Goal: use USB-C only for powering and flashing the ESP32-S2 over its native USB.

The problem
When I route D+ and D−, the differential pair has to cross to reach the correct pins:
  • It needs to cross between the USB-C connector and the ESD IC.
  • It also ends up needing to cross again between the ESD IC and the ESP32-S2 Mini pins.
    This feels wrong to me (I don’t have much experience with differential pairs), so I suspect I’m missing a better approach.
Questions
  1. Is it acceptable to do a clean “crossover” of the USB D+/D− pair on the PCB, and if so, what’s the recommended way?
  2. At the USB-C connector footprint, is it normal that D+ and D− seem to “cross” depending on the footprint orientation? Any best practices to pick a connector or footprint option that avoids this?
  3. For device-only use, any tips around CC1/CC2 resistors placement and return paths that interact with the D+/D− pair routing?

Link to Photos

The current component placement is provisional; I’m still testing the routing and will do the final placement afterward.

I’m a beginner with high-speed/differential routing. Most of my previous boards were simple designs.
What’s the correct/clean way to route this so I don’t make rookie mistakes? Any guidelines, examples, or app notes you recommend would be greatly appreciated. Thanks!
 
Top