Introduction: Horizontal Travel Robot Arm

About: Engineering tinkering with open designs

This is the first product I built with an open design. It's a slight modification of a robotic arm and I built this with the intention of enabling practical and useful product movements.

The objective is to help you very quickly build an arm that enables you to add intelligence to it. I will publish the control libraries and image detection logic once I finish this first push of documentation.

Learn more at:

Summary Specs

0.88 lbs (0.4 kg) tested max payload

Vertical travel Z-axis: 6.8 inches (17.3 cm)

Reach Y-axis: 10.2 in (26 cm)Customizable

Horizontal travel X-axis (3.3 ft (1 m) as tested.

Step 1: Bill of Materials & Screw Guide

Attached is the entire list of materials you will need.

.STL files available here:

Step 2: Gather All the Materials

This is the entire build materials, and this image follows the logical position of each of the components. You can refer this continuously as a map of the build.

Step 3: Build the Grip

Make sure that you center your servo before finishing the assembly of the servo gear.

Materials Required

Grip 3d Printer parts

7 – M3 Screws 12 mm

7 – M3 Locking Nuts

2 – M2 Screws 6mm

2 – M2 Nuts

1 – MicroServo including Horn and Horn Screw/Washer

Step 4: Build the Base

Materials Required

Base 3d Printed Part

2 – 2020 T-Slot profile 100mm length

4 – M3 Screws 8 mm

4 – M3 washers

4 – M3 T-Nuts

1 – 3mm diameter Aluminum rod

Step 5: Build the Arms

Materials Required

3d Printed Arms

2 – M2 8mm Screws

1 – M2 6mm Screws

3 – M2 Nuts

2 – 3mm Aluminum Rod

2 – M3 20 mm Screw

2 – M3 16 mm Screw

1 – 12mm Screw

5 – M3 Locking Nylon Nuts

11 – MR63ZZ Bearings

Step 6: Attach Grip

Materials Required

Grip AssemblyArm Assembly

1 – M3 20 mm Screw

1 – M3 16 mm Screw

2 – M3 Locking Nylon Nuts

3 – MR63ZZ Bearings

Step 7: Attach Servos

Make sure that you center the servos at a ~45 degree angle, as shown in the pictures with the arduino before coupling them to the arm.

The arms have to be at a ~45 degree angle as shown at the "center position" of each servo, this will be crucial to have optimal range of motion.

Materials Required:

3d printer Servo mounts

2 – Servos2 – M

3 Screws 6 mm (Horn screws can be an alternative)

4 – M4 Screws 14mm

4 – M4 Washers

4 – M4 Nuts

Step 8: Add Bearings

Materials Required

Bearing Plate 3d Print

8 – M4 10mm Screws

8 – M4 Washer

2 – SC8UU Linear Bearing Block

Step 9: Cable Management Snapshots

Step 10: Carriage Assembly

Step 11: Camera

Step 12: Wiring Diagram

The objective of the robot is for it to be surprising simple. I'm using a Raspberry Pi with a PiCamera, connected by USB interface to an Arduino.

The Arduino directly controls the servo motors, and uses an A4988 Stepper motor driver to control the X-Axis stepper motor.

For power, I used an ATX Power Supply to power the entire system, using an LM2596 voltage regulator to obtain the 6.8 volts required by the large servos. Everything else is consuming 5v or 12v directly from the power supply.

Step 13: Software

You can find the code repository I'm using here:

The most challenging part is the Computer Vision with a single camera, and you can find more explanation on my blog post here:

Arduino Contest 2019

Participated in the
Arduino Contest 2019