Components and supplies

Apps and online services

About this project

Robot arms are one of the most popular DIY projects you’ll find online. When we sat down to design our version of an Arduino robot arm, we decided to take on a challenge and create it out of recycled materials. The way we see it, being a maker, also means thinking out of the box and asking yourself how to utilize different materials that are available to you, without producing more waste. Using pieces of scrap wood and some plastic bottles, we put together the body of the robot arm. We made heat shrinks out of plastic bottles with a neat technique we learned online, and used a potato (!) as a weight so the robot wouldn't tip over.

This project was a lot of fun for us, as it reminded us why we love making so much.

You can also find the full tutorial for this project and others on our blog.

Robotic Arm video

Note: In the video you'll see an earlier version of circuito.io, therefore, it's best to follow the steps in the tutorial.

Robot arm code

Replace firmware.ino test code from circuito.io with the firmware.ino code in the repository. Leave the other libraries as is.

Make sure to leave "Include Libraries" and "Pin definitions”. Check that the pin definitions match.

Materials

robot arm materials

We used 1cm-thick wood scraps we had in our workshop. In some places, we glued 2 pieces together for extra strength and robustness. You can check for other materials you have around you but make sure that it’s sturdy yet flexible.

For tying the parts together we made heat-shrinks out of plastic bottles. It’s an awesome technique that you can make with plastic bottles you have at home. Play around and test these a little, you’ll be surprised how strong they are.

Assembly

The base

Start the build with a solid base so that the arm doesn’t tip over. At the same time we also need to understand what would be the best way to bind and tie the pieces of wood together so that the base is solid.

In the image below you can see the way we used the heat-shrinks and a potato (!) as a base as the weight. Just don’t forget to replace it from time to time :)

robot arm side view

Balance

Placing the second servo was more tricky and we feel that this area still needs some attention. We realized, after building the prototype, that we hadn’t given enough thought to balancing the upper arm. Therefore, the servo motor draws a lot of current - something that can be overcome by using a counterweight on the opposite side of the arm.

Robot arm motors

The gripper

There are different types of grippers we considered, and we weren’t really sure what we're going to do here. Eventually, we decided to make one side of the gripper static so that it will have a strong grip. As you can see in the image below, for the moving part we made a joint, that is controlled by the servo and added a spring for closing and opening.

Robot arm gripper

Eventually, we placed some string inside an elastic tube to connect between the servo motor and the gripper, the same mechanism that you can find in bicycle brakes.

That’s basically it! You’ll probably need to make minor tweaks and changes to the code and mechanics according to the material and electronics you use. If you have any insights or comments, we’d love to hear them! Share them with us on our forum or in the comments below

Code

Robotic Arm code

1. Replace firmware.ino test code from circuito.io with the firmware.ino code in this repository
2. Leave the other libraries as is.
3. Make sure to leave "Include Libraries" and "Pin definitions"
4. Check that the pin definitions match