Atopile – Design circuit boards with code
17 comments
·July 13, 2025yodon
themgt
This project looked like an interesting example of what was possible: https://github.com/atopile/spin-servo-drive
https://github.com/atopile/cell-sim/ also quite interessting.
ted_dunning
AdamH12113
That example puts silkscreen reference designators on component pads, which is... not great.
kitd
You must have given up pretty quick."ato Language" in the left-hand navigator under "Essentials" is pretty obvious.
eigen
title says design circuit boards, but it looks to just be netlist generation which is used as input to an external layout tool. step 5 is to use kicad to do lay out.
https://atopile.io/atopile/quickstart#a-typical-workflow
A typical workflow
1. Sketch your circuit on paper.
2. Search https://packages.atopile.io and GitHub for pre-existing modules you need, and use ato install to install them.
3. Design a module and do its calculations using ato code.
4. Run ato build to compile your project, choose components to suit your design, and update your layout (PCB) file.
5. Use KiCAD to lay out any changes
6. Repeat steps 3-5 until you’re happy with your design.
7. When you’re done with your design, push your changes to your repo.
8. CI will automatically build and test your project, and generate the manufacturing files you need to order your PCBs.
9. Take these manufacturing files to your PCB manufacturer to get your PCBAs.
amelius
It still makes sense though. In many cases, especially in digital design, circuits look like islands of isolated components where the labels are actually defining the connections between them.
imtringued
I would agree if manufacturers bothered to provide machine readable data sheets [0]. If you have to read the data sheet and manually write your component definitions, then this won't be much faster than doing it with a GUI.
[0] To be fair I'm not a professional electrical engineer, maybe there are expensive databases that I don't have access to. I personally always thought that EDA tools have a natural business opportunity where they give you the razor for free (the EDA software) and sell you the razor blades (e.g. part libraries).
amelius
For some more context, here is a typical example:
https://dl.espressif.com/dl/schematics/esp32_devkitc_v4-sch....
delfinom
Most semiconductor vendors have now outsourced library creations (for free to end users) to services like UltraLibrarian where you pick what you want and download.
The quality however is meh.
Libraries are a very touchy subject. Most of the time, outsiders to the field just want "plug and play".
Professionals in the field? Holy fucking hell can we get neurotic. In a large company you may have more than one person dedicated just to managing libraries and drawing them to your standards instead of letting the internet do it. And there's a whole list of reasons why one may do it vs. not do so. (Schematics are a form of design expression and as such there are many standards and thoughts on optimal forms of expression, including dependency on the particular sub-industry you are)
No different than software engineers having their favorite programming language, markup language, config file language, code style guidelines, deployment workflows, etc.
iamflimflam1
I’m did some vibe hardware design using atopile recently - it’s surprisingly good. https://youtu.be/UQCpDarEoBc
null
tomhow
Previously:
Show HN: Atopile – Design circuit boards with code - https://news.ycombinator.com/item?id=39263854 - Feb 2024 (292 comments)
amelius
My reaction to the first comment would be that for more flexibility you could write a Python script to generate the .ato netlist.
ted_dunning
Sure.
But that flexibility means that you lose a lot of common constraints that are actually desirable.
If the important thing is "with code" then show me the code.
I gave up hunting through your website because I never managed to find an example of what the code for a real circuit looks like. That should be front and center on the first page.