I’ve wanted to design a PCB for years. This autumn I finally did: a small board with a USB-C connector, a 3.3 V regulator, a microcontroller module, and a temperature/humidity sensor. Designed in KiCad 9, ordered from a cheap fab, assembled by hand.
It powered up and talked over USB on the first try. A few things still went wrong.
Things that went right
Using the fab’s design rules from the start. Before routing anything I entered the manufacturer’s minimum track width, clearance and via sizes in Board Setup → Design Rules. DRC then catches problems while routing instead of at the end.
USB-C CC resistors. For a board that only sinks power, each CC pin needs its own 5.1 kΩ pull-down to ground. One shared resistor or none at all and a proper USB-C charger won’t give you 5 V. I double-checked this three times and it paid off.
A ground pour on both layers, stitched with vias. Routing got a lot easier once I stopped drawing ground traces.
Things I’d do differently
Check footprints against the actual part. The footprint I picked for the USB-C receptacle was for a slightly different part number. The mounting pads lined up, the signal pads were close enough to solder, but only just. Now I open the datasheet’s land pattern next to the footprint before placing it.
Silkscreen is not decoration. I didn’t label the pin header or mark pin 1 on the sensor. Future me, holding the board with a multimeter, was not impressed.
Test points. I had nowhere convenient to clip a probe for 3.3 V and ground. Two small pads would have saved a lot of awkward probing.
Workflow that worked for me
- Schematic first, with every footprint assigned and checked.
- Run ERC and actually read every warning.
- Place connectors and mounting holes first, since they’re fixed by the enclosure.
- Power and ground, then the rest.
- DRC, 3D viewer, print at 1:1 and put real parts on the paper.
Step 5 sounds silly. It caught the USB-C footprint problem, just too late because I skipped it the first time.
Next board: same thing, smaller, with the fixes above, and maybe a battery.