Interfacing Servo Motor with Arduino

In this tutorial, we will learn how to interface a servo motor using Arduino UNO.

The motor inside the setup of a servo is attached by gears to the control wheel. When the motor rotates, the potentiometer’s resistance changes hence the control circuit can precisely regulate how much movement there is and in which direction.

The motor’s speed is proportional to the difference between its actual position and desired position. When the shaft is near the desired position it turns slowly else fast. This is called proportional control.

They are controlled by sending PWM (pulse width modulated) signals through the control wire.
They are available in many sizes and are of three types
  • Positional rotation 
  • Continuous rotation 
  • Linear
The most common type is the positional rotational one.
So now we are familiar with the motor let us interface it

Components Required:

  • Servo motor 1No
  • Arduino UNO 1No
  • Few connecting wires
  • Breadboard
Follow the video below for circuit connection reference
After making the circuit dump the code given below.

#include <Servo.h>
Servo myservo;
int pos = 0;
void setup()
void loop() 
for (pos = 0; pos <= 180; pos += 1) {
for (pos = 180; pos >= 0; pos -= 1) 

This was the normal interfacing; you can also control the movement with the help of a potentiometer as shown below.
Servo motors can be used for several applications few of them are:
Servo motors are used in making joints of robots.

  • Surveillance cameras. 
  • Door opening mechanisms. 
  • Solar tracking systems. 
And much more…..

So try something out and let us know what you made in the comment section.

Two variants of servos are available one which rotates 180 degrees and other which rotates 360 degrees.
You can modify your servo motor to increase the rotation range just follow the link below.

Thinking ?

Join our hands-on training courses.
To know more visit us at