Hacker News new | ask | show | jobs
by contingencies 1123 days ago
A very simple thus unconvincing demonstration.

Real world board designs usually have critical placement, mechanical, EMI, test, assembly, anti-RE, supply-chain or other business-level constraints.

Without evolving the fundamental requirements definition to a language that holistically allows the parametric expression of these factors, generated designs are unlikely to meet real world needs in most real world (non-trivial) use cases.

2 comments

Thanks for the feedback. There's definitely a lot more that goes into a serious design. I purposefully chose a simpler design to experiment with automating the easy but repetitive stuff.

To address a few points and how software-defined electronics actually does make sense for it:

> critical placement You can use a `place` command to exactly place things wherever you want.

> mechanical Use board outline functions, `place` commands, arbitrary shapes, 3D component shapes, etc. to meet these needs. You can export a STP and send to your mech team for validation.

> supply-chain Parametric search query function allow designers to specify only as much information as they need about a component (e.g. 0402 10k, but not MPN) and the system can pick the best component at compile time that is in stock with necessary quantity available.

Yeah, but it's a good starting point for an MVP that reduces a lot of the tedious bullshit (like calculating LED resistor values). You can always re-route paths and replace components when you're going from MVP to product based on your constraints.
I am not convinced that it is actually faster, though.

The tricky part of PCB design is getting the right data: pre-made footprints are wrong more often than not, and automatically retrieving things like a LED's forward voltage or current are just a pipe dream.

Doing the actual calculation takes you all of 10 seconds, and you only have to do it a few times for basically any board. Writing the shown code would probably take me longer.

Right, if it was a part of an existing design tools, but this appears to be entirely separate thing ?

In most cases the "fiddly things humans" do appear more in more complex design. Keyboards and LEDs matricses like this are kinda edge case, in most if you have that many parts you have to be careful, especially if it is mixed analog/digital design.