Workshop

I Don't Design My Parts Anymore

Published on: 2026-08-05

By: Ian McCutcheon

I was at Maker Nexus waiting on a 3D print, and I got talking to a guy who had a gear he'd been printing and iterating on for a while. We talked about AI for a bit, and then it came up: I told him I don't design any of my parts, I have my AI do it for me.

He didn't believe me. He had a sort of stunned look on his face. We kept talking, and it got to the point where he was asking me too many questions about how I do it, so I said: look, just describe your part to me. I held down the dictation button and he described it, and he didn't even know he was telling my AI by side effect.

Then I said, okay, create that part please.

One shot. It produced exactly the part he was looking for, mechanically. There were some press-fit inserts in the hub that it didn't know about, so we gave it a two-sentence clarification, and all of a sudden we had a STEP file that completely replicated the thing he'd been working on for weeks.

I'm writing this because people say AI is good at this or good at that, usually meaning it can rewrite an email. I want to show you what it's actually good at when you point it somewhere real. And I've got some pudding, and some proof.

A word on what I mean by "my AI harness", because it matters to everything below. Mine started life as PAI — Daniel Miessler's open-source framework, which he's since renamed LifeOS — heavily customised, running on Claude Code. It is not a chat window. It holds my context between sessions, it remembers what we've already got wrong, and it works from files on my own machine. I understand not everyone has access to all these things.

The proof: an encoder for a toy Jeep

I'm building an autonomous vehicle out of a child's electric Jeep — the thing a five-year-old drives around the garden. Cheap motors, sealed gearboxes, about $250 for the whole car. Rip out its guts and it's a rolling chassis with four independent drives.

An autonomous vehicle wants to know whether it's moving, which direction, and how fast. So step one is an encoder, and these motors don't have one.

I opened the gearbox and there's a fairly large gear in there, big enough to take very small magnets. So I drilled twenty holes in a circle just inside the teeth. The magnets are three millimetres long and two in diameter, little cylinders, and I popped them all in with the poles alternating.

Then I needed a small PCB carrying two latching hall-effect sensors that could read those magnets as they went past. The PCB program I use now is KiCad, and it has both an MCP server and a command line — which turns out to be the whole ballgame, for reasons I'll get to. I told my AI harness what I wanted. It said I'd need some decoupling capacitors, and I said yeah, okay. I described the board: really small, a trapezoid, a JST connector on the end — the little four-pin one, the same connector a lot of hobby gear uses. We iterated on that for a bit longer than I wanted to, but it was certainly faster than if I'd done it myself, and it came back from the fab with the surface-mount capacitors and the connector already fitted. The hall sensors are on me to solder, because I'm mounting them in a genuinely weird way — laid flat, so they look sideways at the gear face. I already owned them and didn't want to buy different ones. In hindsight I'd do that part differently.

Then the real problem: how do you mount that board against a spinning gear, inside a sealed gearbox, at the right distance?

Where OpenSCAD changed the game

This is where I found OpenSCAD to be a genuinely amazing product. It's free, and it's a scriptable 3D CAD program. Through code you say: draw this cube, cut this hole here, taper it there — and you end up with a three-dimensional thing you can export as an STL.

That matters more than it sounds. A scriptable CAD program is a CAD program an AI can actually use. It doesn't need to move a mouse. It writes a file, renders it, looks at the result, and changes a number. And if your slicer has a command line too — PrusaSlicer does — then the whole chain runs without a human touching a GUI: describe the part, render it, look at it, slice it for the printer you'll actually use, take the G-code to the machine.

That's the loop. Describe, render, look, adjust, print.

And that's the common thread with KiCad. It isn't that OpenSCAD is special. It's that the tools which work here are the ones you can drive without a mouse.

The first two iterations were awkward. I didn't know exactly what I wanted, and dimensionally I hadn't measured things precisely enough. The gearbox halves are moulded plastic with ribbing cast into them for stiffness, and a part that sits against that ribbing has to be shaped around it. There's a matching part on the outside, and a bolt through the casing joins the two, because I wouldn't trust epoxy alone in there. Inside, the board sits close to the magnets — under two millimetres is the goal, under one would be ecstatic.

The trick that fixed the measuring problem

Here's the technique I'd hand to any maker reading this, and it's the thing I didn't know before this project.

When I couldn't measure the inside of a closed gearbox accurately enough, the fix wasn't to measure harder. It was to print a coupon — a small test piece whose only job is to answer one question about the real world. Not a prototype of the part. A measuring instrument, made on the same machine, in the same material, that you then read like a ruler.

For the mount, that meant printing seven standoffs in a single go, three to nine millimetres in one-millimetre steps, each with its height engraved on the side. I fitted them one at a time until one landed. The gearbox told me the answer instead of me guessing at it, and it cost 52 minutes and seven grams of plastic instead of seven separate prints and a week.

The same idea works anywhere the machine, not the model, is the unknown. FDM printers make holes undersize by an amount that depends on the printer, the filament and the slicer, so a plate full of holes swept in 0.05 mm steps with each diameter engraved next to it will tell you your machine's real number in one print. That number then isn't a guess anywhere else in the project.

Worth knowing: the number belongs to that machine, that roll and that profile. Change any of the three and you run the coupon again. Shapes print anywhere. Fits don't travel.

Why it worked — and it isn't what you'd think

I don't know enough about OpenSCAD to use it myself. That's not a problem, and understanding why it's not a problem is the whole point of this article.

It's not a problem because I know enough about 3D printing to look at a rendered part and know whether it's right. I know what I'm looking for and I know when I've got it. That's the skill that's actually load-bearing here — not the tool, the judgement.

And it cuts both ways, which is how I know it's real. The AI caught things I'd have missed: a mounting pad overlapping a capacitor by a tenth of a millimetre, a bolt hole sized on the shank of the bolt instead of the threaded part and a full millimetre too small to pass. My hands caught things it got wrong: it had the wrong face of the circuit board until I put the physical part in front of me and told it so, and it guessed a rib angle at 38 degrees off some photographs when a caliper said 12 — one number that dissolved a problem three attempts had failed to solve.

That's the loop working. Neither of us was right on our own.

It also matters that this is a harness and not a chat window. ChatGPT on the web doesn't learn you — you have to build that. When we prove something in the real world by printing a part that comes out lopsided or backwards, we go back and write it down, and it stays written down. The next part starts from what we learned rather than from nothing. Every mistake makes the next one less likely, which is not true of a conversation you throw away.

Where it didn't work

My experience using AI for circuit design is not good. Fraught with errors is a fair way to put it. It's not hallucinating exactly — it's not understanding me as well as I need it to. And I can't blame the tooling for it. KiCad handed it the same MCP server and the same command line that OpenSCAD and PrusaSlicer did. The access was there. The understanding wasn't. The board came out fine in the end, but I did more correcting than I wanted to, and I wouldn't hand it a circuit I couldn't check myself.

I don't think that's permanent. It gets better every month. But right now, mechanical and precise is where this works, and the more open-ended the problem, the more you're doing.

And I'm not telling you to use this instead of learning the craft. I'm still deeply interested in 3D design, and there's a whole category — curved, artistic, the shapes you make because they're beautiful — that I'd say is still firmly human. I'll explore it, by hand. This isn't a replacement for that.

Buy it, build it, or meet in the middle

Think about the gear that guy was iterating on. If he could have bought it on the internet, he'd have bought it, and he'd have learned almost nothing. He built it himself instead, and learned a great deal. That was his choice, and it was a good one.

But those aren't the only two options. There's a middle: work with a companion AI, do some of the learning, and still get the result.

And I don't think the curve from buy it to build it yourself is linear. Buying teaches you nothing until you integrate it — and you'd have to do that integration anyway, whichever route you took. Everywhere else along that line, being hands-on in any respect teaches you something. The middle isn't half the learning. It's most of it, sooner.

That's really all I'm arguing. Not that you should stop learning. Not that AI is good at everything — it clearly isn't; I just told you where it fell over. Only that if a limitation in some particular area is what's stopping you finishing a thing, that limitation is more negotiable than it used to be. I'm not out to convince anybody of that. It seems to happen one person at a time anyway.

I've got a toy Jeep in the garage with twenty magnets in its gearbox and a circuit board I couldn't have designed, held at a distance I couldn't have measured, by a bracket I couldn't have drawn. It's going to tell me how fast it's going.


This story started at Maker Nexus, a 501(c)(3) nonprofit makerspace in Sunnyvale, California. Places like it are where conversations like that one happen. If you'd like to support them, they take donations.