Servo tester
Servo tester is a useful little device that is needed especially when you do not have one. I’ve been placed in a situation like that few days ago what I was trying to connect ailerons with servos on my Deron plane and setup correct control throw.
Basically, a Servo Motor works on the principle of pulse width modulation or PWM. The angle of rotation of the servo motor is controlled by the PWM Signal applied to the Pulse Pin (or Control Pin) of the servo motor (usually, the Orange wire).
To be more specific, the duration of the pulse provided to the Control Pin will decide the angle of rotation of the servo. We know that most of the servo motors available today can be rotated from 0 degrees to 180 degrees. When the duration of the pulse is 1 milli second (1 ms), the shaft of the servo is rotated to 0 degrees.

Working :
Basically, a Servo Motor works on the principle of pulse width modulation or PWM. The angle of rotation of the servo motor is controlled by the PWM Signal applied to the Pulse Pin (or Control Pin) of the servo motor (usually, the Orange wire). e duration of the pulse provided to the Control Pin will decide the angle of rotation of the servo. We know that most of the servo motors available today can be rotated from 0 degrees to 180 degrees. When the duration of the pulse is 1 milli second (1 ms), the shaft of the servo is rotated to 0 degrees. n order to make and design a Servo Motor Tester circuit, you need to generate a PWM Signal and also control the duration of the pulse. In order to generate the PWM or Pulse Width Modulated Signal, I have used the good old reliable 555 Timer IC.
Specifications:
- High Build Quality
- The device also can be used as a signal generator for electric speed controller (ESC), then you can test your motor system without using a transmitter and receiver.
- There are 3 modes to check servos or ESC:
- Manual mode: turn the knob with different speed, check the reaction time.
- Neutral mode: make the servo go back to the neutral point.
- Automatic window wiper mode: make the servo swing like a window wipers in the biggest angle.
- It can connect 1-3 servos simultaneously and test such as 1-3 servos consistency and so on.
- You can also connect 1-3 ESC to test and compare their reaction time respectively.
- It can connect 3 servos of the CCPM helicopters and select servos.
- It can also connect the servo of airplanes install the steering-box and adjust planes by using such as the neutral mode and so on.
Technical Data:
- Voltage consumption: DC4.8-6V
- Size: 48 x 42 x 17mm
- Item size: 48*42*17 mm
- Net weight: 7g
- Package weight: 13g
Circuit Diagram of Servo Motor Tester

Interfacing with Arduino

Code :
Servo myservo1,myservo2; // create 2 servo objects to control servos
int potpin = A0; // analog pin used to connect the potentiometer
int butonpin = A1; // analog pin used to connect the push buton
int val; // variable to read the value from the analog pin
bool press=LOW; // variable to store the buton press
int pos = 0; // variable to store the servo position
void setup() {
myservo1.attach(3); // attaches the servo1 on pin 3 to the servo1 object
myservo2.attach(5); // attaches the servo2 on pin 5 to the servo1 object
Serial.begin(9600); // generates serial connection
}
void loop() {
press=digitalRead(butonpin); // reads the value of the buton (HIGH or LOW)
Serial.println(press);
if (press == 1) { // if push buton pressed automatic mode starts
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo1.write(pos); // tell servo1 to go to position in variable ‘pos’
myservo2.write(pos); // tell servo2 to go to position in variable ‘pos’
delay(15); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo1.write(pos); // tell servo1 to go to position in variable ‘pos’
myservo2.write(pos); // tell servo2 to go to position in variable ‘pos’
delay(15); // waits 15ms for the servo to reach the position
}
} else {
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 and 180)
myservo1.write(val); // sets the servo1 position according to the scaled value
myservo2.write(val); // sets the servo2 position according to the scaled value
delay(15); // waits for the servo to get there
}
}
Application :
- A smart little servo testerthan can be used to test servo motor,
- ESC and also to determine motor direction.
- Tests up to 3 servosat the same time.
- The device also can be used as a signal generator for electric speed controller(ESC), for testing your motor system without using a transmitter and receiver.
Reference :
https://create.arduino.cc/projecthub/bbil40/automatic-servo-tester-with-arduino-nano-c694e0
https://www.instructables.com/id/DIY-Servo-Tester-Arduino/
https://hackaday.com/2016/11/23/a-dual-purpose-arduino-servo-tester/