Rendered at 22:01:27 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
rutierut 9 hours ago [-]
After the OAI demo, like many others, I tried to use KiCAD through computer-use. This doesn't produce great results.
I have found the best results through a mix of Happy[0], this repo, and computer use to fill in the blanks.
It is _really_ good at the stackup and part config, but creates some absolutely terrible routes. It will snake tiny traces through some SMD pins even though there is plenty of space available outside of the component. When it hits an obstacle, instead of creating 2 45 degree turns, it does 10~30 small ones creating some sort of weird crooked arc.
I have produced a couple of boards for testing this way and they are generally functional.
I have tried KiCadRoutingTools[1] as well which does seem to create routes that make more sense.
Anyone any better experiences with these or similar tools?
Why bother with computer use at all? Did you DRC it?
I did this months before that OpenAI demo, and produced a product that many people are using without knowing it was an AI designed PCB.
It ran using kicad completely headlessly from a terminal with a bit of python and DRC'd it in a loop until it passed. I sent it to PCBWay and it worked the first go. It did take a bit, but if you just set a goal and let 'er rip the LLM gets there in the end.
Would a real EE vomit if they looked at it? Maybe. Does it work? Absolutely.
ryandrake 7 hours ago [-]
I think “it works” is a very low standard for any creative work you set out to do, professionally or as a hobby. Possibly the lowest standard. We should aim higher in all things.
oscillonoscope 41 minutes ago [-]
Anyone can build a bridge that stands, it takes an engineer to build one that barely stands.
cinntaile 6 hours ago [-]
He released a product, not a PCB. For him that's probably not the part where his creativity is focused on.
varispeed 5 hours ago [-]
Believe it or not "it works" is actually incredibly high standard. Many commercial products are released after meeting the "I can't believe it works" threshold.
mapontosevenths 4 hours ago [-]
FWIW - I agree, generally.
However, capitalism demands it and we all have to compete. Look at the fortune 100. How many of those companies produce finely crafted artisanal hand-made things of beauty designed to last for 100 years and be passed on for generations?
The truth is that people say they want quality, and then buy the cheapest thing they can find that works for today. It has always been, and will always be this way... At least until/unless we find ourselves in Treks post-scarcity, fully-automated, luxury communism.
In the meantime I try to apply my limited time on earth as effectively as I can, but putting the most work into the place where it will do the most good.
someguydave 6 hours ago [-]
Ok good luck with taking that attitude to the marketplace
We have developed something similar inhouse (a CLI tool for agents that has a few dozen utilities for manipulating KiCad files) and the results are pretty good. In terms of complexity, I would say that tasks like "replicate the layout from the datasheet of this amplifier and make me a testboard" or "look, we need an adapter that goes from <this devkit (insert PDF schematic)> to <these boards (insert KiCad file)>" are basically solved. More dense layouts are a stretch at the moment. (speaking about Opus 5.5 specifically here, other models are likely worse at these visual-coding tasks anyway)
In terms of result quality, I would say that the results are distinctly "2024/2025 LLM programming quality". The models lack a certain... taste? Good and careful prompting can help, but for example "use hierarchical sheets" can yield a single hierarchical sheet containing 3 copies of the same thing instead of three instances of a hierarchical sheet containing the same thing once. When pointed out, the model can of course do it no problem the way you want.
darksim905 5 hours ago [-]
Aren't there tools that could do a lot of the structure for a PCB/device like using Verilog? I feel like that's way you can do a lot of this work headless and then use KiCad or other tools to do the checking.
amelius 9 hours ago [-]
> When pointed out, the model can of course do it no problem the way you want.
Why don't you make it a part of the system prompt then?
Brian_K_White 8 hours ago [-]
It's probably a case of you can't write down infinity. There is probably no general prompt that works. Even many humans can't be given a general conceptual instructions.
ckemere 8 hours ago [-]
I’ve had really good results recently with Fable 5.1. The typical process that it uses for routing is to pin a few key traces (using the kicad python api) and then use freerouting for the others. I’ve also noticed that if I push hard for “carefully designed” routes, eg for a 38 pin connector, it will write code and make much better looking results.
I’d say that at the moment it still requires you to look at its results and point out their weaknesses and/or route a couple of traces yourself and then hand it back.
This project from a couple of weeks ago is a great example. I’m new to ST MCUs: in addition to the PCB, Claude brought up the firmware and driver. https://github.com/ckemere/hub-imu
OOHehir 6 hours ago [-]
I use AI to search for parts, check datasheets & 'look over my shoulder' & check my work. At that its reasonably good. But not at placement or routing. I think its interesting at the moment that there's a significant advance to use open source tools that agents can inspect.
the__alchemist 8 hours ago [-]
I will give this a try! I feel like AI should be able to automate this process (Schematic and/or PCB). I made a new design 2 months ago; tried to get Claude and COdex to do the schematic in KiCad, and they were not effective. Made a mess of it for an initial build, and edits later. I didn't bother with the component placement and routing.
I did find LLMs to be very effective on answering questions about routing, part selection, and identifying problems; was using a new MCU (Atmosic) with some unusual power circuitry, and got a working board first go. LLMs also crushed getting it working with rust (Very likely I am the first person to program an Atmosic MCU in rust); found a debugger that would work (NXP MCU-Link; the St-Linkv3s I normally use won't work for this, and the official recommended part is very expensive). The LLMs wrote a probe-RS configuration for it, linking scripts etc.
The LLMs also, under close direction, wrote a minimal HAL subset for I2C, SPI, power management, clocks, and BLE. I pointed it to my STM32 HAL as an API guide, set up the basic data structures, and pointed it to the Atmosic SDK (In C). It connected the dots, and produced a working HAL with a familiar API.
ohmyhenry 3 hours ago [-]
I find it very interesting that in nearly all conversations I find something to the extent of “well doing $thething is actually easy, my main job is $useless”
Programmers: code always was the easy part, being relied upon is the hard part / architecture / aligning stakeholders
Mathematicians: proving theorems was never like the important part, it’s “understanding” (without tangible output of any kind)
Lawyers: well actually I don’t do anything besides being “accountable”
Lab technicians: well actually I’m just logging what the robots did
And then “.. and a chatbot can’t do that!”.
Very interesting indeed.
spamizbad 8 hours ago [-]
This is very interesting, I'll need to give it a try. Currently been using Backplane (https://backplane.works/) which is a straight-up fork of Kicad.
i2cjak 6 hours ago [-]
glad you're trying it out. the reason for forking KiCad is to use the upstream/yet to be released IPC API features for schematic and PCB manipulation, vs. having the LLM directly edit or have to interact with S-expressions. Many ways to skin a cat.
I use Backplane more for overall "acceleration" of hardware vs. proompt -> product stuff (this is still mostly slop imo)
Tried this for a GaN BLDC ESC using EPC GaN FETs. Didn't go well. It still made significant mistakes about the ppart. I guess if you have a common part this may work well as there's probably good examples in the training data sets. But when you get in to more unusual parts it makes mistakes with packaging selection and foot prints.
snovv_crash 3 hours ago [-]
Fun idea, I was experimenting with a generic motor controller which could do anything from induction to switched reluctance to bldc.
Which models did you use and what was your rough process? I had better luck with Astra for this...
leptons 3 hours ago [-]
I've had no problem uploading datasheets to Claude and having it give me a complete symbol and footprint for KiCad. In some cases it also provides a 3D model for the part. It depends on how good the datasheet is.
PowerElectronix 4 hours ago [-]
As a HW engineer, nah. No autoroute nor AI is yet even close to do stuff well in PCB design.
torginus 4 hours ago [-]
I welcome AI based PCB layout. Routing PCBs by hand is a tedious slog of educated trial and error. Essentialy the kind of tedious knowledge task like reverse engineering, that AI is very good at.
I have some friends who work on designing wafers and they told me compared to autorouting, hand layout is always better, with quality asymptotically approaching a certain ideal with hours invested.
Based on how many engineer-hours you can put in, you can get a single or even double digit increase in silicon density, it's just that nobody actually has the manpower to actually get close to that ideal, but the difference is very noticeable between 'tier 1' and 'tier 2' manufacturers, the former of which can afford an army of highly educated engineers who will slog through this task, with the latter having to decide where to spend the effort.
This is one of the reasons why second or third generations of CPU architectures perform better even on the same or very similar process node, because this logic optimization builds up.
benbojangles 4 hours ago [-]
Whats wrong with autoroute in fritzing
thenthenthen 9 hours ago [-]
JLC part search is huge
rpaddock 3 hours ago [-]
"JLC PCB SMD Assembly Component Catalogue
Parametric search for components offered by JLC PCB SMD assembly service."
Enter what you are searching for at the top of the page, the results are at the bottom of the page. In between are categories that can be turned on and off.
Interesting. However, I usually also want to know if components are in stock.
It's a pity JLCPCB always wants to nudge me towards their own EDA tools.
Perhaps someone can vibe-code an LCSC interface that uses a headless browser?
ros86 7 hours ago [-]
Actually, the jlc/LCSC db does include stock and price and the basic/extended flag. This in itself makes this MCP already extremely useful.
LukaD 7 hours ago [-]
I don't think they have any access or scraped data. The plugin let's me configure a JLCPCB DB path and it seems like it doesn't ship with one. I have no clue how to obtain that db.
I tried it, it took several weeks of emailing back and forth. It probably could have been done faster if I replied earler, but it's not a quick process.
provenboard 8 hours ago [-]
I think there are some github repos that scrap LCSC components and expose them as an API.
leptons 3 hours ago [-]
Plain old Claude already does this fairly well, maybe not with up-to-date DB access though.
Claude helped me cut my BOM costs on JLCPCB/LCSC significantly by suggesting cheaper versions of the parts I was already using.
It also designed a new board for me for KiCad 10 (a brand new project), including all parts selection from JLCPCB.
I ended up not using JLCPCB for the PCBA, I only ordered blank PCBs from JLCPCB because cost of PCBA was too high for this project, so I had Claude redesign the schematic to use through-hole parts that I will assemble myself. I was able to source all the parts from Mouser and Amazon.
deadbabe 4 hours ago [-]
I would really like to build out little hardware products the way I build software, but I need PCB design to become a “solved” problem with AI. Being able to build stuff you can hold in your hand in the real world is a kind of magic I’d like to experience.
leptons 4 hours ago [-]
It seems "solved" to me, and I've been designing circuits and PCBs for 40 years.
I recently asked Claude (Opus 5.5) to design a wifi fan speed controller based on the ESP32 microcontroller. I told it to design a circuit for KiCad 10. I told it to write the software based on the ESP-IDF framework (for ESP32). I told it I would design the PCB based on the schematic it created.
It went to work. About 15 or 20 minutes later, it was done.
Everything looked good. Parts selection was reasonable. The first schematic was kind of weird, every part was placed on its own without any interconnected lines, so I had it re-do the schematic to show the part interconnections. It did a pretty good job.
Then I went to work designing the PCB. I had to find a project case and gave Claude some JPG images from the amazon page of the case dimensions, and it created a perfect PCB outline complete with mounting holes for the PCB.
I designed the PCB, but it's been a while since I did anything with mains voltage (120v here in the US). I asked Claude to analyze my PCB design, and it pointed out some issues with my trace routing, like not putting low-voltage traces crossing high-voltage traces, etc.
I then directed Claude to design its own PCB based on the project case constraints, and it did a fantastic job - way better than I did, honestly. It separated all the high voltage areas of the circuit from the low voltage areas, and clearly marked them with warnings on the silk screen.
I had it do all the part selection, and I purchased the parts - I'm not giving it my credit card to order parts, I can still do something useful towards this project.
I did not have to install anything for Claude to do any of this, it installed whatever tool it needed, and it generated the KiCad files.
So, this seems like PCB design is "solved".
Claude also wrote all the software for the ESP32 in another folder, including a web-based interface to control fan speed.
The PCBs and parts are on their way to me now. I guess I'll find out in about a week how "solved" this really is, but looking at the PCB design, it's looking really good.
Now it probably helps that I have 40 years experience doing exactly these tasks, so I can tell when something is going to work or not, and I know how to tell Claude what I want. Someone new to circuit/PCB design might have a more difficult time because you don't know what you don't know. I was very specific about the kind of circuit and parts I wanted - an ESP32 controlling a Triac controlling mains voltage with an optocoupler, etc - this is something I've built myself decades ago, so I already knew what "solved" looks like.
deadbabe 3 hours ago [-]
Please update in a week
sgnelson 7 hours ago [-]
I've had good luck doing this recently with my own set of similar tools for a high altitude balloon tracker. The PCB has a transmitter module, pico, gps, barometer, accelerometer, magnetometer and extra flash plus all the power and rf filtering needs. It also needs to withstand ~ -40C temps. I also had size constraints. It did a good job of making compromises while designing a 4 layer board for prototyping.
I had Fable work on it, and it made a good board, after some trial and error. I used mixtelas previous MCP tool, and even had it do ngspice runs on the filters. One of the tricks was to run a "tournament" style system for routing and lock in good routes. It also seemed to have and idea of what a "good" board should be.
And it found all the components on jlcpcb, made sure they met specs, gave me options, etc. and it outputs everything I need to upload the boards and get them produced.
Its not exactly a complex rf monster like some 5G board, but it's not just a simple board full of connectors for other dev boards either. I have to say I was quite impressed, for a first board. And it's been easy to iterate as well.
I've tried with Opus, and Opus doesn't quite get to what I would consider a "good" board, but it will get you close.
I haven't ordered the board yet (cost plus being cautious) but looking over it, I've yet to find any issues on it. I just ordered a simple connector board all done by AI last night with a few resistors and caps on it, all to be assembled by jlcpcb. Obviously, looking over it, I thought it was good enough to spend $60 on. We shall see.
But like so much in AI, it helps if you have some domain knowledge. I'm not sure how it'd go if I just had a newbie vibe code a board. I help with FabAcademy, and I fully expect to see this done many times there, over the next year.
Not clear from the headline alone, but the linked program (TFA) is called "Konnect". KDE apps tend to all be named similarly to that, like Krita, Kate, Kaffeine, etc. So it's both copying a KDE naming style and conflicting phonetically with a popular KDE program. KDE Connect also works outside of KDE to sync your clipboard to an Android phone and such, so even outside of KDE users, KDE Connect specifically is fairly well known.
BlackRabbit1 9 hours ago [-]
Honestly: Lots (all?) of AI styled text on that repo and not a single PDF with an example schematic/board.
I have found the best results through a mix of Happy[0], this repo, and computer use to fill in the blanks.
It is _really_ good at the stackup and part config, but creates some absolutely terrible routes. It will snake tiny traces through some SMD pins even though there is plenty of space available outside of the component. When it hits an obstacle, instead of creating 2 45 degree turns, it does 10~30 small ones creating some sort of weird crooked arc.
I have produced a couple of boards for testing this way and they are generally functional.
I have tried KiCadRoutingTools[1] as well which does seem to create routes that make more sense.
Anyone any better experiences with these or similar tools?
[0] https://github.com/aklofas/kicad-happy [1] https://github.com/drandyhaas/KiCadRoutingTools
I did this months before that OpenAI demo, and produced a product that many people are using without knowing it was an AI designed PCB.
It ran using kicad completely headlessly from a terminal with a bit of python and DRC'd it in a loop until it passed. I sent it to PCBWay and it worked the first go. It did take a bit, but if you just set a goal and let 'er rip the LLM gets there in the end.
Would a real EE vomit if they looked at it? Maybe. Does it work? Absolutely.
However, capitalism demands it and we all have to compete. Look at the fortune 100. How many of those companies produce finely crafted artisanal hand-made things of beauty designed to last for 100 years and be passed on for generations?
The truth is that people say they want quality, and then buy the cheapest thing they can find that works for today. It has always been, and will always be this way... At least until/unless we find ourselves in Treks post-scarcity, fully-automated, luxury communism.
In the meantime I try to apply my limited time on earth as effectively as I can, but putting the most work into the place where it will do the most good.
In terms of result quality, I would say that the results are distinctly "2024/2025 LLM programming quality". The models lack a certain... taste? Good and careful prompting can help, but for example "use hierarchical sheets" can yield a single hierarchical sheet containing 3 copies of the same thing instead of three instances of a hierarchical sheet containing the same thing once. When pointed out, the model can of course do it no problem the way you want.
Why don't you make it a part of the system prompt then?
I’d say that at the moment it still requires you to look at its results and point out their weaknesses and/or route a couple of traces yourself and then hand it back.
This project from a couple of weeks ago is a great example. I’m new to ST MCUs: in addition to the PCB, Claude brought up the firmware and driver. https://github.com/ckemere/hub-imu
I did find LLMs to be very effective on answering questions about routing, part selection, and identifying problems; was using a new MCU (Atmosic) with some unusual power circuitry, and got a working board first go. LLMs also crushed getting it working with rust (Very likely I am the first person to program an Atmosic MCU in rust); found a debugger that would work (NXP MCU-Link; the St-Linkv3s I normally use won't work for this, and the official recommended part is very expensive). The LLMs wrote a probe-RS configuration for it, linking scripts etc.
The LLMs also, under close direction, wrote a minimal HAL subset for I2C, SPI, power management, clocks, and BLE. I pointed it to my STM32 HAL as an API guide, set up the basic data structures, and pointed it to the Atmosic SDK (In C). It connected the dots, and produced a working HAL with a familiar API.
Programmers: code always was the easy part, being relied upon is the hard part / architecture / aligning stakeholders Mathematicians: proving theorems was never like the important part, it’s “understanding” (without tangible output of any kind) Lawyers: well actually I don’t do anything besides being “accountable” Lab technicians: well actually I’m just logging what the robots did
And then “.. and a chatbot can’t do that!”.
Very interesting indeed.
I use Backplane more for overall "acceleration" of hardware vs. proompt -> product stuff (this is still mostly slop imo)
https://github.com/i2cjak/Backplane
Which models did you use and what was your rough process? I had better luck with Astra for this...
I have some friends who work on designing wafers and they told me compared to autorouting, hand layout is always better, with quality asymptotically approaching a certain ideal with hours invested.
Based on how many engineer-hours you can put in, you can get a single or even double digit increase in silicon density, it's just that nobody actually has the manpower to actually get close to that ideal, but the difference is very noticeable between 'tier 1' and 'tier 2' manufacturers, the former of which can afford an army of highly educated engineers who will slog through this task, with the latter having to decide where to spend the effort.
This is one of the reasons why second or third generations of CPU architectures perform better even on the same or very similar process node, because this logic optimization builds up.
Enter what you are searching for at the top of the page, the results are at the bottom of the page. In between are categories that can be turned on and off.
They are using the latest JLC API.
https://yaqwsx.github.io/jlcparts/
Or do you need to get an API key first?
Seems to be scraped data? and then you review it manually like it recommends in: https://github.com/mixelpixx/Konnect/blob/9488e5f09717cb508c...
It's a pity JLCPCB always wants to nudge me towards their own EDA tools.
Perhaps someone can vibe-code an LCSC interface that uses a headless browser?
Claude helped me cut my BOM costs on JLCPCB/LCSC significantly by suggesting cheaper versions of the parts I was already using.
It also designed a new board for me for KiCad 10 (a brand new project), including all parts selection from JLCPCB.
I ended up not using JLCPCB for the PCBA, I only ordered blank PCBs from JLCPCB because cost of PCBA was too high for this project, so I had Claude redesign the schematic to use through-hole parts that I will assemble myself. I was able to source all the parts from Mouser and Amazon.
I recently asked Claude (Opus 5.5) to design a wifi fan speed controller based on the ESP32 microcontroller. I told it to design a circuit for KiCad 10. I told it to write the software based on the ESP-IDF framework (for ESP32). I told it I would design the PCB based on the schematic it created.
It went to work. About 15 or 20 minutes later, it was done.
Everything looked good. Parts selection was reasonable. The first schematic was kind of weird, every part was placed on its own without any interconnected lines, so I had it re-do the schematic to show the part interconnections. It did a pretty good job.
Then I went to work designing the PCB. I had to find a project case and gave Claude some JPG images from the amazon page of the case dimensions, and it created a perfect PCB outline complete with mounting holes for the PCB.
I designed the PCB, but it's been a while since I did anything with mains voltage (120v here in the US). I asked Claude to analyze my PCB design, and it pointed out some issues with my trace routing, like not putting low-voltage traces crossing high-voltage traces, etc.
I then directed Claude to design its own PCB based on the project case constraints, and it did a fantastic job - way better than I did, honestly. It separated all the high voltage areas of the circuit from the low voltage areas, and clearly marked them with warnings on the silk screen.
I had it do all the part selection, and I purchased the parts - I'm not giving it my credit card to order parts, I can still do something useful towards this project.
I did not have to install anything for Claude to do any of this, it installed whatever tool it needed, and it generated the KiCad files.
So, this seems like PCB design is "solved".
Claude also wrote all the software for the ESP32 in another folder, including a web-based interface to control fan speed.
The PCBs and parts are on their way to me now. I guess I'll find out in about a week how "solved" this really is, but looking at the PCB design, it's looking really good.
Now it probably helps that I have 40 years experience doing exactly these tasks, so I can tell when something is going to work or not, and I know how to tell Claude what I want. Someone new to circuit/PCB design might have a more difficult time because you don't know what you don't know. I was very specific about the kind of circuit and parts I wanted - an ESP32 controlling a Triac controlling mains voltage with an optocoupler, etc - this is something I've built myself decades ago, so I already knew what "solved" looks like.
I had Fable work on it, and it made a good board, after some trial and error. I used mixtelas previous MCP tool, and even had it do ngspice runs on the filters. One of the tricks was to run a "tournament" style system for routing and lock in good routes. It also seemed to have and idea of what a "good" board should be.
Its not exactly a complex rf monster like some 5G board, but it's not just a simple board full of connectors for other dev boards either. I have to say I was quite impressed, for a first board. And it's been easy to iterate as well.I've tried with Opus, and Opus doesn't quite get to what I would consider a "good" board, but it will get you close.
I haven't ordered the board yet (cost plus being cautious) but looking over it, I've yet to find any issues on it. I just ordered a simple connector board all done by AI last night with a few resistors and caps on it, all to be assembled by jlcpcb. Obviously, looking over it, I thought it was good enough to spend $60 on. We shall see.
But like so much in AI, it helps if you have some domain knowledge. I'm not sure how it'd go if I just had a newbie vibe code a board. I help with FabAcademy, and I fully expect to see this done many times there, over the next year.
https://kdeconnect.kde.org/