Robot Arm




Introduction: Robot Arm

The goal of this Instructable is to help you build your own 3D printed robot arm. My motivation for building this robot arm comes from an interest in mechatronics and the lack of good documentation for building a 4-axis arm with stepper motors, Arduino and a 3D printer.

I hope the CAD files will guide or inspire you to build your version of this arm!

At the moment there are 3 axis finished. I am still working on the 4th axis and gripper.

Step 1: Hardware

The robot arm is mostly 3D printed and is belt driven. All non 3D printed parts like bearings, pulleys, belts and motors can be bought off the internet.

The shafts are made from 8mm and 5mm steel rods, this can be done by hand if required.



  • 3x GT2 pulley 20 teeth
  • 2x GT2 pulley 60 teeth
  • 1x GT2 pulley 16 teeth

  • 2x GT2 belt 232 teeth
  • 1x GT2 belt 400 teeth


  • 4x 22x8 mm ball bearing
  • 2x 16x5 mm ball bearing
  • 4x 10x3 mm ball bearing
  • 1x 98x4 mm needle bearing
  • 1x 32x2 mm needle bearing

Threaded rod:

  • 4x M3x250 mm
  • 4x M3x140 mm


  • 1x 8x98 mm
  • 1x 8x105 mm
  • 1x 5x88 mm
  • 2x 3x30 mm


  • 3x 42x42x40 mm NEMA17 bipoler stepper motor (45 Ncm)

Nuts and screws:

  • 12x M3x10 mm (hex socket) button head screw
  • 2x M3x25 mm (hex socket) button head screw
  • 18x M3 self locking nut

  • 3x M6x15 mm (hex socket) cap screw
  • 3x M6 nut

  • 9x 3x15mm self tapping button head screw

Step 2: Electronics

The stepper motors are driven by three DRV8825 stepper motor drivers and an Arduino Uno. There are multiple options available on the internet for a driver shield for the Arduino Uno.


  • 1x Arduino Uno
  • 1x driver shield
  • 3x DRV8825
  • 12-24V Power supply

Please watch the Youtube tutorial on how to set the current limit on the DRV8825 motor driver.

Step 3: Software

The Arduino Uno can be programmed using the Arduino IDE and the AccelStepper library to control multiple stepper motors using acceleration for smooth movements.

This part is still under construction. You have to experiment with different settings for your motors to run them smoothly and make coördinated movements.

Step 4: Building the Robot Arm - the Base

Before printing any parts, experiment with the tolerances of your 3D printer. The ball bearings should snap nicely in to place, without using too much force. So print some samples with different sizes to check which dimensions give the best results.

I got the best results by dimensioning the holes 0,5 mm larger than the outer diameter of the ball bearing.

The base consists out of four parts:

Step 5: Building the Robot Arm - Second Axis

Start with assembling the belt tensioner.

Be the First to Share


    • Puzzles Challenge

      Puzzles Challenge
    • Rice & Grains Challenge

      Rice & Grains Challenge
    • Lamps Challenge

      Lamps Challenge



    3 years ago

    This looks interesting, when you have a real-life, physical version completed, I hope you'll add photos and maybe even a video of it in action! : )