Re:Show HN: Atopile – Design circuit boards with code
by 4b11b4 on Monday February 05, 2024 @11:04PM
(#39270638)
you can do this with the Freerouting plugin
it's non-trivial, you need to fiddle with parameters to encourage the autoroute towards certain behaviors. there are also some schematic patterns that lend towards better netlists and in turn better routing
Re:Show HN: Atopile – Design circuit boards with code
by fxtentacle on Monday February 05, 2024 @11:57PM
(#39270946)
In general, yes, but when I tried it, all free autorouters (and the paid one in Altium) failed to do the fan-out/escape of the ESP32's BGA.
I then built a little CLI tool which used bitmap images and ConvNets to do just that one fan-out, but then I lost interest in it as soon as the PCB was finished.
Re:Show HN: Atopile – Design circuit boards with code
by ranger_danger on Tuesday February 06, 2024 @12:22PM
(#39277287)
I really wonder why autorouters are so bad/slow still, I at least understand the high level concept of what it should be able to do, and I would think that with enough input parameters, this shouldn't be that hard of a problem to solve, especially with how easy it is to deploy tasks across lots of powerful machines for (relatively) cheap these days.
Re:Show HN: Atopile – Design circuit boards with code
by Timot05 on Tuesday February 06, 2024 @01:50AM
(#39271526)
Autorouting would for sure be a valuable tool to add to EEs toolchains. The reason we focused on the language first is because it is critical to provide high quality information to autorouter for them to do a good job. And achieving that with a schematic is tough, as it only captures part of the information required to doing a good job laying out the circuit. A bunch of information is currently implicit.
Re:Show HN: Atopile – Design circuit boards with code
by pjc50 on Tuesday February 06, 2024 @05:36AM
(#39272863)
Not just routing, but from a cursory reading of atopile I can't see how they've even addressed floorplanning?
The physical positioning of big components or IO is usually an important requirement that needs to be frozen early on, so that mechanical design on casework can proceed in parallel.
What stops electronics from becoming like programming is the routing. It's NP hard and even the big car companies haven't solved it yet, let alone any tool accessible to hobbyists and startups.
So you spend an hour designing the schematics, a few minutes placing the components, and then hours doing the routing by hand. If your product only replaces the first step, that'll save me at most 10% of the work.
If you want to make a crater in this industry, add an autorouter to KiCad and make it sophisticated enough to handle an ESP32 2-layer board without manual assistance. Altium is like $15k per year and cannot do it yet.