Introduction: 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
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
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
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
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.
Attachments
Step 5: 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:
- Lower holes of control joystick PCB are partly covered by connector sockets, so it's not possible to screw the board through them;
- 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!

Participated in the
First Time Author Challenge

Participated in the
Microcontroller Contest
75 Comments
4 years ago
really awesome , i am trying to do the same project with 6 servos , joystick and bush botton for the griper, but still not working well
Reply 4 years ago
Thank you for your comment. I believe that you will make it work well and, of course, challenges will give you valuable experience, keep trying!
Question 5 years ago
have you worked upon eezybotarm mk1?
7 years ago
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?
Reply 7 years ago
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 :)
7 years ago
where did you go to get 3d printed items?
Reply 7 years ago
Hi. I have sent my 3d drawing to a local company and they have printed the parts for me.
Reply 7 years ago
what was the name of the company?
Reply 7 years ago
Sorry for delayed answer. It is a small company in Lithuania with a website www.3dgamyba.lt
I do not know if it helps you :)
7 years ago
Instead of using MG996R servos will FS5103R servos work in replacement?
Reply 7 years ago
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 :)
7 years ago
its awesome i made it using a relays
Reply 7 years ago
Congratulation! Please share with us!
8 years ago
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
Reply 8 years ago
Hi! To detect objects you need sensors and a lot of programming. You can try yourself :)
Reply 7 years ago
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?
Reply 7 years ago on Introduction
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 :)
8 years ago on Introduction
can you post the code
Reply 8 years ago
You can find the code in 4th step. It is ".ino" file
8 years ago on Introduction
instead of arduino how can i use raspberry pi?