I was perusing Arduino's list of official shields and noticed the Motor Shield that can be used to drive up to 2 servo motors.

Being brand new to Arduino/robotics, I am wondering: do I really need this shield to drive a set of servos?

  • What does this shield really offer in the way of driving motors?
  • What is lost by not using this shield?
  • What if I my project has more than 2 motors?!?

3 Answers 3


The shield will drive a pair of DC motors (the common small ones in models), or one stepper motor (the precision motors you find in dead printers, etc), and can also connect onwards to other stuff, which happens to include servos. I certainly wouldn't get one to run a servo...
If you want more than two motors, there are other motor shields, or you could make a custom board to suit. There isn't enough power from Arduino outputs to drive a motor (in general) so some sort of driver is needed - for a simple DC motor, a simple transistor would do, you need bridges for steppers, or ESC's for RC-model type high-power motors. Servo's have their own drivers built-in, so can just plug-in to Arduino.
If you just want to control a couple of motors or a single stepper, the shield is quick & easy, which is where it is placed in the market.


The Motor Shield is for driving bare motors, not servos. Servos already include drive electronics and only require a PWM signal in order to control them, whereas the Motor Shield provides the drive electronics for bare motors.

  • Thanks @Ignacio Vazquez-Abrams (+1) - so it sounds like servos are more of an "all in one" choice, which has me wondering: when to use a servo vs a bare motor? I'm sure servos are more expensive (if they already come with the drive electronics, etc.), but are their specific use cases where one is preferred over the other (servo vs. bare motor), regardless of cost? Thanks again!
    – smeeb
    May 6, 2015 at 9:22
  • if you're talking about RC servos, they are closed loop systems. With the control signal you're asking the servo to move the shaft to a SPECIFIC ANGLE and HOLD IT.
    – Axeman
    May 6, 2015 at 10:31

You don't need this shield to drive servo motors, they have their own controller, you need just a 5V power line, GND and digital output pin to generate a PWM and that's it. Usually Arduino has enough power to drive servo motors.

This shield you are talking about is used for DC (direct current) and stepper motor. These motors need power gain and the shield provides it and often has a chip called L298N (which implements H-bridge) with MOSFETs to properly feed the motor.

What does this shield really offer in the way of driving motors?

A proper circuit and components so you plug your motor and connect into your board leaving you just the programming task to control motor's position and speed.

What is lost by not using this shield?

Actually, you use this kind of component just for practice purposes. It is already built and you just use it. However, it's a good learning process building the H-bridge yourself and understanding how it works and why it is necessary (if you have time, this is a good task).

What if I my project has more than 2 motors?!?

Well, just decide how many H-bridges you need. This shield has the capacity for 2 DC motors or 1 stepper motor. In case they are servo motor, you just use this lib. It is possible to have plenty of servos working together and all you need are good battery and enough digital pins. They share timers of microcontroller, that's why it works for many motors.

  • The statement “servo motors... have their own controller, you need just a 5V power line, GND and digital output pin to generate a PWM” is a little off. In general, servo motors have an encoder and use a separate servo controller to read the encoder and adjust PWM output to reach a setpoint. RC servos are a special subcase of servo motors. May 6, 2015 at 17:31
  • good point, @jwpat7, some modern servo motors come with sophisticated control techniques such as PID which improves the stability and precision. That's the "controller" I was talking about. May 6, 2015 at 18:18

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.