Hacker News new | past | comments | ask | show | jobs | submit login

I held off doing PCB stuff for a long time because the tools seemed incredibly complex and intimidating, and now I wonder how I ever did anything without it. The things I wish someone had told me:

- all a PCB is, is a flat version of your hand-wired prototype - all those crazy lines are just the wires - there's no special hidden EE magic until later

- the schematic editor shows your intent

- the pcb layout editor shows where things go

- the hard part is actually just finding schematic and layout editor files for the components you're using - github search is great for this

- you will make lots of mistakes and need a few goes - everyone does, debugging is half the fun, don't be afraid

- online PCB houses make those mistakes cheap

Things I have made with little more than introductory-Arduino knowledge:

- A wearable bluetooth ring: https://twitter.com/gmurphy/status/1372368637332389888

- A hall-effect volume control knob for my PC: https://twitter.com/gmurphy/status/1179831446204121088

- A long range garage door opener: https://www.instagram.com/p/B11m1y5J3qc/

- And currently working on a keyboard: https://twitter.com/gmurphy/status/1443048243101777921

Also, the debugging step for me got orders of magnitude easier when I got a set of PCBite probes - just drop them on and they mostly stay in place. e.g: https://mobile.twitter.com/gmurphy/status/136575328654495744...




Unless you dealing with things where signal integrity matters any drawing program with fixed dimensions that you can reliably print from whilst maintaining dimensional accuracy if you are using the print and transfer method works well.

CAD software for PCBs becomes a must when you need to deal with a lot of components in odd sizes/package formats, you need auto routing, being able to simulate resistance, impedance or clearance for high voltage sections of your PCB or when you actually need to get your PCB manufactured by a 3rd party that has specific requirements for file formats etc.

And even then some of these 3rd parties allow upload of graphical formats for the trace and solder mask layers.


Good news, signal integrity guru Eric Bogatin has just released a guide book on circuit prototyping and PCB design fundamentals that can become an instant classic in the field:

https://us.artechhouse.com/Bogatins-Practical-Guide-to-Proto...


> - the hard part is actually just finding schematic and layout editor files for the components you're using - github search is great for this

I recommend learning the symbol and footprint editors as early as possible. Creating your own footprints is a good way to force yourself to go through the data sheet and understand what each pin does, too.


yup, once you "get your hand in" and only focus on the correct footprint/pad layout and a little silk, it becomes faster to just sketch out parts with fewer than 32 pins than finding (and validating!) random libs


As other here have said, this is very good advice.

Early on I tried to only use components in available libraries. That was a mistake. Start doing your own footprints and symbols from the start


I second this. It can be tedious but for some parts you won't have a choice.


Also: the Autorouter in Kicad is actually pretty useful ... if you use it as a tool, not as a magic problem solving machine.

I normally place components somewhat randomly, big chip in the middle, connectors at the side, small stuff close to where it belongs ... then hit the autorouter, look at the result and move around some components, hit the autorouter again, rinse repeat ...

In the end I'll end up with fairly good looking PCBs (e.g. https://imgur.com/a/rUGtBNa) without having placed a single line myself.


Yep, autorouter makes easy work out of hard stuff. Folks who tell you not to use it haven't spent much time using one or are working at a very different level of polish. It's super convenient to draw some important power traces and let the router do its best with signals. If it's taking too long, you start rearranging.


> the Autorouter in Kicad is actually pretty useful...

For most toy projects it’s perfectly sufficient, but once you get into complicated stuff it will bite you back.

Using an auto router is like building your software by copy pasting from stack overflow indiscriminately.


An autorouter is perfectly fine for whole classes of electronics. As a basic rule, if you'd happily assemble the circuit on a breadboard or with jumper cables and not worry about signal continuity, the autorouter will be fine.

It's only when you get to higher speed or higher currents that an autorouter won't have the context needed to effectively route the circuit.


But that's strange, isn't it? Higher currents basically just require wider traces, higher frequencies require very specific trace lengths.

That's nothing that can't be incorporated into an auto router.


I think I should have added the caveat "with the typical information we give it".

I suspect that if we made enough effort at the schematic stage to properly annotate all the nets and define the types of signals flowing around the board, an autorouter could do a superior job to a human (from an RF emissions and trace current sense).

I've never seen a schematic with that level of annotation though. So as long as the person doing the layout has to use external knowledge of what they're laying out, autorouters will struggle.

In theory you could make EDA software which incorporated a full circuit simulation which was then fed into the autorouter to provide a layout optimised for low-EMI and high efficiency. That would be nice!


Yea - I wish I had the time to write one which understands differential impedence, matched lengths etc.

Perhaps one exists, I don't know as I try to only use open source.


I am pretty sure that I saw some ads for a commercial PCB cad program that showed functionality for exactly that.

But yes ... probably not open source.


I didn’t get the sense the autorouter was used anywhere near as often as that.


I don't think it is ... and I think some it is some sort of "get of my lawn"-ism. I passed a degree in electrical engineering at some point (haven't used it too much after that), and "don't use the auto-router" is basically what is taught from day zero.

So ... while I can't say anything about PCB design in industry ... I can say that I tend to use a auto-router for my small DIY audio projects and it has never really failed me.

And ... if auto-routers are not used in the industry ... maybe that is something somebody on here should "disrupt" ... computers have become just too powerful not to be combative in solving some constraint path finding problems.


I tried using the auto-router in KiCAD on my last <simple hobbyist> design and realized that it had been removed from KiCAD.

There was some external package that could do it, but at that point “screw it, I can route this board faster than reading the docs on how to deal with the autorouter” took over, especially since I couldn’t be sure anything I learned for this project would still apply for my next project if KiCAD later re-added an autorouter.


i use the Eagle one at the end of my routing flow:

first drop VCC and GND vias if you're using power planes, then route chunky power traces, route high-speed / differential pairs, finally autoroute everything else

on some boards, only 3-4 signals aren't power or something tight, but for LED Matrix boards with thousands of criss-crossing low-speed signals and other 'fun' projects with hundred of components (keyboards!), the autorouter is really the only way to go if you want to be done in a night or two


I loved Eagle until Autodesk bought them and turned that product into a subscription. Now, I’m locked out of my old designs. Fool me once, you’ll never get my money again.


Sad but true ... Last time I checked they still had the old standalone hidden on their web pages somewhere ... might be enough to open and convert your projects.


Kicad has an autorouter? Are you talking about FreeRouting?


Yep ... It's not exactly integrated, but usable.

I feel like somebody could have a academic career based around that


That PCBite probe setup look nifty indeed, thanks for the tip (pun intended)!


Thank you for sharing tour experience with the topic, i was wondering: where whould somebody start if all they know is basic circuit theory?


Just start a small project and figure out how things work on-the-go :) My first one was a small PCB to control a RGB LED strip using three potentiometers.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: