I'm working on a PCB USB stick with a reversible USB-A connector. This device should work reversibly with any normal USB host.

enter image description here

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.

enter image description here

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-.

enter image description here

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?

  • \$\begingroup\$ Sounds like the connector should be built and tested. Wiggle it all around insert it a bunch to check for shorts to the chassis. \$\endgroup\$
    – Aaron
    Commented Dec 7, 2019 at 7:30
  • 3
    \$\begingroup\$ The FSUSB242 will see true 0 V on its shorted inputs while its GND pin is one diode drop higher than that. Will it tolerate that? Will the rest of the circuit run at < 5 V? \$\endgroup\$
    – Transistor
    Commented Dec 7, 2019 at 7:32
  • \$\begingroup\$ On an unrelated note, why is your schematic split into three isolated parts? Why not connect up the lines? As drawn I have to read the label on the end of each net and then search for the (one and only?) other occurrence of it. Having GNDs at the top is also a bit disconcerting. You're not the only one doing this so I suspect it's a feature of some design package. See Rules and guidelines for drawing good schematics for some further thoughts and excellent guidance on the subject. \$\endgroup\$
    – Transistor
    Commented Dec 7, 2019 at 9:56
  • 2
    \$\begingroup\$ It would be far better to use MOSFETs to do the power steering. Look up "ideal diode" circuits. \$\endgroup\$
    – Dave Tweed
    Commented Dec 7, 2019 at 14:27
  • 1
    \$\begingroup\$ @Ale..chenski can you elaborate? Even with TVS diode protection? \$\endgroup\$ Commented Dec 9, 2019 at 17:48

3 Answers 3


Replace D4 and D6 with MOSFETs with the gate to the matching Vbus.

that will remove the voltage lift on ground induced by the diodes.

D3 and D5 could be replaced with P channel MOSFETS if you need the full 5V for the rest of the circuit,


simulate this circuit – Schematic created using CircuitLab


How about instead of looking for electrical solution use a simple mechanical one? Reversible A plugs are nothing new. Here is one for example.

enter image description here

Not only shield protects the PCB from breaking, it also keeps contacts from shorting.


Let me start what is definitely wrong:

Your data lines are connected to the diodes? Get this out! The diodes will kill the signal. Alone the capacity will make a reliable connection impossible. You could never sell such a circuit, because the returned sticks would kill your bank.

Other than that just use regular diodes for the power. Better not the slowest one. Who knows - this could matter with bad decoupling on the stick.

But the data lines will get shorted! There is only one solution. Detect, on which side the voltage input comes from and use a multiplexer to connect the right side to the "output" of this thing.

A multiplexer adds complexity. Use one with at least (!) a bandwith of 600Mbit. What does that mean? Usb can reach 480Mbit/s. That basically means, there are 480.000.000 voltage changes per second. The Multiplexer needs to be fast and have a very low capacity! Otherwhise this definitely will not work in any predictable manner. But in fact!

It is possible!


(with the fix above)

By the way: 600Mhz bandwith actually could be limiting. If you can get higher speed ones, it would be great. Maybe it is possible to use a slower multiplexer. Than possibly the low speed USB 2.0 might still work. If that speed is enougth. Full speed would be 12Mbit/s. And Low speed specification is 1.5mbit/s. So a Multiplexer with 5Mhz (easy to obtain) could possibly work. Only possibly. Better to go fast!

Please report, if this worked for you. Hope I helped.

  • \$\begingroup\$ The USB lines in the schematic are not connected to Diodes. The FSUSB24U is a USB 480Mbps switch IC. \$\endgroup\$ Commented Apr 22, 2020 at 18:07
  • \$\begingroup\$ I clearly see Z3 to Z6 connect to the data lines. And that is bad. And fact. \$\endgroup\$ Commented Apr 22, 2020 at 18:38
  • 1
    \$\begingroup\$ Diodes for ESD protection on USB are not that unusual. He will need to use suitable extra-low-capacitance ones, but given he hasn't said what type he's using it seems a bit harsh to assume they are the wrong type. \$\endgroup\$
    – Jack B
    Commented Apr 22, 2020 at 18:50
  • \$\begingroup\$ Wow, people are nice. I actually proposed a way which would 100% definitely work, and got a thumbs down. Well, fry yourself. Bye. @JackB Well, if he is asking for the possibility of the circuit he most certainly would not choose the proper ones, right? And it is not neccesary. It adds complexity and a point of failure which is not required. Data lines with ESD protection by discrete electronics are not actually that often. Maybe for USB2 - but not for USB3, PCIe, Sata or RAM. the only protection measures that I would recomment are the ones inside the IC. They are in fact plenty (usually). \$\endgroup\$ Commented Apr 25, 2020 at 7:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.