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).
Ideally, this series will allow for us to explore pre-layout topics such as: signal integrity constraints, stackup design, via design, PDN planning, time-domain simulation and others. Afterwards, we can look at post-layout validation, PDN impedance, full-wave electromagnetic simulation of connectors, and IBIS-AMI model simulation. Ideally, we can get access to some high-speed test and measurement equipment and work on correlating simulation and measurement.
To answer the question posed in the title, there are certainly many reasons on both sides of the argument! In this specific case, designing my own device will serve as a base platform from which many SI/PI concepts will be discussed and taught, and so the value is apparent. If someone simply needs a working device quickly, of course buying it would be the better choice. One last consideration: building your own hardware can be a fun and rewarding experience. Not only building skills in new software packages, but also the joy of powering up and operating for the first time after putting all the effort into design, procurement and assembly. Even a board as simple as this is more fun to use after knowing its entire history.
As an introduction to this series of videos and tutorials, let me share a video tutorial of the open-source TNT/MMTL3 2.5D field solver for microstrip and stripline transmission line design. MMTL allows for nearly arbitrary 2D geometry and will give transmission line properties such as:
Mutual and self inductance
Effective dielectric constant
Propagation delay (seconds/meter) and the inverse propagation velocity
Crosstalk for parallel structures (both NEXT and FEXT)
Microstrip, stripline, coplanar structures
Rectangular, trapezoidal and circular conductor shapes
Rectangular dielectric shapes
Additionally, RLGC parameters may be exported for use in other simulations. Parameters can be easily swept to find optimal geometries for certain situations. The biggest downside is that loss tangent is not taken into account so the results do not give a good representation of dielectric loss and high frequency attenuation. The best usage for the tool is for designing controlled impedance trace widths or validating stackup geometries from other sources.