I'm working on a PCB USB stick with a reversible USB-A connector. This device should work reversibly with any normal USB host.
I know that it works fine with just the topside, but I realized it could be reversible with the traces added on the bottom. It is a bit concerning though, because now the "not-used" traces will potentially short to the host-side USB shielding.
I made this circuit that:
- Uses diodes to prevent "top" 5V, GND and "bottom" 5V, GND from connecting to each other.
- Zener diodes to protect from ESD
- The FSUSB42UMX switch to choose between "top" D+/D- and "bottom" D+/D-. The select is the 5V of one of the sides with a pulldown resistor.
- When 5V is present on the "bottom" side, then "bottom" D+/D- are selected. Otherwise, the pull down will default select to "top" D+/D-.
Is there anything potentially still risky with this approach that I'm missing?
Would the host USB shielding ever normally be something other than Z or GND?
Is there a simpler way to do this?