I Asked Codex to Help Me Build a Robot for WordCamp US

Blender preview of the small robot I am building to wear on my shoulder

I'm building a little robot to wear on my shoulder at conferences. I shared the first build thread on X, but there is a lot more to the story.

The first public test will be WordCamp US in Phoenix. I plan to mount it with magnets, walk around the conference with it, and let people talk to a physical DocsBot AI voice agent.

It listens through a microphone, answers through a speaker, changes its animated expression while it talks, and moves its head to feel a little more alive.

I have no idea how to build a robot.

But AI does.

That is what made this project irresistible.

From a description to a parts list

I started by describing how I wanted the character to look and behave. Small enough to sit on a shoulder. Retro, friendly, and obviously a robot. A square screen for a face. A head that could turn. A voice people could hear in a noisy room. Expressive enough to feel like a character instead of a phone strapped to a costume.

Then I bought roughly $50 of parts from Amazon and asked Codex to build it with me.

The core is an ESP32-S3 board with a 1.54-inch, 240×240 color display. It already has useful robot parts packed onto it: Wi-Fi, Bluetooth, microphones, touch, and motion sensors. I added a small external speaker, motors for movement, a controller board, wiring, and the other pieces needed to make the head and body work.

Normally, every one of those choices would send me into a week of datasheets, electronics forums, and half-working tutorials. Instead, I could show Codex the exact parts and ask it to reason across the whole system.

Which pins can safely be used? How should power be split? Where does the capacitor go? How do I keep a motor from pulling the voltage down and resetting the screen? What dimensions need to be reserved in the printed body?

The agent did not make physics disappear. It made the unknowns navigable.

Giving a square screen a personality

The face came first because that is the part people will actually connect with.

We built 15 expressions and behaviors for the tiny screen: idle, blink, speaking, waiting, smile, confused, surprised, love, wink, angry, crazy, sleep, and looks to the left and right.

I got absurdly specific about the face.

The eyes needed to be slightly bigger. The mouth needed to move lower. Then there was too much space between them. The surprised eyes were too large. The wink needed a slight rotation. The mouth bars were too thin at the sides. Blinks needed to happen less often and finish faster.

These are not normal engineering requirements. They are taste.

Codex could keep translating that taste into coordinates, transitions, timing, and drawing code until the character felt right.

The robot electronics, screen, printed body pieces, and wiring on my workbench

The expressions now run on the real electronics. Codex combined my early face and voice experiments into one program that can join Wi-Fi, listen to someone speak, call the DocsBot Voice API, answer through the speaker, animate its face, and control the moving parts.

Watching all 15 expressions come alive on the actual screen was a bit of a Frankenstein moment.

Designing a body around parts I already bought

The physical body had to wrap around reality.

The screen determined the head dimensions. Buttons and the charging cable needed openings. The speaker and motors needed mounts. Wires had to pass through the neck. The head needed enough clearance to move without colliding with the body.

OpenSCAD turned those measurements into printable parts. Because the design was code, Codex could change dimensions, regenerate the model, and reason about whether the electronics would fit.

It could also check the movement in simulation before I committed to a long print.

OpenSCAD views of the robot head designed around the screen and electronics

Then Blender MCP gave me polished previews of the model before printing.

That brought taste into the physical build loop too. I could see when the face border felt too heavy, when the proportions drifted, or when the feet looked like clown shoes.

At one point my entire design feedback to Codex was, "Your arms and legs suck."

It was accurate feedback.

The render made weak choices obvious before they became plastic. Codex updated the OpenSCAD model, Blender rendered the next version, and I judged it again.

Then reality attacked

Software people get spoiled by undo.

A bad code change can be reverted. A bad 3D print sits on the desk for hours, consuming filament while teaching you about tolerances.

My first prints quickly reminded me that a simulation is not a workbench. Supports fuse to parts. Holes shrink. Wires take up more space than their diagrams. Cheap motors have opinions. A USB-C cable that looks flexible online becomes a structural component when you try to bend it inside a tiny body.

An early robot part printing with failed supports and stringing

The body is ready to print, but it still needs its first complete assembly. Plastic tolerances and my assembly skills are the next boss battle.

Conveniently, the 3D printer doing this work is one I won at a previous WordCamp US. Now it is printing a robot to take back to WordCamp US. That feels appropriate.

AI coding agents have reached my workbench

The interesting part of this project is not that an AI wrote some embedded code.

It is that one agent could help across disciplines that used to be separate rabbit holes:

  • Electronics and power
  • Embedded software
  • Wi-Fi and voice APIs
  • Character animation
  • Motor control
  • Parametric CAD
  • Physics and clearance checks
  • Blender renders
  • 3D-print preparation
  • Debugging the assembled hardware

I still make the decisions. I decide whether the face feels friendly, whether a part is ugly, whether the movement is worth the complexity, and whether I trust the wiring enough to plug it in.

But I no longer need years of experience in every tool before I can attempt the project.

That changes who gets to make physical things.

AI coding agents started by helping us move pixels around a browser. Now mine is helping move a robot's head on my desk.

The deadline is a conference crowd

The first job for this robot is simple: start conversations.

At WordCamp US, someone should be able to walk up, speak to it, and hear a DocsBot voice agent answer through a physical character sitting on my shoulder.

Codex got the face, voice, and movement working on the actual electronics. OpenSCAD produced the printable body. Blender helped me reject ugly choices before printing them.

Now the design has to become plastic, survive assembly, attach securely with magnets, and spend a conference day moving through a crowd.

I fully expect to leave Phoenix with a new bug list.

But even if an arm falls off, this project already proved something to me. The gap between "I have an idea for a robot" and "there is a talking face on my workbench" is much smaller than it used to be.

AI didn't just help me code faster.

It helped me build something I did not know how to build.