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.
https://us.artechhouse.com/Bogatins-Practical-Guide-to-Proto...
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.
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 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.
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.
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.
That's nothing that can't be incorporated into an auto router.
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!
Perhaps one exists, I don't know as I try to only use open source.
But yes ... probably not open source.
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.
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.
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 feel like somebody could have a academic career based around that
- 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...