Let's Make Robots!

Digital and analog servo's


I have some questions regarding servo's and maybe someone can share the knowledge with me?

I want to buy an Arduino Mega board and several servo's for my ultimated goal (a hexapod). But I see that there are analog and digital servo's. So I have some questions wich I can't find the answers to.

1) What is the different between them? and what is the best one for a leg?

2) Do they connect to the same way on the arduino board? Because I saw some scheme's connecting it direct to the digtal port and some that has a resistor bank between them?

3) When programming the software, do you need to take in mind that it is a digital or analog servo?

Thanks in advance




Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

first of all... mega can handle

PWM: 0 to 13. Provide 8-bit PWM output with the analogWrite() function.

you have to understand how servo works... by the way, more than 12 servos you can't attach to mega... or just only via software but it's not recomanded... of course you can enable an internal timer of 2us what pulse the servo needs, and when the timer hits, pulse tot he pin... but mna this is something higher level... I'll go for an SSC-32 board, or a Micromaestro 24 ;) with arduino of course :)


correct me if I'm wrong somewhere...



and for the servo:

First off, there is no physical or main component difference between a digital servo or analog servo. The servo case, motor, gears, and even the feed back potentiometer all have the same functions and operations in both types.

The difference between the two is in how the signal from the receiver is processed and how this information is used to send power to the servo motor.

Analog Servo Operation

An analog RC servo controls the speed of the motor by applying on and off voltage signals or pulses to the motor. This voltage is constant (the voltage of the receiver battery pack, voltage regular, or BEC to be exact - 4.8 to 6.0 volts).

This on off frequency is standardized to 50 cycles a second. The longer each on pulse is, the faster the motor turns and the more torque it produces.


Digital RC Servo Operation

Digital servos to the rescue! Like I said before, a digital servo has all the same parts as an analog servo, even the three wire plug that plugs into the receiver is the same. The difference is in how the pulsed signals are sent to the servo motor.

A small microprocessor inside the servo analyzes the receiver signals and processes these into very high frequency voltage pulses to the servo motor. Instead of 50 pulses per second, the motor will now receive upwards of 300 pulses per second. The pulses will be shorter in length of course, but with so many voltage pulses occurring, the motor will speed up much quicker and provide constant torque.



but there are coreless servos and brushless servos :)

you do not use analogue write, that produces PWM, servos are controlled by PPM.  The is a arduino librabry specifically for this http://arduino.cc/en/Reference/Servo that allows you to control up to 48 servos on the mega.

1) digital are more accurate, but more expensive, noisy, and can jitter.

2) yes

3) no

Thanks for the information. I see now that an analog servo will do fine for my project. And that there are no programming differents between them.