I love designing PCBs. It’s more than just connecting wires in a given area; it’s devising clever ways to make connections while controlling the design for things like EMC, switcher noise, signal integrity, heat dissipation, and many more.
But the actual laying down of traces isn’t the whole challenge. The design needs to be accurately described to the manufacturer to be sure that everything comes out correctly. Generating footprints, managing the BOM, noting the placement of each component and its rotation are all integral, if boring and time consuming steps.
I’ve found many useful ULPs (User Language Programs) in EAGLE, one of my CAD packages. These have saved me time and errors, resulting in better schedules and costs for my clients. I’ve shared a few of them in my latest element14.com article: