4 Axis Robot Arm DIY





Introduction: 4 Axis Robot Arm DIY

About: Passion for making.

I made this project mainly to learn using servos with arduino. Of course I could buy robot arm kit like MeArm and start programming, but making it from scratch teach you more. I wanted design the arm simple as possible and that's why I chose 4 axis build. Idea for pinch mechanism came from small tweezers. Arm accuracy is not best possible but good enough for practice purposes. Using better quality servos, advanced programming and more sturdier building components, accuracy can be improved significantly.

Step 1: Demonstration Video

Step 2: Materials and Cutting Parts.

Main material is 3mm plastic sheet. I also used some thicker plastic for base and some MDF. But you can use what ever material you feel comfortable. Some brass spacers/stand off is used for attaching components together.Bunch of M3 bolts and nuts, small screws and 4 servos. Brass rod and sheet for pinch mechanism. For finished look I personally like to paint all my projects mainly with acrylics. Let's get started.

First print out blueprints. Then clue them directly to plastic sheet. Cut along with the outlines and drill holes. I used small bandsaw and handheld saw (last picture). For the base I don't have blueprints but I think you can improvise.

Step 3: Assembling the Frame

Assembly was quite easy task. Everything was planned ahead so I simply just screwed all parts together. Of course there was some minor tweaks to be done. I attached servo horns with screws that was included in a servo package. For the lower part of the arm I separated two pieces with one 12mm and two 6mm brass spacers. For upper part I used just one 12mm spacer. Servos are standard hobby servos. 3 Tower pro 9g micro and 1 tower pro 996.

Step 4: Making Base

Base is made from 10mm thick random plastic. First I cut square approx 100x100mm. With table saw I made those two grooves where I attached base of that arm. With 30mm forstner bit I made that embed area for servo horn. To minimize friction between base and MDF I sanded both surfaces with fine sandpapers. Then I painted them and added couple layers of silicone spray. To get best result I recommend using some kind ball bearing system here. But for practice purpose this is fine.

Step 5: Pinch Mechanism

Entire system is made from 0.8mm thick brass sheet and 2mm brass rod. Its very simple design compared to many other out there. I bend brass rod with nose pliers. Solder is same stuff that we use with electronics. I also added small foam pieces at the end of a "pinch". Foam adds more friction so you can grab round objects. Brass is very sturdy and easy to manipulate so its ideal building material for prototypes.

Step 6: Painting and Decals

Remove all dirt and grease with mineral spirit or similar product. Add primer. Small project like this I usually paint with airbrush. After painting I added some left over decals to make it look more interesting. Before final assembly I added clear coat of lacquer.

Step 7: Electronics

When using servos with arduino you need an external power source for them. Well you may power one micro servo direct from arduino but not multiple ones. You can connect all positive/negative leads together and signal wires should kept separated. Total of 6 cables are needed to control 4 servos. If you have two different power sources like me (USB for arduino and variable PSU for servos), you must connect all negative leads together.

To control arm you only need some buttons and a POT. First I made breadboard test setup and after that I made very simple expansion dock for arduino nano. Couple pulldown resistors for buttons and current limiting for leds. Leds indicates when you have saved pick and deposit places manually. This arm is not using any eeprom stuff so you need to write coordinates directly to arduino for permanent use.

Step 8: Files

Software used : Google sketchup, Eagle cad and arduino editor.

Any comments are welcome. Thank you.

Robotics Contest 2016

Grand Prize in the
Robotics Contest 2016



  • Water Contest

    Water Contest
  • Oil Contest

    Oil Contest
  • Clocks Contest

    Clocks Contest

52 Discussions

I made it .. with a little extra something i just figured as ling as i
have a robot why stop make cool things like picking objects on it's own

Good job, I download the design and I started to build my own project

Where can I find the blueprints?! Thank you

sir can I get a list of all the materials/components you used to build this robot arm? thank you in advance!

sir what is the software is used to open this files


1 year ago

Hello Sir,

Very nice project, can i get the measurements in pdf plz

2 replies

Comrade you managed to send the pdf with the measures?

Hello Sir, i need the measurements in format of pdf file, the length, whole size, cutting size etc... please can send that sir.

could u please give more info about ur base and servo attachments

Great project you made here. Have you got the schematics of this project? Could you send it please? By fritzing or another program like that.

Thank you.

3 replies

I did this on circuits.io


Good job Martin ! It's nice to see that people are making improvements to this guide and helping others. Open source FTW :)

I only have eagle schematics available. File name "control.sch"

Have a nice day. Error loading code. I'm waiting for your help. Thank you.

Cords:16: error: 'Pick' was not declared in this scope

Cords:17: error: 'Home' was not declared in this scope

exit status 1

'recording' was not declared in this scope

1 reply

I guess you are uploading only one file to your board, Functions Home and Pick are declared on the F8ULMPIN2393LG file. I had these error messages while I was trying to build it on circuits.io... I just merged the files into one and that did the job.

I'll be trying this soon at home with the real board and see if it works (I've only been playing with Arduino for a few days)

You can check this for the code too. https://circuits.io/circuits/3588726-4-axis-robot-arm-diy

It is a good projet please shall you give mee the pdf and electronic design

Hello! How can I decrease the movement speed of the servo?

great effort made by you

I need your arduino code please

1 reply

Just download all *.ino files under step 8.


1 year ago

Hey, lovely project you did and am looking to do it during my holiday.

Do you have the full the drawing with full demensions? If yes, may you please send them to me at molebogengjr@hotmail.com.