Close

ESP32 control and first “barbaric” prototype arm

A project log for RoboArm: Yet Another 3D-Printed Manipulator

DIY 3D-printed manipulator from off-the-shelf parts and random steppers, ESP32-based control with a simple API over USB, Bluetooth and WiFi.

stanislav-britanishskiiStanislav Britanishskii 01/02/2026 at 23:160 Comments

Today the project finally moved from “thinking about motors” to an actual moving piece of hardware.

The current idea is to keep the ESP32 as a fairly dumb low-level controller: it uses its built-in PWM channels to drive the servos and just forwards commands from a “real” controller (laptop, Pi, etc.) over serial or UDP. The ESP doesn’t do any serious planning, it’s just a gateway between higher-level logic and the servos.

So far I’ve implemented:

For early experiments I’m using my old 9 g servos from the first versions of RoboDog. They’re weak and noisy, but perfect for burning time instead of expensive hardware.

At some point I stumbled upon a YouTube video of a guy using strings to drive joints and keep the heavy motors at the base. That idea is now on the list: if I can keep all the servos at the bottom and only run linkages/cables up the arm, I can reduce weight and stress on the joints a lot.

-----------------------------------------------------------------

Since I still don’t have the “final” motors and mechanics sorted out, I decided to build a small, dirty prototype arm just to test the control pipeline end-to-end.

Powered it from the same terrifying 5 V / 30 A metal power supply I used earlier for other tests. The ESP32 is running over WiFi with UDP commands and hasn’t given me any trouble so far.

Surprisingly, in about 4–5 hours from scratch I ended up with a fully assembled small arm that can actually move things around (manually controlled for now). For a one-day hack using leftover parts and tape, I’m pretty happy with the result.

Video: prototype arm moving a small object – 

This prototype won’t be the final arm, but it already proves that:

Next steps: clean up the control protocol a bit, think about the real mechanical design, and wait for the “serious” servos to arrive.

Discussions