Introduction: Servo Robotic Arm Arduino Based

About: Electrical engineer by profession

Hello makers this time I am sharing my new project of Robotic Arm using ArduinoUNO board and Micro 180 degree servo motors I hope you’ll find it interesting.
I will try to show you how you can control 4nos. Tower Pro 9g servo arranged as a robotic arm, you’ll have 4 DOF, can control this Robotic arm with 4 set of potentiometer arranged parallel with our robotic arm, Robotic arm will move, act & follow potentiometer movement, you can pick and place tiny items with the help of tiny griper attached at the end of the arm.

Step 1: Video

[Play Video]

watch video for better understanding

Step 2: Material Required

Material List—
1) ArduinoUNO - 1nos.
2) Tower Pro 9g Servo Motor with accessories. - 4nos.
3) Potentiometer as per recommended range (I used 10k ohm) - 4nos.
4) 3M tape double side.- as required
5) Ice cream sticks- 20 sticks
6) Cable tie.- as required
7) Industrial Glue (Fevi stick in India)- as required
8) Jumper wires & normal thin wires.- as required
9) Bread board- 1nos.
10) 5V DC Source.- 1nos

Step 3: Some IMP Points

Some IMP points before processed.
1) There is always shaking problem with small servos, so use onboard 5V & GND for potentiometer and keep delay time in programming code as small as possible 5mili sec recommended.
2) Must use external 5V DC source for servo to avoid extra load on Arduino board.
3) Must short onboard GND & External DC source GND.
4) Potentiometer Range advisable to keep between 1K to 22K OHM & potentiometer must be Single turn or best if you manage to find half turn it will sink perfectly with servo 180 degree freedom of motion.
5) It is advisable not to fix any mechanical joints permanently before first trial.
6) In material list I will take notes of major items only, other supporting accessories you can use according to your convenience.
7) Use wires as thin as possible for Potentiometer wiring so potentiometers will reach there extent positions without bearing the tension of thick wires.

Step 4: Detail Engineering

Arrange all necessary items..
Please go through the attached images and video for better understanding..
I divide whole project in three parts
1) Servo Motor assembly
2) Potentiometer assembly
3) Electrical & Programming

1) Servo motor assembly: - as shown in image name the servo motor as M1, M2, M3, M4 fix the servo motors as shown in image use ice cream stick to make arms, use 3M tape to glue sticks and servo, use thin flexible plastic strip to make griper, make hole in center of each finger tie thread in that hole pass this thread from center hole and tie knot at the other end of thread with 4th servo motor’s knob, as you stretch thread finger get close vise versa. Fix whole arrangement on strong rigid base.

2) Potentiometer assembly: - Fix potentiometer as shown in figure name potentiometer as do previous P1, P2, P3, P4 this time place P4 separately for easy access this potentiometer control gripper to pick and place. Potentiometer arrangement symmetry must be same as servo arm. Fix whole arrangement on strong rigid base.

3) Electrical & Programming:- Potentiometer generate Analog signal, Arduino takes this analog signal as a input & process and generate PWM output, Servo takes this PWM signal as input and moves accordingly. Wire potentiometer and servo as shown in figure.
Use thin copper wire for wiring.
Tower pro 9g servo motor works fine on 5V DC supply this servo so smooth generate excellent torque very nice performance
Arrange external 5V DC source, connect positive and negative wire of each servo respectively to 5V & GND of external source & signal wire to respective PWM pin of arduino board (M1=6, M2=9, M3=10, M4=11)
Potentiometer have three terminals: - +VE, GND, OUT (middle one)
Servo motor have three terminals: - +5V(red), GND(brown), SIGNAL(orange)

Programming code: -----

Servo myservo1;
Servo myservo2;
Servo myservo3;
Servo myservo4;

int potpin1 = 0;
int potpin2 = 1;
int potpin3 = 2;
int potpin4 = 3;
int val1;
int val2;
int val3;
int val4;

void setup()
void loop() {
val1 = analogRead(potpin1);
val1 = map(val1, 0, 512, 0, 180);

val2 = analogRead(potpin2);
val2 = map(val2, 0, 512, 0, 180);

val3 = analogRead(potpin3);
val3 = map(val3, 0, 512, 0, 180);

val4 = analogRead(potpin4);
val4 = map(val4, 0, 512, 0, 180);


So that’s it hope
Se you next time with new project
Feel free to contact
Bharat mata ki jai...........