We've all been there: you've got a problem to solve and are faced with the make versus buy decision. In my case, I wanted to switch a USB peripheral between two PCs; that's the only hard requirement. The easiest solution would have been to simply add a USB hub to my KVM switch and call it a day, but that wouldn't carry USB-3 multi-gigabit data rates (not that I needed to, but I wanted to).
Even still, nearly identical products do already exist and can be bought for as cheap as $15 USD1, but where's the fun in that? I had some additional motivation though. Last year as pandemic restrictions began, EMA Design Automation2 offered free licenses for anyone under their "work from home" program. I had been meaning to spend some time learning the Cadence schematic and layout tools in greater depth, so I used this project as an opportunity to do just that. I also was able to practice mechanical CAD by designing an enclosure.
Ultimately, I designed and built an extremely simple USB device which allows a peripheral to connect to either of two hosts, selectable via a simple sliding switch. The device should be able to operate at up to 10 Gbps data rates, and can be powered by either host. Over the next few months I plan to use this design as a platform to showcase various topics and tutorials for signal and power integrity analysis. SI/PI is a broad field and while some of the concepts are simple on the surface, a detailed analysis can get quite complex. The simplicity of this design should allow me the opportunity to explain some of these concepts in a manner which is easier to understand (and quicker to simulate).