Ah this reminds me of my first big mistake with PCBs. I have recently started down the hardware track, and my first PCB has a number of BC547 and BC558 transistors on it.

Once I had a functioning prototype, the next step was to convert it into a schematic. After that, you have to convert the schematic into a PCB. Now we are at two layers of translation, and at this step I made a mistake: I wanted to use SMD components to save money, and I found that the BC8xx transistors are the SMD equivalent of the BC5xx ones, so I used the footprint of the BC8xx transistors in my PCB, with no errors from KiCad.

As it turns out, the BC8xx footprint is not compatible with a BC5xx schematic! The pinout is different: the base is pin 1 instead of pin 2, so the components in my PCB that use transistors (crucially, the voltage controlled amplifier) didn't work. Unlike a bug, that mistake cost me $200 and weeks of development time, but after 10+ years of writing software I'm still happy to be making things that people can touch.

We've all done that sort of stuff!

Mine was assuming that the stripe on tantalum SMD capacitors was the negative side. First prototype board came back from the fab and pick and place department (we had it in house). Immediately caught fire when I powered it up :)

Second lesson, start with current limit on your bench supply, not throw 10A into it :)

[deleted]

I've been an EE for a decade and I made this exact mistake last week. It's inevitable lol

You can catch it with a footprint review. List all your new footprints or old footprints assigned to new parts, and have someone else check them against the datasheets. Or if you ever have the good fortune to work with a very good layout designer, they will check things like that for you just to catch you out.

I've seen such things pass through multiple layers of review. It's the kind of thing everyone knows to look for but takes a lot of effort to catch.

I haven't managed to design a pcb without finding an issue in the first run.

Shoutout to OSHpark's prototype service. Something like 5 bucks an inch and you only have to toss out 3 if you find a fault.

Write a list of everything that you fuck up every time, check the next one against it and eventually you get a good one first hit. I had three in a row that worked out of the box in the end!

Printing the board outline and layers combined as well. And checking you used the correct footprints against actual parts helps.