Live data from Hacker News

Show HN: Atopile – Design circuit boards with code

news.ycombinator.com

121–130 of 300 posts

Re: Show HN: Atopile – Design circuit boards with code

#121

Absolutely love this, always wondered why there wasn’t a nocode for hardware that outputs a gerber.

> always wondered why there wasn’t a nocode for hardware that outputs a gerber. Because hardware tends to be informed by messy physical factors which are hard to represent programmatically. Think along the lines of "the cables are coming from this side of the board", or "buttons need to be reachable by fingers", or "if you're building a weather station, the temperature sensor should be far away from components that g…

For sure, there will always be some 'user' type requirements that we need to build a way to input, for starters it will be something like a lock file with component positions of things you need in a particular spot. I see alot of value in automating things you just dont care about, particularly if 'sensible' rules can be applied. For example if the tool could automatically determine trace widths, not just at a net level, but for each link based on how hot you were happy for it to get and what loads it would see.

Re: Show HN: Atopile – Design circuit boards with code

#122
post #120

The final part of the demo shows the output of the automatic build as something you can upload directly to a PCB manufacturer. How does this work given the output of the compiler is a netlist, not a PCB layout or Gerber file?

There are actually two steps to the design process:

- First, requirements. In ato, you define how your circuit is connected and the requirements for the components that sit within it. From there, we generate a netlist and a BOM.

- Second, the netlist is turned into an actual object during the layout operation. We use KiCAD's layout tool in our case. There are infinitely more dimensions in the real world than there are instructions in a computer. So we do need that second step to point the requirement to one implementation in the real world. But technically there could be a quasi infinite implementations that fit the requirements written in ato.

The manufacturing files are a combination of the ato output files, like the BOM and the KiCAD output files, like the gerbers.

Re: Show HN: Atopile – Design circuit boards with code

#124
post #99

Unless I'm missing something, this is not circuits-as-code, it's just circuits-as-text. It's basically a non-standard way to represent a netlist, and to hang metadata off that netlist -- which is, to be fair, quite cool and useful. But take the example from [0] of a voltage divider. I agree that that is a textual description of a voltage divider that can be compiled to a netlist, a BOM, etc. But what is the actual di…

Had a play here for equations: https://github.com/atopile/atopile/blob/tim/equations/sandbo...

This is great. The pragmatic bit that makes it a bit more challenging (or, perhaps, a bit more of a search optimization problem than analytical) is that most of the cost functions are step functions. Once you need better than 10% tolerance on a resistor, you might as well step down to 1% -- available tolerances are discrete, and 5% and 2% tolerance parts are rarely cheaper than 1%. Similarly going to 0.1%. So once it's clear that preferred_tolerance_N is not going to solve, you can assume preferred_tolerance_N+1, and then push that through -- and hopefully push a few marginal parts up a bucket. There's also a similar step-function cost for adding a new BOM line, especially for hobby-scale projects; this is a project-global optimization, where I might change a 10 kΩ / 2.2 kΩ resistor ladder to 6.8 kΩ / 1.5 kΩ if I already have 1.5 kΩ, 6.8 kΩ, and 10 kΩ in my BOM but would otherwise need to add 2.2 kΩ (assuming everything else still solves, of course; more likely than not, since we usually don't care much about the total resistance of a ladder, as long as it's stiff enough, and doesn't leak too much).

Re: Show HN: Atopile – Design circuit boards with code

#126
post #6

Very nice! The state of electronics tooling has long been extremely bad - 99% of people who put a regulator into their schematic will want an appropriate input and output capacitor as the datasheet demands. 99% of people who put a microcontroller will want a crystal and a programming port and a reset pin pull-up. It's only because of closed source tools stuck in the stone age that the state of the art is to copy out…

Yeah, trying to learn KiCad is worse than learning Blender. If JLCPcb made a simple online editor that sourced from available parts and integrated directly with their store they'd be running out of banks to put their money into.

Re: Show HN: Atopile – Design circuit boards with code

#127

Earlier quoted context omitted.

Maybe one day, but I’ve asked the various models basic EE interview questions, and it’s painfully obvious that while it can make a paragraph that has the right words, it’s incapable of reasoning spatially, or describing complex connections. My job is secure (for this year).

I have noticed a huge improvement in ChatGPTs coding abilities having an interpreter to check its work. I expect we will be able to bring a similar feedback loop to hardware once we can integrate things like simulation and equations. Also having modules that are tricky to configure incorrectly.

The performance of ChatGPT (4) changes frequently. Lately it has been crazy good. I fed it a non-trivial but naïvely written (and thus slow) numerical algorithm written in Python yesterday. I then told it to vectorize, which worked and was both correct and several orders of magnitude faster. Then parallelize. Faster yet, and still correct. Pretty amazing.

Just an anecdote.

Re: Show HN: Atopile – Design circuit boards with code

#128

Fine tune an ai on the docs and you've got a new company of AI generated circuit boards

For fun I did have a play with GPTs doing a little fine tuning on some ato code. Definitely not my domain, but pretty amazing how quickly it kinndaa worked. Our focus at the moment is building out the layer that designers (human or otherwise) can operate on. I do think that we need some pretty solid testing infrastructure for us to get to a place where we would ship 'black box' pcbs. Maybe one day.

Re: Show HN: Atopile – Design circuit boards with code

#130
post #124

Earlier quoted context omitted.

Had a play here for equations: https://github.com/atopile/atopile/blob/tim/equations/sandbo...

This is great. The pragmatic bit that makes it a bit more challenging (or, perhaps, a bit more of a search optimization problem than analytical) is that most of the cost functions are step functions. Once you need better than 10% tolerance on a resistor, you might as well step down to 1% -- available tolerances are discrete, and 5% and 2% tolerance parts are rarely cheaper than 1%. Similarly going to 0.1%. So once it…

Hadn't thought about the BOM line one but that definitely makes sense. The implementation I linked is definitely math heavy but might actually not be the best idea. As you say, the cost functions has steps. For less than a given amount of components, random search might be suited. Past that point, we might use maths to constrain the problem and then search within that range.

We have equations at the top of our todo list and hope to get there soon :) Matt setup a roadmap here with things we want to work on: https://atopile.io/roadmap/

Post reply on HN