← All projects

Robotics / Mechanical

3D-Printed Robot Arm.

Complete
Fully assembled 3D-printed robot arm

How it all started

During my freshman year at LMU in Los Angeles, I worked at the engineering makerspace. The professor who managed the makerspace and I shared an interest in robotic automation, but the university’s only robot arm was a 20-year-old FANUC. Without the budget for a new industrial arm, we decided to explore an open-source, fully 3D-printed alternative.

Version 1 - Jeff

The first robot arm I worked on was based entirely on the Arctos project. I built it over winter break and named it Jeff.

3D-printed robot 'Jeff' moving

Custom version of uCNC

The six motors each used a standard stepper driver, so I created a modified version of uCNC to coordinate their motion. This was necessary because joints 5 and 6 were mechanically linked.

ROS 2 control hardware interface

To control the robot through ROS 2 Humble, I developed a custom ros2_control hardware interface.

Problems and areas for improvement

This first version revealed several mechanical and electrical challenges:

  1. Most gearboxes had severe backlash.
  2. Some components were extremely difficult to assemble.
  3. The CAD model was disorganized and difficult to work with.
  4. Many parts were not designed for 3D printing, which affected both appearance and function.
  5. The open-loop stepper motors were prone to losing steps.
  6. Wiring every motor individually made cable management difficult.

Computer vision research

During a six-week summer research stay at LMU, I further improved the robot arm and implemented visual servoing using ROS 2.

Screen recording of the mouse-detection system.
The physical robot arm during the mouse-detection demonstration.

Version 2 - Jenny

To address these issues, I started working on Jenny, a second robot arm based on an updated version of the Arctos project, with additional improvements of my own.

Mechanical modifications

I redesigned the gearboxes to reduce backlash and improve precision. I also redesigned several parts to improve their printability and make assembly easier.

Jenny's redesigned cycloidal gearbox.
Jenny's redesigned planetary gearbox.
Jenny in motion.

Version 3 - Jonny

I built the latest version of the robot arm, Jonny, during the summer of 2025.

CAD

I designed the entire system from scratch, focusing on printability, structural strength, and reduced backlash. It was my most ambitious CAD modeling project to date.

Full CAD model of the robot arm showing its joints and structure
Full robot CAD model.
Two CAD views of the robot arm gearbox
Gearbox design.
Section views through the gearbox showing its internal components
Gearbox cutaway.
Testing Jonny's planetary gearbox.
Testing Jonny's cycloidal gearbox.

Software

The new system used CAN communication and encoders mounted on the backs of the stepper motors to improve the arm’s precision and reliability. I developed a new ros2_control hardware interface and integrated MoveIt for motion planning and control.

The full robot

The full robot
The full robot
Closup of the Z link
Closup of the Z link
Closup of the AB link
Closup of the AB link
Controlling Jonny with MoveIt.
Jonny folding itself.
More builds. More experiments.Back to the collection