Arduino Robot Arm

Published

Introduction: Arduino Robot Arm

Ever wanted your own robot arm to pick up pencils and hand them to you? Well look no further! This Instructable will guide you through designing and assembling your very own robotic arm! First we'll start with gathering components to build it, then programming, and wiring, and then finish off and have your very own Robot Arm!

Step 1: Acquiring the Parts Necessary

In order to construct the arm you need to get some standard components:

-5mm MDF board or any other 5mm thick wooden boards that are lightweight (Foam-board works too if you don't have the tools necessary to cut wood precisely)

-5x 9 Gram servos

-Arduino capable of controlling at least 5 servos and receiving input from 2 joysticks (Preferably and UNO)

-Solder-less breadboard

-2x 2 Axis Joysticks (Or 4 Potentiometers, if you lack joysticks or places to acquire them from)

-Wire or metal rods capable of being used as push-rods (Check thickness) (Solid core wire is okay, Stranded is not)

-6x size 8 screws (At least 18 mm long) and associated nuts

-1x battery or just connect it to your computer for power

-Hot glue gun

-Lots of wires (preferably stranded) that can extend the servo wires to their positions and wire the joysticks.

-(Optional) a small but relatively heavy counterweight. (about 1 kg is perfect)

*Important note* you also need the screws that come with most servos in order to mount them securely

Step 2: Cutting Out and Assembling the Arm

In order to have a working arm we need something capable of supporting the servos and other components and function as an arm. For our project we used 5mm thick MDF board and had it cut out with a laser cutter in order to make it as precise as possible. If you lack the ability to cut wood, a sheet of foam-board from your local dollar store will do just as well. (We recommend using something very lightweight like Balsa wood since 5mm MDF Once you have your chosen material to cut it out from, you may either download the attached .Ai file to cut it on a laser cutter, or download the PNG version to print out and tape to the top of your material as a guide. Once you have successfully cut out the parts, It's time to assemble the entire thing. Prepare 5 screws (and nuts), 4 Servos, and your wires/push-rods to assemble it. Follow the images above to get an idea for how the components fit together. Insert screws into the larger holes to create working joints. The two thin sheets are to be hot-glued to the base in order to give clearance for the servo. Hot glue the horizontal rotation platform and both of the base components together.

For mounting the servos, you insert them into the 5 square slots and screw the servos down into the mounting holes. Do not attach any pushrods yet as you need to have it powered in order to fine tune the length. Have some hot glue ready if you want to attach the servos permanently (The 2 at the base will likely need some)

Step 3: The Electronics

The first step of this is obviously programming the Arduino. If you want a challenge or are learning how to do this, feel free to do this on your own. The only instructions you really need is that you have to bind each potentiometer's signal input as an output for controlling the servos. If you don't know how to or don't want to, you can also download the program from here directly and get set up much faster.

Once you have the program ready it's time for the electronics, this part will be split into two parts depending on whether or not you did it yourself or downloaded the program.

Programmed it yourself

Connect your servo signal wires to the assigned outputs you have chosen, and power and ground using a solder-less breadboard to distribute power to all 5 servos. Do the same with connecting the Joysticks, power them and connect them to the signal input you chose.

Downloaded the program

Once you've uploaded the Arduino, it's time to wire it. Use the photo above to wire both your joysticks. (Pins A0, A1, A2, and A3. Connect your Base arm lifting motors to pins 5 and 10, connect the Forearm lifting servo to pin 9, connect the claw servo to pin 6, and finally the horizontal rotation servo to pin 11. Use a solder-less breadboard to distribute power from the arduino (5v pin and gnd pin) to power and ground all the servos along with the joysticks. You can use the photos above in case you need help wiring the servos.

Once everything is connected and the Arduino has the program uploaded, give everything a test run. Keep in mind that you should have one pair of servos (pins 5 and 10) moving at the same time but in opposite directions. so that when the pull on the push-rods they can lift the arm up.

Step 4: Finalizing

Once you have the arm complete, it's time for the final step. If you haven't already, connect your servos to the arm and power them, Adjust your push-rod length accordingly to how the max/min will position the arm. Make sure you have some extra metal when you do it so that you don't end up with too short a rod to extend the length. Once you have everything connected, give it a go! Once you've adjusted everything to your liking, you're finished. Enjoy your brand new Robot arm!

Share

    Recommendations

    • Make it Move Contest

      Make it Move Contest
    • Casting Contest

      Casting Contest
    • Microcontroller Contest

      Microcontroller Contest
    user

    We have a be nice policy.
    Please be positive and constructive.

    Tips

    Questions

    12 Comments

    I want to 3D print the parts. Can you provide a link so I can 3D print it?

    3 replies

    They were originally designed for Laser cutting, but I can make a file for you, will post a link in this reply thread soon.

    Thank you very much.

    Do you have the parts to the robotic arm I can use to directly 3D print on thingiverse?

    2 replies

    The parts were originally designed to be Laser cut, but I can upload a 3D printable version for you, will post a link in this reply thread sometime today.

    I have questions about the joysticks. One joystick controls 2 servos while the other joystick controls 3 servos. Is it supposed to control 3?

    For the joystick, which pins are they connected to? Also what is the fifth servo for? Where is it?

    1st Servo for pivot

    2nd Servo for whole arm movement

    3rd servo for the top arm

    4th servo for the claw

    5th for what??

    1 reply

    The whole arm movement uses 2 servos in order to have enough power, the 5th is for the secondary whole arm movement. Joysticks are connected to A0, A1, A2, and A3, you can refer to the image in the instructible for help with that.

    The wiring below is for the first joystick. Second joystick would go in A2 and A3. Hope that helps!

    That's a neat project, do have any photos of it when completed?

    1 reply

    I'm going still going about fine-tuning the design and correcting anything here, hoping to have some pictures up by January 22nd once I have everything figured out.