back to projects
project

Robotic Arm

A custom-built robotic arm controlled with N20 motors and an ESP32, featuring a 16 to 32 tooth gear ratio on the base for precise rotation.

2024RoboticsRoboticsESP32ArduinoN20 MotorsCAD3D Printing
16 : 32
Base gear ratio
1 : 1 (24T)
Joint gear ratio
N20 motors
Actuators
Press-fit
Assembly
live demo

See it in action

● rec · esp32 · n20 drive

Overview

A custom robotic arm built with N20 motors controlled through an ESP32 with a custom board. The base uses a 16 to 32 tooth gear ratio for controlled and precise rotation.

The entire arm is 3D printed. The second joint is driven by another N20 motor through a 1:1 pair of 24-tooth gears, and the claw is a custom two-gear mechanism powered by another N20. The whole build is press-fit - no screws or fasteners needed.

Hardware used

ESP32 + custom board

Handles motor control and command logic from a custom-designed driver board.

N20 geared motors

Compact DC motors driving the base, second joint, and claw mechanism.

3D-printed structure

Entire arm is printed - frame, gears, joints, and claw - designed for press-fit assembly.

Custom gear trains

16:32 reduction at the base, 1:1 24-tooth pair at the second joint, two-gear claw mechanism.

Mechanism breakdown

Base rotation

A 16-tooth pinion drives a 32-tooth ring for a 2:1 reduction. This slows the base down and increases torque, giving controlled, precise rotation instead of jerky movement.

Second joint

Driven by another N20 motor through a 1:1 pair of 24-tooth gears. Keeps the joint compact while transferring motion cleanly without backlash.

Claw

A simple two-gear mechanism, custom designed and driven by an N20 motor. Opens and closes with consistent grip force.

Challenges & Learnings

Tuning the gear ratio

Direct-driving the base made it spin too fast and overshoot every target. The 16:32 reduction calmed the motion down and made positioning predictable.

Press-fit tolerances

The entire arm uses no screws - every part is press-fit. Getting tolerances right in CAD took several print iterations so joints stayed tight but still moved freely.

Custom ESP32 board

Building a custom driver board kept the wiring clean and the arm self-contained, but meant designing the motor control circuit from scratch.

Summary

A self-contained, fully 3D-printed robotic arm that combines custom electronics, careful gear-ratio choices, and press-fit mechanical design. It's a hands-on study in making a multi-axis system feel precise and intentional rather than hacked together.