Skip to content
MCU Atlas
ESP32ESP32-C3

Tiny Engineer: an ESP32-C3 desk robot that acts out what your AI coding agent is doing

A 3D-printed desk robot with five SG90 servos, an OLED face and a speaker that looks around, types and rings a bell as Claude Code, Cursor or Codex works.

Difficulty:Intermediate

What it is

A little desk robot that looks around, types and rings a bell to show what your AI coding agent is doing right now.

How hard

Intermediate. Order a PCB from a fab, print the body, plug in the modules, flash from the browser and run one npx command. The author calls it a fair first hardware project for a software engineer.

Key Facts

  • Board: Waveshare ESP32-C3-Zero on the open-source main control board
  • Main board carries PCA9685 servo driver, MAX98357A I2S amp and USB-C
  • Moves: 5x SG90 micro servos (head, neck, both hands, body)
  • Face: 0.91in 128x32 SSD1306 OLED; sound: 8 ohm 1 W speaker
  • Agents: Claude Code, Cursor, Antigravity via npx -y tiny-engineer setup; others via HTTP API
  • Power: 5 V, at least 2 A
  • License: MIT (software), CERN-OHL-S-2.0 (hardware)

About This Project

Tiny Engineer, by Krzysztof Jamroz, gives your AI coding agent a body: a small 3D-printed robot that sits on your desk and acts out what the agent is doing. When the agent reads files it looks around, when it writes code it types, when it thinks or waits it looks up, and when it finishes the task it rings a bell. The brain is a Waveshare ESP32-C3-Zero that plugs into the project's open-source main control board, which carries a PCA9685 servo driver, a MAX98357A I2S audio amp and USB-C. On top of that you plug in five analog micro servos (Tower Pro SG90 by default, for the head, neck, both hands and body), a Waveshare 0.91in 128x32 SSD1306 OLED for the face and an 8 ohm 1 W mini oval speaker. The board is not sold yet: you order it from any PCB fab from the KiCad files (the docs walk through JLCPCB with PCB assembly, where you may only have to solder two header rows for the ESP32), and the author is polling interest in a roughly $15-20 assembled version. The body prints in PLA or PETG, or you can order the prints, and it goes together with M2 thread-forming screws. Power it from a 5 V supply that can deliver at least 2 A, because five stalled servos plus Wi-Fi and audio will brown out a 1 A phone charger. You flash the firmware from a browser (Chrome or Edge) over a USB-C data cable, then the robot joins your 2.4 GHz Wi-Fi. Run npx -y tiny-engineer setup to hook it into Claude Code, Cursor or Antigravity; Codex, Windsurf or any script can drive it through its HTTP API (POST /anim, and POST /play for speech), and there is a USB serial mode for networks that block it. The author rates it medium difficulty: a fair first hardware project for a software engineer, not a one-LED kit. Software is MIT licensed and the hardware (CAD and KiCad) is CERN-OHL-S-2.0.

Source & Attribution

Source: GitHub
License: MIT (software), CERN-OHL-S-2.0 (hardware)
Last verified: 10/23/2026
Tiny Engineer: an ESP32-C3 desk robot that acts out what your AI coding agent is doing

Illustration

How to Build It
Order the open main control board, print the body, plug in an ESP32-C3-Zero, five SG90 servos, an OLED and a speaker, flash from the browser and hook it to your coding agent.

Parts Needed

Steps

  1. 1

    Shop and order the board

    Buy five servos of one model (SG90 by default) plus the ESP32-C3-Zero, OLED and speaker. Order the main control board from a PCB fab using the KiCad files; with top-side assembly you only solder the two 1x9 header sockets for the ESP32.

  2. 2

    Print the body

    Print the parts for your servo model in PLA or PETG (testers first), or order the prints.

  3. 3

    Connect

    Plug the ESP32, OLED, servos and speaker into the board. Speaker on SPK+/SPK- only, using the connector or the pads, never both; SPK- is not ground. Power from a 5 V supply rated for at least 2 A.

  4. 4

    Flash

    Seat the ESP32 on the board, open the web flasher in Chrome or Edge, and install the latest release over a USB-C data cable. Use the setup AP's Assembly support to center the servos before assembly.

  5. 5

    Assemble and join Wi-Fi

    Follow the assembly guide, finish the setup wizard so it joins your 2.4 GHz Wi-Fi, then check http://tiny-engineer.local/health.

  6. 6

    Hook up your agent

    Run npx -y tiny-engineer setup for Claude Code, Cursor or Antigravity. Other tools can POST to /anim (and /play for speech), or use USB serial.

Not included: 3D printer and PLA or PETG filament (or ordered prints), Soldering iron for the ESP32 header sockets on one-side PCB assembly, A computer running a supported coding agent

Download CSV

Related Projects

Watchy: open-source ESP32 e-ink smartwatch
Illustration
ESP32
An open-source smartwatch with a 1.54in e-paper screen and ESP32, hackable watch faces in Arduino.
Beginner·Code
2 parts listed
Low-power ESP32 e-paper weather display (7.5in)
Illustration
ESP32
A wall-mounted 7.5in e-paper weather display on an ESP32 that runs for months on one battery charge.
Intermediate·Code
5 parts listed
OpenEPaperLink: reuse e-ink shelf labels with an ESP32 access point
Illustration
ESP32ESP32-S3
Turns cheap second-hand electronic shelf labels into a Wi-Fi-managed e-ink display fleet via an ESP32 access point.
Advanced·Code
6 parts listed