



Adafruit Successfully Automates Arduino Development Using 'Claude Code' LLM (youtube.com) 20
Adafruit Industries used large language model (LLM) tool Claude Code to streamline hardware development, writes managing director ptorrone.
In a demo video Limor 'Ladyada' Fried compares the LLM's command-line interface to working with the build-automation tool CMake or "a weird cross between IRC and a BBS." The first step was converting a PDF of the hardware's datasheet into text, and Claude Code first displays the appropriate Bash command, while asking "Do you want to proceed?" ("What's nice is that it doesn't make changes, even though it has write access to files in the directory...") Eventually from the data sheet it creates things like an accurate register map, C++ headers, and even license text — and more.
"We are using it to automate parts of the coding and debugging process for an Arduino-compatible Metro Mini board with an OPT 4048 color sensor," writes ptorrone: Using Claude Code's shell access, we can compile, upload, and test code in a semi-automated workflow, allowing the LLM to suggest fixes for errors along the way... While the AI isn't perfect for high-level driver development, it's proving VERY useful for tedious debugging and super-fast iterative improvements, bringing hardware automation closer to ...reality.
In the video Fried describes it like this. "I have a full debugging cycle, where I'm there — I'm like driving the car — but I have this copilot that's telling me where to go..."
"I feel like I'm getting closer to having a semi-automated way of doing driver development."
In a demo video Limor 'Ladyada' Fried compares the LLM's command-line interface to working with the build-automation tool CMake or "a weird cross between IRC and a BBS." The first step was converting a PDF of the hardware's datasheet into text, and Claude Code first displays the appropriate Bash command, while asking "Do you want to proceed?" ("What's nice is that it doesn't make changes, even though it has write access to files in the directory...") Eventually from the data sheet it creates things like an accurate register map, C++ headers, and even license text — and more.
"We are using it to automate parts of the coding and debugging process for an Arduino-compatible Metro Mini board with an OPT 4048 color sensor," writes ptorrone: Using Claude Code's shell access, we can compile, upload, and test code in a semi-automated workflow, allowing the LLM to suggest fixes for errors along the way... While the AI isn't perfect for high-level driver development, it's proving VERY useful for tedious debugging and super-fast iterative improvements, bringing hardware automation closer to ...reality.
In the video Fried describes it like this. "I have a full debugging cycle, where I'm there — I'm like driving the car — but I have this copilot that's telling me where to go..."
"I feel like I'm getting closer to having a semi-automated way of doing driver development."
Until the AI learns that backdoors are usefull (Score:3)
for tethered access to millions of devices to be used for it's own proliferation.
https://hardware.slashdot.org/... [slashdot.org]
wow (Score:1)
It starts with a data sheet and produces header files with register definitions. Even license text! It's a real programmer!
It's nice to find ways to automate tedious tasks, but the constant barrage of bullshit never stops. Creating header files is not what programmers do, it's a thankless task that distracts programmers from doing what programmers do.
Re: (Score:3)
Having done a fair amount of driver development, I can tell you that coming up with a header file that represents a map of a device is something developers definitely do. It is the first step in making a device driver.
It is not much fun. Hours of trying to understand the documentation, probably you will make mistakes. Having an AI that does that for you is a super-excellent benefit. These days the AI might even be able to write some basic code for you that interfaces with the device. All a plus.
Re: (Score:2)
Like human created library code, my concern would be that it is inaccurate. Maybe if you had two AIs, one to write it and one to check the results.
Re: (Score:2)
One would assume the developer using the AI would check its work.
Re: (Score:2)
At which point I'd rather write it myself and have the AI check my work. Checking other people's work is more tedious than writing your own much of the time.
Re: (Score:2)
Developers routinely check other people's work in the form of code reviews. Obviously AI-generated code needs review as well, but frequently you can get it to generate the test cases for you and that helps quite a bit.
Re: (Score:2)
These days the AI might even be able to write some basic code for you that interfaces with the device.
They absolutely can. And with guidance, they can write basically all of it.
Caveat is, you have to watch it. It's more like "lazy man's programming". Instead of writing code, you're telling the LLM what to do, double checking the new work, asking it to make corrections, etc.
It's a different flow, but it's pretty fucking capable.
I have noticed that once the context window starts getting significantly full, it does start... struggling... follow commands well. That may have something to do with my process
Re: (Score:2)
It is the first step in making a device driver.
And also the fucking worst.
It is not much fun.
Hah- ya. Understatement of the year.
That's why I love part manufacturers that give you pre-built headers in their BSPs. That used to be the norm for most of the arm7 parts I worked with. Some of the weirder micros I worked with though- you're on your own.
Re: (Score:3)
We disallow doing it professionally (which I support) but I've played extensively with it in personal projects.
It's capable of far more than "producing header files and register definitions".
Sounds like if that's all it does, they've got a ways to go in terms of catching up with what it's being used for by other similar products.
FTS,
Using Claude Code's shell access, we can compile, upload, and test code in a semi-automated workflow, allowing the LLM to suggest fixes for errors along the way... While the AI isn't perfect for high-level driver development, it's proving VERY useful for tedious debugging and super-fast iterative improvements, bringing hardware automation closer to ...reality.
Doesn't sound like what you describe.
Re: wow (Score:2)
Re: (Score:2)
I will grant it that if you ask it the right question it can generally provide you with the attributes that you may need without looking them all up, but non-programmers aren't going to be using it to make things any time soon.
Yup. It needs a knowledgeable hand guiding and overseeing it.
Re: (Score:2)
Also, how well it performs is a direct function of how good the model is.
Things like ChatGPT are really fucking good. I've recently been using Qwen2.5 Coder 32B FP16, if you've got the VRAM to run it.
The other day I whipped up an API-connected interactive javascript application with it in about an hour that definitely would have taken me the better part of a day to do.
It made seve
Re: wow (Score:2)
Re: (Score:2)
Well I can only use the AI that I have available to me.
Sounds like maybe it's shit.
And no you can't always pick out what is wrong with the code right away.
Its pretty easy to. Perhaps your code-reading skills aren't very good?
Given the iterative nature of changes, the amount of code you're reviewing for each iterative change isn't that much.
It will use attributes that are fairly standard in other objects but that don't work in your scenario.
Yes, it absolutely will sometimes do that.
Those take a long time to sort out.
I guess? Maybe if you're not terribly familiar with the things you're having it do.
It was much better for me to do it by hand in the end.
I don't doubt you. But that's a skill issue on your part.
I'll tell you why this matters for you: Because someone will come along later who can do what you did, using an L
Re: wow (Score:3)
Re: (Score:2)
Other than that? Speed, my friend.
Well- curiosity really, at first- but now that I'm past the curiosity and in the active experimentation phase- speed.
I honestly don't see it replacing me doing LLM-less coding, even excluding the fact that we can't use them at work- but as you get pro
Re: wow (Score:2)
Re: (Score:2)
So after all that you admit that it won't replace anything
Replace?
Who ever said anything about replacement?
and that you just like how it makes you feel like Tony Stark.
Do you know what it's called when you select a few words out of an argument and pretend like they were the only ones said?
With intellectual dishonesty as blatant as that, I'm now convinced you were full of shit from the get-go.
First (Score:3)
(no, not first post)
This is the first *real* LLM/coding success story I've heard. I'm inclined to believe Ladyada/Adafruit, so if they say it's good, then it's good. It's a fairly specific use-case, although you could imagine it being usable in other categories. I'd also imagine that they're being careful enough to keep code bloat out of the way, so hopefully the output is decent quality code. Good for them :-)
I'm sure there must be other success stories that either don't get reported, or else fly under the radar, but there seem to be a significant lack of them for the "amount of AI" that's in the world right now.