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

  1. Schematic first, with every footprint assigned and checked.
  2. Run ERC and actually read every warning.
  3. Place connectors and mounting holes first, since they’re fixed by the enclosure.
  4. Power and ground, then the rest.
  5. 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.