This PCB is brought to you by Fable 5(a6mzero.com) |
This PCB is brought to you by Fable 5(a6mzero.com) |
> Yes it does suck that the joy we had while building has been sucked out of us
> For my hobby projects tho, I will continue to YOLO it and build stuff fast without necessarily knowing about the details.
I don't understand this conclusion. LLMs sucked the joy out of it, didn't feel rewarding, you're forced to use them at work, so you decide... just keep doing it at home, too? Why not actually learn to build a proper PCB knowing you can do much better than this horrible (despite being dead-simple) board that only got there with the help of your expert colleague's guidance anyways? Don't succumb to utter laziness and deny yourself the satisfaction of learning new skills, that's letting the thing rot your brain out worse than any TV ever did.
"PCB is brought to you by Fable 5" is pretty different from "This PCB is brought to you by Fable 5". Maybe you could do "PCB brought to you by Fable 5" if you are really against articles? Let's have a Fable 5 censorship agent or something...
It's in fact opening up too many opportunities to us humans. It's never been this easy to acquire information and accomplish things.
But: the PCB itself is not looking beautiful in terms of routing and a lot of schematic details yet. Horrible to to be more honest. But that's a minor issue.
I'm not overly shocked. 90% of creating PCBs is copying reference schematics from vendor datasheets and connecting them. That's LLM territory. This mostly failed for now as they just did pdf2text and killed all documents.
The last 10% are brutal (HF, EMC, high frequency multi-layer designs, etc.). But I managed LLMs to automatically create ngspice models using vision onto datasheets.. lol
It just sends the PDF to Gemini Flash and asks it to extract semi structured data (semi structured in the sense that it's not fully structured extraction, but its a JSON file to feed into the next step of the LLM design process).
Works pretty well in general, though I should update to the latest Gemini version.
The printing has been around for ages now, still people master calligraphy.
Claude (web) saved me a ton of money with a new hobby. I was curious about astrophotography and had a budget to fill in any missing pieces from my existing photography kit. The conclusion was basically: "get a $20 intervalometer and a wall-wart battery[1]. The lenses you've got are fine, the tripod you've got is fine, and hey good news, Jupyter and Venus are near conjunction so if you can find somewhere dark where you can shoot to the west, you can get a pretty cool timelapse this weekend"
Later on also provided some rough guidelines for the partial lunar eclipse that resulted in some pretty amazing photos.
Since then I have been doing a bit of research on getting a real mount, so that initial budget will probably get used, but it'll be a) for kit that I genuinely don't have yet and b) spent after I've already confirmed that I thoroughly enjoy going out and photographing the stars for hours and then stitching all those photos into timelapses or other neat stacks.
[1] I'm not sure what the right name is for this. One end is battery-shaped but has a wire that plugs into a wall-wart instead of having to switch batteries. I had an existing 500-Wh 120V battery bank thing and it was more than enough to run the camera for 6 hours.
Of course, for readers here with a solid grasp on how LLM's operate it's not exactly surprising. Still, I feel this is exactly the kind of thing that drives home that the way we reason about (general) intelligence does not map cleanly to LLM operation, no matter how advanced the current models are.
At this level of board complexity you almost have to try to make it completely non-functional, so although it is nice to see it in practice I am not exactly surprised that a LLM with a decent bunch of assistance managed to do it. But there's quite a gap between the equivalent of poorly copying a "Hello World" from StackOverflow and making actual production-ready boards.
[0]: https://pip-assets.raspberrypi.com/categories/1214-rp2350/do...
[1]: https://jlcpcb.com/blog/how-to-design-layout-with-rp2350
A standard benchmark using kicad to create or fix electronic designs would go a long way in motivating and measuring improvement.
We've got some time.
Currently the major mistakes that AI makes: 1) Improperly rotated connectors (backwards USB port) 2) Endless routing loops for complex boards 3) Really huge/unreadable single page schematics
I'm extremely bullish on AI for PCB design, but there is a huge, huge tooling gap. We basically need to soup up all our collective design rule checks so that AI can work in corrective loops. It needs to check for things like "opamp schematic layout conventional" and "trace width closely matches reference design for chip". One thing that makes me super excited is supply-chain resiliency when chip/subcircuit-swapping becomes super easy
I'm not exaggerating when I say that "which way is up" is an unsolved problem right now. Getting the industry to adopt a standardized manufacturing file format and standardized files describing things like footprints and pinouts would be a massive breakthrough. Let's start with that.
Instead of directly generating Kicad, I chose to let it write "generators" in Python that output Kicad (S-Exps!) pcb and project - with mixed results - but I can generate a version with/without per-key Neopixels and customize certain parts of the board, including debug-stuff. I also _think_ this makes it easier to resume working on this in new sessions but not sure. Otoh, I never actually looked at the Python (vibed...) so it's still a lot of hard-coding.
I also landed on and used KicadRoutingTools after trying FreeRouting, combined with some minimal "auto-placing" code for larger ICs and such that are placed with certain constraints. My routing runs are way slower though - on the order of minutes.
I always wanted to try atopile - that might be a good match for AI/PCB work. The only thing that really held me back was the lack of routing.
Unfortunately all public open source work halted 6 months ago and they pivoted to a browser based IDE product to monetize: https://atopile.io/blog/atopile-v16
It seems to me the first problem with AI in PCB design is that there isn't much in the way of machine friendly interfaces for the work. I watched Codex last night generate 3d renderings in Kicad to check the layout.
Those models were not capable of even schematic editing or building. (I didn't bother with routing or placement). They made gross errors all over the schematic; changed the known-working parts and net routing I'd copy+pasted from previous boards, changed I2C to SPI for no reason, and generally produced an unusable, unreadable result. Overlapping symbols and labels etc.
Was non-trivial (e.g. days and days of cumulative work) but worked with Codex to build up a parametric generator where I could adjust the star size, number of rings, leds per ring. It did all the LED-to-LED routing, panel layout with mouse bites, placed decoupling caps. At the time Codex wasn't as good at spatial reasoning, I expect that Astra would do this much faster.
4 x layer PCB with GND and 5V inner layers. WS2816B LEDs (not available in strips yet). 3D printed a frame so that two stars could be opposite each other (video shows only one side). ESP32 S3 on a 3.3v to 5v shifter board sandwiched in between. ESP32 wifi antenna pokes through and sits on a keep out section. Received control signals from a central controller via ESP Now.
What exactly did the LLM do, write a generic generator for stars of different size and number of rays?
However checkout EDA tools https://github.com/l3wi/claude-eda/ https://github.com/drandyhaas/KiCadRoutingTools
https://github.com/drandyhaas/KiCadRoutingTools/blob/main/do...
I'm curious if this even works at high speed though I'm seeing what appears to be length-matched traces. Is the tool using an EM simulator in the process?
My first attempt on a low-speed not-dense board came out OK. There were a few odd choices, but I don't expect perfection from auto-routers. If nothing else, auto-routers are a good way to double-check that your floor planning is OK, even if you then rip up the auto-routed traces and hand route them instead.
There a lots of things that can be subtly wrong, and it gets much worse as your signal frequency increases, or you have to deal with high power/radio/etc. The model (agent) has no way to validate its work.
That said, without experience it's easy to pierce the veil of "simple circuitry" by accident, just like in XKCD: Tasks[1].
Looking at preview of the author's next project at the end of the article, I'm not so sure the same strategy will work. The board is probably two orders of magnitude more complex. Without knowing the circuit details, I see many red flags (randomly placed ics and decoupling, likely wrong length matching, random thick traces indicating lack of foresight on power distribution, backwards connectors, the probably unnecessary use of BGA footprints, etc).
It would be an interesting step to get Claude (or other LLM) to do order the PCBs itself on the JLCPCB website.
We're nearly at the stage where you can describe what a device should do, let it design the circuit (using available components on JLCPCB), design a PCB and enclosure then order PCBs, assembly and 3d printed enclosure and get it sent to you for final assembly.
Once you have initial design (what chips to use, what each of them needs in terms of other components etc.) the schematic/PCB isn't the hard part but it is the hard part for the AI.
It's great at stuff that humans take a lot of time like say "get me buck converters in that range of voltage in power, and put price of chip and supporting components in the table", and at least in not heavily analog designs, finding chips that fit the purpose, are available and in price range is good part of the work
It's funny, I made a CM5 board for my N40L not too long ago https://www.youtube.com/watch?v=AzW4rRsD8Uk
Was sol5.6 good enough to do the actual HDMI / PCI-E and USB 3 Routing ?
I feel this as well.
Related - Apparently this website is also "Brought to you by Fable"!
It's very interesting how this occurs with any "website builder" - Squarespace, Wordpress, Wix... and now Claude + GPT!
The elements look like every powerpoint I've seen in the last 6 months. Every report. Every internal document. It's all converged with similar typesetting, image / diagram placement...
To me, the verbiage is the big one, this time, where it takes all the personality out of a site and essentially devoids it of any meaning. I am NOT saying that this post is AI generated (it very likely isn't), but a site that has all of those qualities is useless to me and devoid of any meaning, repulsive actually.
I built a project board nearly identical to this one a few years ago, and this seems about right. I don't think the displays themselves are included in the 130 euros. They can vary a lot in price depending on spec and supplier.
It's always fun to get apologies from LLMS. I love it.
I'll check the newer models as soon as possible to see how much improvement they provide.
Why is this even required? I'll never understand this mindset. Because something came "easy", doesn't mean you haven't done anything meaningful to do it.
I'd say there is more people that you can count that wouldn't be able to do this task even if the AI was literally guiding them by hand.
I'll try to write up a post if I get it all working. Probably even if not... publish your failures and all.
Heh, tongue firmly in cheek: there's a good reason to change from I2C to SPI. I2C's pretty shit in comparison :D
More seriously, I've had interesting mixed results. I had a hobby-maybe-commercialize-next-year Christmas lighting project that I started in March (if I start in March, this will definitely be ready for Christmas!) and got 90% of the way there... and then life got busy and it's sat there untouched with the holiday season coming up again quicker than I'd like. I threw Fable at it first to assess what's done, not done, look for schematic mistakes/improvements (it rightfully pointed out that the cheap LDO I was using was near its limits and suggested a better part).
Opus did a reasonable job of swapping out the LDO, putting reasonable values on all of the pull-ups/pull-downs, etc. Some of the labels did end up in slightly weird places and needed some manual correction. It also did a decent job of floor planning on the PCB side, but pretty much refused to do any routing other than power traces.
I've installed https://github.com/drandyhaas/KiCadRoutingTools this morning after seeing this article last night... we'll see how this goes. My first manual attempt at running the router did decent but it failed a bunch of DRC spacing rules and insisted on via-in-pad to make it all work. That's, I think, a side effect of Opus's floor planning. It's interesting to play around with to see what's good and not.
I should also give layout/routing a try. My thought was, schematic design, from the perspective of what LLMs are good at, seems like the much more appropriate/easy tasks, so if it's failing at the basics there... I think I also experienced some consternation at patterns I've seen in real PCBs like a section dedicated to bypass caps that have no context of what pins they go to. (e.g. power connected to ground).
And I gave it a board that had a mixed of components/routing that I have used successfully one or many times, and parts that I am unsure about/don't know how to use and wire. Me seeing it make substantial changes to the known-working parts (My stake-in-the-ground), I got very nervous!
Also used LLMs to try to figure out how to flash/debug it. The setup I normally use (Tac-Connect ST-Link 6 pin + Probe-rs) won't work here; it's cortex-m, but their official guides indicate they want you do use a Segger J-Link, which I'm not ready to pay for at this point. It is a very expensive thing. So I'm going to try an NXP MCU-Link Pro. The St-Linkv3 I've been using will likely not work.
I'd expect that upcoming models will be increasingly better tested and developed for this workload from now on.
Edit: actually, one interesting thing to consider about routing vs. schematic design: my general experience with LLMs is that things work best when there's a feedback loop. On the schematic side, there isn't really much of a feedback loop; nothing will tell you that you've e.g. flipped the + and - terminals of your Opamp.
On the layout side, you've got the ratsnest and DRC to tell you whether you're winning or not. That might be the key to making LLM-based routing work. Opus refused to hand-route my whole board yesterday but is currently using the KCRT tools to do the routing and things seem to be progressing well.
https://atmosic.com/products_kit_atmevk-3430e-yqn/
Is this not it? They even have the .pcb file if you download the full board doc which I believe is everything you need.
This is a lot more than I thought you'd have to work with given your description. Full schematic, user guides, datasheet
I also thought we had time.
Anyway just because AI sales people continually jump the gun doesn't mean AGI is never going to happen. It just means you just have to try the models yourself to see how good they really are, which I have done. Astra is really freaking good. (If you aren't paying.)
I suggest you give it a try and base your opinion on that.
I think the key is that you give it all of the info - put all the docs, the LRM, tool manuals, etc. in a directory so it can read it if it wants (it really really wants).