← All projects

Six-Axis Robot Arm

A six-axis arm built from scratch, around cycloidal gearboxes I designed myself.

Status
ongoing
When
Jul 2026 onwards
Axes
6
Running
3 of 6
Ratios
15:1 · 20:1 · 15:1

Role Solo project

Drag to turn

CAD All six axes, with the reducers inside the drums. The servos and the hand are not in the model.

I built this because I wanted to. I had the parts, I wanted to build a robot joint from the bare bones instead of buying one, and I wanted to see how fast I could go from nothing to a moving arm. The first three axes run through cycloidal gearboxes I designed and printed; the last three are servos.

Why

Mostly because I wanted to. I had the parts, and I wanted to challenge myself: build every joint myself instead of buying them, and see how fast I could do it. The first three axes took about a month, design and build, and the wrist went on a few days after that. A month and a half, all in.

The other reason is computer vision. An arm is the obvious thing to point a camera at, and from the start the idea was to put a vision-language-action model in front of it and let that decide where it moves.

The gearbox

The first three joints run through cycloidal reducers. The motor spins an eccentric shaft, which makes a lobed disc wobble around a ring of pins. The disc has one lobe fewer than there are pins, so each full turn of the motor walks it back by one lobe, and pins through holes in the disc carry that slow turn out. A lot of reduction in a flat drum, very little backlash, and the load is shared across many lobes at once, which is what lets it survive being printed in plastic.

The ratios are 15:1 at the base, 20:1 at the shoulder, which holds up the most weight, and 15:1 at the elbow. The gearbox housings are part of the arm’s body rather than parts bolted onto it.

The wrist and the hand

The last three joints are hobby servos, an MG996R and two MG995s. The hand on the end is not mine: I found it and fitted it. One servo opens and closes it, so it grips or it doesn’t, and the fingers cannot move on their own.

Where it is now

Everything is assembled. The three geared joints move; the wrist servos and the hand are fitted but not working yet. Next is getting them running, then encoders on the geared joints, then the camera.

Signal path

05 stages
  1. 01 Angles one per joint
  2. 02 Firmware counts steps from zero
  3. 03 TMC2209 step + direction
  4. 04 NEMA 17 one per joint
  5. 05 Joint 15:1, 20:1, 15:1

Open loop for now. Most arms read an encoder on every joint; this one has none yet, so the firmware calls wherever each joint sits at power-up zero and counts the steps it sends from there. You give it joint angles and it goes. No inverse kinematics yet.

On paper

01 sheet

Sheet 1/1 · Rev v1.0

The schematic I drew for the arm's driver board. The PCB layout is mostly done but not finished, and the board has not been made yet.
The schematic I drew for the arm's driver board. The PCB layout is mostly done but not finished, and the board has not been made yet.

On video

03 clips
Back-driving one of the gearboxes by hand.
The first three axes running, after a fix to the gearboxes so the arm wobbles less as it moves.
Putting the wrist and the hand on. Nine minutes at 18× speed; the clock in the corner is real time.