Koch low-cost robot arm: 6-servo follower
← Robots
Koch low-cost robot arm: 6-servo follower
Alexander Koch@alexanderkoch-kochMITupdated Oct 31, 20261 view

Files

view_in_arKoch follower armAssemblychevron_rightview_in_arKoch leader armAssemblychevron_rightprecision_manufacturingKoch arm pick and placeScenechevron_rightprecision_manufacturingKoch leader drives the followerScenechevron_rightschemaKoch arm follower wiringSchematicchevron_right

Overview

Alexander Koch's open-source 3D-printed robot arm for robot learning: two Dynamixel XL430s and four XL330s, about $250 for the follower, teleoperated by a matching leader arm.

The Koch low-cost robot arm is Alexander Koch's open-source arm for robot learning. The follower arm costs about $250 in parts and a second, lighter leader arm (about $180) lets you move it by hand: the follower copies the leader's joint angles, which is how teleoperation datasets for imitation learning are recorded. Hugging Face LeRobot added support for it. All structural parts are 3D-printed in PLA and only the gripper's moving jaw needs supports.

Follower arm

This project models the longer version with the elbow-to-wrist extension (the one in the photo), which has six Dynamixel servos:

Joint Servo Axis Range
shoulder pan XL430-W250-T vertical -150 to 150 deg
shoulder lift XL430-W250-T horizontal -45 to 145 deg
elbow flex XL330-M288-T horizontal -85 to 115 deg
wrist flex XL330-M288-T horizontal -25 to 150 deg
wrist roll XL330-M288-T along the hand -150 to 150 deg
gripper XL330-M288-T jaw hinge 0 (closed) to 100 deg

The XL430s (1.5 N m stall at 12 V, 57 g) carry the shoulder; the XL330s (0.52 N m at 5 V, 18 g each) keep the rest of the arm light and fast. The upper arm is about 109 mm and the forearm with the extension about 91 mm from axis to axis; the whole follower weighs about 250 g. The gripper has one fixed finger and one jaw hinged on its servo's horn.

Leader arm

The leader has the same joint layout on six Dynamixel XL330-M077-T servos used as joint encoders, a handle and a trigger in place of the gripper, and runs entirely on 5 V. A small torque on the trigger servo keeps it open by default. Its CAD is in the repository as hardware/leader/step/leader_arm.step.

Electronics

The servos share one TTL bus, driven by a Waveshare serial bus servo driver board over USB instead of the ROBOTIS U2D2. The follower runs from a 12 V supply; a buck converter set to 5 V feeds the four XL330s. A table clamp holds the base. The repository's Python code talks to the servos through the Dynamixel SDK.

In this project

The parts are the author's follower STEP (hardware/follower/step/arm.step, the 6-servo version), split by link and colour and placed unchanged; screws are left out, and the Dynamixel models are kept. The repository's URDF and MuJoCo model describe the shorter 5-servo arm, so the joints were derived here from the CAD, not taken from them:

  • each joint axis is the axis of a Dynamixel horn's cylindrical faces, pointing out of the horn, so positive turns the way the servo itself counts;
  • each servo's case belongs to the link it is screwed to, its horn and idler to the next one (checked by which printed part each horn touches);
  • the zero pose is the CAD pose: upper arm vertical, forearm horizontal, gripper hanging down and closed;
  • ranges come from a collision sweep of each link against the arm before it, with the pan and roll joints limited to 150 degrees for the cables;
  • masses come from the bill of materials for the servos and from the printed volume at 1.24 g/cm3 with about 40 % effective infill, with centres of mass and inertias computed from the solids.

Each servo is a position actuator limited to its stall torque. Colours follow the photo: white prints, a black extension and black servos. The demo picks up a 25 mm cube in front of the arm and places it to the left, with poses solved by inverse kinematics.

Lineage

Based on

This robot was built from scratch.

Forks

0 forks of this robot. Most forks stay private projects.