3 ms·
> changed I2C to SPI for no reason Heh, tongue firmly in cheek: there's a good reason to change from I2C to SPI. I2C's pretty shit in comparison :D More serio
by tonyarkles 9d ago
> changed I2C to SPI for no reason
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 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.
- the__alchemist 9d agoI should try that lib! (Same one mentioned in the article?) 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!
- tonyarkles 9d agoYeah it's the one mentioned in the article. I've tried FreeRouting or whatever it's called before and had... ok results... but it's a pain in the ass to set up. This KiCadRoutingTools code was super easy to set up in comparison. 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.