I'm trying to make a USB-C switcher.
I'm using a rotary switch (center) to have one input USB-C receptacle switch between two output receptacles. This is so I can plug my keyboard into the input and two computers into the two outputs, and use a knob to select which computer the keyboard is attached to without unplugging any cables.
Here is my circuit diagram:
The VBUS
, D+
, and D-
lines of the two output receptacles are switched through the rotary switch and connected to the input receptacle. Pins CC1
and CC2
of each Output receptacle are joined, and then switched through the rotary switch and connected to the CC1
and CC2
pins of the input receptacle. A common ground plane is shared between all three receptacles and isn't switched by the rotary switch.
I thought I could join together the CC pins (since there is only one CC line in USB-C cables) and pass the CC line through the switch to allow for native USB-C power delivery negotiation between each host and the keyboard. But when I soldered up the boards, that didn't work. No connection was made no matter what cables or plug orientation I used. It also didn't help to unplug one cable so only two cables were plugged into the device, one input and one output. I have verified with a multimeter that my solder connections on the board are sound.
My question is: why isn't passing through the VBUS
, D+
, D-
, and CC
lines of a USB-C cable, with a common ground, allowing USB connections?
I have a few ideas:
- Maybe the fact that I'm sharing ground between all three receptacles isn't good, and is messing up various things.
- Maybe the fact that
B8
andA8
aren't passed through is causing some issue? But I've learned these are USB-C SuperSpeed lines and I think it should work fine to leave them unconnected. (I don't need high-speed data since I just want this to work for a keyboard.)
Thanks for the help!