Introduction: Arduino Robotic Arm

Picture of Arduino Robotic Arm

I have bought 2 joysticks from ebay and tried to think what can I do. Then I came up with idea to make a small robot arm. What I needed was:

1x Arduino Nano

3x MG996R servos (I used one Futaba, because I had only two MG996R and it was not necessary to have much torque for turning)

1x Micro servo

2x Two axis joysticks

1x 6V voltage regulator

1x Battery

Other items: double sided PCB covered with photoresist, diode, capacitor, switch, socket for Arduino Nano, strip cable with connectors, PCB stands, screws, bike spokes for pushrods, linkage stoppers.

Step 1: Sketching and Modelling

Picture of Sketching and Modelling

I borrowed the frame from backhoe and made some sketches. Then using AutoCAD I made a 3D model. It was one of the longest step during production. I attach AutoCAD and .stl files if you want to see or take some ideas. Also I drew an outline for control joystick.

Step 2: Production

Picture of Production

As you probably saw, the 3D parts are made of rectangle pipes. The reason of this is that I wanted to make the robot of aluminium pipes, but when I started, I realised that it is too big challenge. The bending places breaks, so it has to be hot, but I don't have equipment for that, so I jumped to 3D printing technology.

I brought 3D model to local company and it printed the parts for $25. That wasn't the best quality, but acceptable for this robot.

Step 3: Assembly

Picture of Assembly

The best part of production was assembly. All I needed to do was to insert servos, make hinges of spokes, bend and connect spokes for pushrods.

Step 4: Programming and PCB Production

Picture of Programming and PCB Production

First I have made testing circuit on breadboard and wrote a program with Arduino software. I attach the code here. Then I drew tested circuit with Eagle software and printed it on transparent paper, which you can buy in almost any office. After that I peeled of the cover film from PCB, put on circuit scheme and using energy saving lamp exposured the board. I have made 2 boards, one for robot and one for control joystick. Following step was to clean left photoresistor in alkali bath and after that etching. After etching I drilled the holes and PCBs were ready to solder.

Step 5: Base and Joystick Assembly, Soldering

Picture of Base and Joystick Assembly, Soldering

I used plywood to make base and joystick. When PCBs were soldered, I attached them to plywood. And here it comes two errors of designing PCB:

  1. Lower holes of control joystick PCB are partly covered by connector sockets, so it's not possible to screw the board through them;
  2. Connector socket, which goes to robot is placed incorrectly. I messed up with pins, so I had to solder it upside down.

Last two things was to connect all wires and calibrate the movements.

And that's it, here is finished Robot Arm.

Step 6: Presentation

In this video you can go through again all these steps and check how the Robot Arm works. By the way, control is based on the ISO pattern.

If you like my project, please VOTE. Thank you for your interest!


Tech_REBEL_DVB (author)2016-05-22

Hello how can i convert my old video game gamepad into wireless controller for my racing robot? I dont know the exact specifications, hence im sending some pictures of its circuit board and connecting pin.. Hope i get reply soon should i use tje joysticks for arduino as per ur project? How can i program my arduino to controll robot's left-right movement with one joystick and reverse-forward with another?

airboy93 (author)Tech_REBEL_DVB2016-05-22

Hi. It is possible, but as it is a specific joystick and as I see it has a chip, it could be not easy to find out how it works. It might need some studies about similar joysticks and testing of the circuit. Probably it will be easier to do a joystick yourself where all connections and information of operation can be found easily and understood clearly :)

MonkeyMania121 (author)2016-05-13

where did you go to get 3d printed items?

airboy93 (author)MonkeyMania1212016-05-13

Hi. I have sent my 3d drawing to a local company and they have printed the parts for me.

MonkeyMania121 (author)airboy932016-05-16

what was the name of the company?

airboy93 (author)MonkeyMania1212016-05-22

Sorry for delayed answer. It is a small company in Lithuania with a website
I do not know if it helps you :)

sully797 (author)2015-11-13

Instead of using MG996R servos will FS5103R servos work in replacement?

airboy93 (author)sully7972015-11-14

Hi! Yes, but it is more complicated. Since these servos are continuous rotation you need to make some changes in code and I advice to put limit switches, otherwise you can break your robot :)

kathiravans (author)2015-10-28

its awesome i made it using a relays

airboy93 (author)kathiravans2015-10-28

Congratulation! Please share with us!

varunk7 (author)2015-09-25

How can i make it automated i.e. without joystick. So that it detects objects on its own and drops them at a particular spot

airboy93 (author)varunk72015-09-25

Hi! To detect objects you need sensors and a lot of programming. You can try yourself :)

varunk7 (author)airboy932015-09-27

Yeah, but can u please give me the outline of which sensors i might be needing and how might the code ? Like a brief insight. I guess i would be needing some proximity sensors and maybe an IR sensor?

airboy93 (author)varunk72015-09-28

You can have tens of variations making it. Probably you will need at least one proximity sensor for detecting the object and measuring how far is it from gripper. But this case is possible only when you have defined the object size in the program. The program should make robot to turn until object is detected and when it is, the gripper should move closer to the object and grab it. Here are some basic thoughts how it should act like :)

ritinder (author)2015-06-24

can you post the code

airboy93 (author)ritinder2015-06-24

You can find the code in 4th step. It is ".ino" file

praveenm3 (author)2015-04-12

instead of arduino how can i use raspberry pi?

airboy93 (author)praveenm32015-04-12

Hello. I'm sorry, I have never worked with Raspberry Pi, I don't know how to use it

samern (author)2015-02-14

Another question please, can you advise what the rest of the project BOM items are? There's the voltage regulator, a diode and a capacitor. Can you provide the details of each (model, type, capacity/size) as applicable?


airboy93 (author)samern2015-02-15

Hi, thanks for your question!
10uF electrolytic capacitor, choose voltage more than 15V.
Diode 1N5402 (200V 3A).
Voltage regulator 7806.
Hope that helps!

samern (author)airboy932015-02-15

Thanks. I just picked them up from Amazon. Went for a 50V capacitor. I bought a set of joysticks on Amazon too and they look very similar to yours. I will be adapting your design to mine since I plan to cut my arm out of flat plywood stock instead of printing. The shape of the arm will be slightly different (like the SAVOX one) but the electricals will be the same.

airboy93 (author)samern2015-02-15

That's great! I hope to see your design soon

samern (author)airboy932015-03-02

So I built my arm, only I have one servo more than you do. My arm is set to turn on a turntable, in addition to a shoulder, elbow, wrist and hand/gripper. Any thought on how to adapt your circuit to allow one of the joysticks to turn the arm around? For example, the 2 joysticks represent 4 sets of motion elements. So say Joystick A -- forward/back moves the wrist in its plane, then right/left moves the elbow, Joystick B -- forward/back might move the shoulder and left right might be turn left and right. That would suggest a standalone toggle to actuate the hand. Does that sound reasonable? The hand would actuate separate from the Arduino. Also, would a Micro work as well as the Nano?

airboy93 (author)samern2015-03-03

Nice to hear that! If I were you I would use the buttons of joysticks, you can use one to turn to one side and another to other side, or when you hold the button you can use joystick for another operation. It is up to you maybe you will find a better idea. Here is very good image of two standart control patterns:

I think you won't have any problems with Micro, you can use the same code. You only need to make some changes in PCB.
Add some images, I would like to see how it looks like. Good luck!

samern (author)airboy932015-03-03

I'll take a picture tonight and post it. It's basically this:

I modified that a little and I am using a metal gripper from SparkFun. I would love to hear suggestions about the PCB changes you suggest.

airboy93 (author)samern2015-03-07

What you need to do is only to supply 5th servo and connect it to free Arduino pin. Did you decided how will you control 5th servo?

pezhmanprd (author)2015-01-01

tanx man for your answer ....i have a another question much current i need for this project ? i use a 500MA adaptor but servo cant move ? its normal ?

airboy93 (author)pezhmanprd2015-01-01

In case you have not enough current, servos should start shaking when loaded or make small sounds. Check if you use less than 7V supply. I hope you will solve this problem

pezhmanprd (author)2014-12-28

and one thing more ....can u give me name of all your servo motors use in thig project ?

airboy93 (author)pezhmanprd2014-12-29

I used 3x MG996R and one modified micro servo, but you can use any micro servo, they are the same size. Arduino code is uploaded in step 4

pezhmanprd (author)2014-12-28

tnx for you answer.... i print the part with 3d printer ...i have a another question .... can you give me arduino code ? i cant write that and i cant find that in internet .

pezhmanprd (author)2014-12-28

tnx for you answer.... i print the part with 3d printer ...i have a another question .... can you give me arduino code ? i cant write that and i cant find that in internet .

pezhmanprd (author)2014-12-25

hello can you tell me size of robot arm 1 is : x:40 y:30 z:84 is correct ?

airboy93 (author)pezhmanprd2014-12-27

Hi. Yes, these are approximated values, if you want more precision: x:40.36, y:30, z:83.75

rash_rash (author)2014-12-09

good one

ScottMurchison (author)2014-11-09

I like how you used the servos with spokes to create levers. It is different from the usual robot arm design. Nice. Now I want to start doing 3D design and 3D printing.

airboy93 (author)ScottMurchison2014-11-09

Thank you. Yes, usually the parts are directly attached to servo arm, but in that way you can't adjust ratio of torque and travel. If you have any questions, feel free to ask

ScottMurchison (author)airboy932014-11-14

This week I joined Ottawa Imagine Space, a public lab containing 3D printers and a laser cutter. Using them is free and all I have to pay for is the plastic I use. Today I installed SketchUp on my PC and I imported your DWG file. Now I'm busy learning how to use SketchUp. I hope soon to print your arm parts. Thank you so much for sharing.

airboy93 (author)ScottMurchison2014-11-17

That's an amazing lab! That would be nice to hear from you soon. Good luck!

ScottMurchison (author)airboy932014-11-18

The website is They let you use the 3D printers for free (ProJet 1500 and a couple of Makerbots) but you par 30 cents per gram for the plastic. When I went there for training, the printers were out for service. They also have a laser cutter to cut wood or plastic or engrave virtually any material. Back to the 30 cents/gram. I picked up a small batman bust and was told it would cost around $26. That has me worried about how much it would cost to print all the parts for a robotic arm. It certainly could get expensive, especially since i can go to eBay and find aluminum arm kits.

airboy93 (author)ScottMurchison2014-11-18

My parts is not more than 50 grams. And probably you can choose printing without fill, it is cheapest way. I translated the code, you can check it out, I hope it is readable now

Graver (author)2014-11-17

You project is very well done. I really like the code it works very well I wish the software had more comments to explain how ir works. I have been trying to find the English translations of the commands but haven't been able to, some help there would be nice.

airboy93 (author)Graver2014-11-17

Thanks for your interest. In few days I wil translate the code for you and write some explaining comments

mirycia (author)2014-11-12

yes no problem


mirycia (author)2014-11-10

yes thanks any diagram to connect dont see here.

i stand to connect is very simply only i think need a diagram

airboy93 (author)mirycia2014-11-12

I will try to upload as soon as I can. You can expect it in one week

mirycia (author)2014-11-09

hi dont see schema electric for conecction in the 6 parts why?

or where

airboy93 (author)mirycia2014-11-10

Hi! I'm sorry, which shema do you mean? Electronic circuit with components?

calbertoC7 (author)2014-11-09

do you have any math model about your arm?

airboy93 (author)calbertoC72014-11-10

Hello. No, I haven't made any math model. Iwas measuring everything in 3D space

About This Instructable




Bio: Here can be your advertisement
More by airboy93:Bipedal walking robotArduino Robotic Arm
Add instructable to: