Under what circumstances should I prefer a continuous rotation 'servo' to a DC motor, or vice versa?

It seems to me that to use a DC motor, I'm going to need three pins from an MCU -- two for forward/backward/brake/coast and one for PWM. On top of that, I'll need an H-Bridge.

For a continuous rotation servo, I'll only need one signal pin and some code to send proper timing signals. I can't control the speed of the servo, can I? Also, it must have something akin to an h-bridge inside the motor, which surely ups the cost, but the motor will always be geared, which is a plus.

So, what are the pros and cons of each, and when should I choose one over the other?

  • \$\begingroup\$ Forward/backward/brake/coast? PWM could do variable speed forward and backward from a single pin. \$\endgroup\$
    – endolith
    Mar 25, 2010 at 15:34
  • \$\begingroup\$ @endolith Really? I'd never heard of doing that. I can see that it could be done if you had a chip on the other end to decode the signal and re-encode it on two pins (foward/backward and a new PWM signal) sent on to an H-Bridge. \$\endgroup\$ Mar 25, 2010 at 16:14
  • \$\begingroup\$ Well you're not running the motor directly from the PWM pins, so you can offset it and amplify it. You can use 0% duty cycle to mean full reverse, 50% duty cycle to mean off, and 100% duty cycle to mean full forward, for instance. But what are brake and coast? \$\endgroup\$
    – endolith
    Mar 25, 2010 at 19:21
  • \$\begingroup\$ @endolith The chart on ikalogic.com/H_bridge_1.php shows the four modes of operation of an H-Bridge -- the motor turns forward/clockwise, the motor turns in reverse/counter-clockwise, the motor has active braking applied to it, or the motor is freewheeling or coasting. \$\endgroup\$ Mar 25, 2010 at 20:33
  • 1
    \$\begingroup\$ brake & coast are modes where the controller doesn't supply any power, and the mechanical load back-drives the motor, so it acts as a generator. If you turn off all 4 drive transistors, the motor free-wheels or coasts; if you turn on either both the high-sides, or both the low-sides, you form a low impedance electrical load to the motor, which causes it to act like a brake. \$\endgroup\$
    – JustJeff
    May 27, 2010 at 22:37

2 Answers 2


I can't control the speed of the servo, can I?

Yes, you can, but not to a very good degree of control

Also, it must have something akin to an h-bridge inside the motor, which surely ups the cost, but the motor will always be geared, which is a plus.

Continuous rotation servo:

  • Gearing
  • Built in motor driver
  • Single pin control (forward, reverse, speed)
  • Easy to mount the servo, and to attach movements to the horn
  • Hard to 'center' due to temperature drift - ie, without feedback you can't ever fully stop a servo, and even with feedback it continues to hunt for 0, and induces vibration into the mechanism


  • Cheaper (even with gearing, especially in quantity)
  • Greater degree of control with a good motor driver
  • Doesn't require a PWM signal
  • Smaller
  • Lower power consumption for most applications

A (hobby) servo motor is a DC motor plus a decoder chip and an H bridge all in one convenient package.

It can't do anything that you couldn't do by taking that same DC motor and adding your own H bridge and your own H bridge driver.

The main pro of a (hobby) servo motor is:

The servo saves time -- it comes in a really convenient package, I can control it with a single pin on my microcontroller, and I don't have to fuss around with wiring up my own H bridge, etc. I can be pretty confident that no matter what the software does, the motor and driver will survive for at least a few seconds -- it's impossible to instantly destroy transistors by accidentally turning on all 4 arms of the H bridge.

Since hobby servo motors are made in such huge quantities, it's almost always cheaper to use an off-the-shelf servo if it does what you need, rather than try to re-implement the wheel from parts yourself.

The main pro of a DC motor is:

I have complete control over how I control it, with my own H bridge. I can insert limit switches in the power wires so the software can't drive the motor further past the switch, but it can drive the motor to pull back away from the switch. I can build custom solutions that can do things that none of the commonly available servos can do.

p.s.: Have you heard of OpenServo?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.