stepstube

Building a Six-Axis Robot Arm (Open-Source Design)

Advancedother

Tools

  • 3D Printer (Elgus Centuri carbon or similar)
  • Screwdriver Set
  • Wrench Set
  • Drill
  • Cutting Tools (for wood)
  • Wire Strippers/Cutters
  • Zip Ties
  • Computer (with Arduino IDE, ROS2, Arvis, MoveIt)
  • USB Cable (for Arduino)
  • SD Card Reader (optional)

Parts & materials

  • 3D Printed Robot Components (from ABS, ASA, and PLA filament)
  • approx. 3.5 kg total ABS Filament
  • ASA Filament
  • PLA Filament
  • 6 Stepper Motors (Nema 17 (for 6th axis, others implied))
  • 1 Planetary Gearbox (for elbow motor)
  • 2 Belt (T5, 88 teeth)
  • 1 Belt (T5, 84 teeth)
  • 1 Belt (T5, 80 teeth)
  • 1 Belt (T5, 70 teeth)
  • Belt Tensioners
  • Threaded Inserts
  • Couplers
  • Threaded Rod
  • Bearings
  • Nuts (including 8mm nylon nut)
  • Bolts (including 8mm, and kits for 3mm, 4mm, 5mm)
  • Power Supply (24V)
  • Power Supply Housing
  • Switch
  • Fan (24V)
  • Power Distribution Strip (with fuses)
  • 7 Stepper Motor Drivers (TMC 2208)
  • 24V to 12V Converter
  • Arduino Mega
  • RAMPS 1.4 Board (hat for Arduino Mega)
  • ULN 2003 (for camera setup)
  • Wooden Board (for base)
  • Raspberry Pi HQ Camera (optional end effector)
  • 16mm Lens (optional end effector)
  • Micro Stepper Motor (for camera focus/aperture)
  • Flexible Gears (for camera focus/aperture)
  • Servo (for gripper)
  • Gripper Linkages
  • SD Card
  • Wires/Cables
  • Zip Ties

Steps

  1. Step 1 · 07:16 in the video

    Print all necessary robot arm components using ABS, ASA, and PLA filaments. This step takes approximately 100 hours of print time.

    Tools: 3D Printer

    Parts: approx. 3.5 kg total ABS Filament, ASA Filament, PLA Filament

  2. Step 2 · 07:30 in the video

    Begin assembling the robot's base joint (Joint 1).

    Tools: Screwdriver Set, Wrench Set

    Parts: 3D Printed Base Components, Bolts, Nuts

  3. Step 3 · 07:53 in the video

    Assemble the shoulder joint (Joint 2), ensuring to set up the belt tensioner.

    Tools: Screwdriver Set, Wrench Set

    Parts: 3D Printed Shoulder Components, 2 Stepper Motors, 2 Belt (T5, 88 teeth), Belt Tensioners, Bolts, Nuts

  4. Step 4 · 08:36 in the video

    Set up threaded inserts in the 3D printed parts to allow for bolting and tensioning of the belts.

    Tools: Screwdriver Set, Wrench Set

    Parts: Threaded Inserts, Bolts

  5. Step 5 · 08:46 in the video

    Connect the driven portion of Joint 2 to the part that will hold the pivot point of Joint 3.

    Tools: Screwdriver Set, Wrench Set

    Parts: 3D Printed Components, Bolts, Nuts

  6. Step 6 · 09:02 in the video

    Set up the motor, belt tensioners, and other components for the elbow joint (Joint 3).

    Tools: Screwdriver Set, Wrench Set

    Parts: 3D Printed Elbow Components, 1 Stepper Motor (with planetary gearbox), 1 Belt (T5, 84 teeth), Belt Tensioners, Bolts, Nuts

  7. Step 7 · 09:09 in the video

    Set up the motor and coupling to enable the rotation of the fourth axis.

    Tools: Screwdriver Set, Wrench Set

    Parts: 3D Printed Components, 1 Stepper Motor, Coupler, Threaded Rod, Bearings, Bolts, Nuts

  8. Step 8 · 09:27 in the video

    Assemble the fifth link (wrist rotation) and the sixth axis, which has an internal motor for rotation.

    Tools: Screwdriver Set, Wrench Set

    Parts: 3D Printed Components, 1 Stepper Motor (Nema 17 (redesigned for)), 1 Belt (T5, 80 teeth), 1 Belt (T5, 70 teeth), Belt Tensioners, Bolts, Nuts

  9. Step 9 · 09:44 in the video

    Install the internal bearing and nut to join the two parts of the sixth axis. Ensure a small gap is left to prevent friction during rotation.

    Tools: Screwdriver Set, Wrench Set

    Parts: Bearing, Nut

  10. Step 10 · 10:27 in the video

    Map out, drill, and cut all necessary holes and circles on the wooden base for mounting components.

    Tools: Drill, Cutting Tools, Measuring Tape/Ruler, Marker

    Parts: Wooden Board

  11. Step 11 · 10:43 in the video

    Mount the assembled robot arm onto the prepared wooden base.

    Tools: Screwdriver Set, Wrench Set

    Parts: Bolt (8mm), Nylon Nut (8mm)

  12. Step 12 · 11:08 in the video

    Install the belts for all belt-driven joints (base, shoulder, elbow, and the other belt-driven joint) before inserting the main shafts that hold the joints together.

    Parts: 2 Belt (T5, 88 teeth), 1 Belt (T5, 84 teeth), 1 Belt (T5, 80 teeth), 1 Belt (T5, 70 teeth)

  13. Step 13 · 11:51 in the video

    Insert the shafts that hold the joints together.

    Parts: Shafts

  14. Step 14 · 12:04 in the video

    Use bolts to fully attach Base 2 to the rotating base of the robot.

    Tools: Screwdriver Set, Wrench Set

    Parts: Bolts

  15. Step 15 · 12:14 in the video

    Bundle and zip-tie all wires for a clean and organized appearance.

    Tools: Zip Ties, Wire Cutters

    Parts: Wires/Cables, Zip Ties

  16. Step 16 · 12:52 in the video

    Install and wire all electrical components, including stepper drivers, Arduino Mega, RAMPS 1.4 board, power supply, switch, fan, power distribution strip, and 24V to 12V converter.

    Tools: Screwdriver Set, Wire Strippers/Cutters

    Parts: Power Supply (24V), Power Supply Housing, Switch, Fan (24V), Power Distribution Strip (with fuses), 7 Stepper Motor Drivers (TMC 2208), 24V to 12V Converter, Arduino Mega, RAMPS 1.4 Board, ULN 2003 (if using camera setup), Wires/Cables

  17. Step 17 · 13:35 in the video

    Set up and connect the TMC 2208 stepper drivers to the RAMPS 1.4 board.

    Parts: Stepper Motor Drivers (TMC 2208)

  18. Step 18 · 13:47 in the video

    Connect the power supply to the Arduino Mega.

    Parts: Power Cable

  19. Step 19 · 13:54 in the video

    Assemble the gripper (optional end effector) by attaching the servo to the base and connecting the main linkages.

    Tools: Screwdriver Set

    Parts: Servo, 3D Printed Gripper Components, Linkages, Gear, Screws

  20. Step 20 · 14:45 in the video

    Attach the final gripper link, ensuring the gear makes contact at a point that allows all links to open and close in a parallel manner.

    Tools: Screwdriver Set

    Parts: Gripper Linkages, Gear, Screws

  21. Step 21 · 15:02 in the video

    Tighten the final screw to attach the assembled gripper to the output shaft of the robot's sixth axis.

    Tools: Screwdriver Set

    Parts: Screw

  22. Step 22 · 15:10 in the video

    Upload basic Arduino code to control individual joints. Test each joint's movement via serial monitor, adjusting directions as needed.

    Tools: Computer, Arduino IDE, USB Cable

    Parts: Arduino Mega, Robot Arm

    ⚠ Make sure to reference past videos on how to control stepper motors if you're not familiar with them.

  23. Step 23 · 17:17 in the video

    (Optional) Use Robot Operating System 2 (ROS2), Arvis, and MoveIt to model robot movements in 3D using existing CAD files.

    Tools: Computer

    Parts: Robot CAD Files

  24. Step 24 · 18:00 in the video

    (Optional) Save complex motion commands (waypoints) from simulation to an SD card. Implement Arduino code to read and execute these commands in batches from the SD card.

    Tools: Computer, SD Card Reader, Arduino IDE

    Parts: SD Card, Arduino Mega, Robot Arm

    ⚠ The Arduino Mega has very limited memory, so commands cannot be stored all at once. They must be sent via serial communication or read from an SD card in batches.

Tips from the comments

  • The specific belt sizes for the robot are: two bottom belts are 88 teeth, the next one up is 84 teeth, the next one is 80 teeth, and the top one is 70 teeth. All are T5 profile. Slight adjustments may be needed where they clamp.
  • Consider integrating the base motor within the base itself instead of having it outside with a belt tensioner for a potentially cleaner and more compact design.
  • Upgrading to high-speed BLDC motors with a proper controller and a 3D printed gearbox could significantly decrease weight and increase precision and power.
  • Adding small Time of Flight (ToF) sensors at the gripper could provide information about object size, enhancing the robot's interaction capabilities.
  • For more complex arms, switching from servos to stepper motors is recommended due to their higher precision.
  • Using a more powerful microcontroller like an ESP32 could overcome the Arduino Mega's memory limitations, allowing for smoother execution of complex motion plans without batch processing.
  • For a sturdier and cleaner base, consider using a smaller base plate, possibly with concrete inside.
  • Many builders struggle with ROS2 integration, especially the hardware part. More detailed resources or videos on this specific aspect would be highly beneficial.
  • The project's open-source nature and detailed sharing are highly valued by those who have struggled with similar robotics projects due to vendor claims, personal competence, or cost.
  • A common concern for builders is the robot's payload capacity and how much weight it can handle/lift, which was not explicitly covered in the video.
  • The video does not detail the mechanism for homing or position sensing (e.g., encoders), which is a critical aspect for a robot to know its precise location after power cycles or during movement.
  • There is interest in whether PETG would be strong enough for the 3D printed parts, or if ABS/ASA is strictly required, indicating a common material choice dilemma for DIY builders without enclosed printers.

Have a repair video of your own?

Make your own guide

Made from this YouTube video.

AI-generated from the video — double-check before you start. See Terms.