Is a motor shield really necessary ?

Hi !

I want to run motors with my arduino uno , and I was wondering if a motor shield like the Adafruit motor shiels was necessary ? And what does it bring to the arduino ? I mean why is it useful if we can run motors without it ?

Thanks everyone for your answers !

Matthias

Typical motors draw more than 40 mA (or require something other than 5V) so we can't drive them directly from digital output pins. With a simple transistor you can use a digital output pin to turn a motor on and off (and with PWM control speed) but you can't reverse the motor. To do that you need an H-Bridge which is what the Motor Shield has. This allows control of both speed (PWM) and direction (H-Bridge) and has drivers for higher currents and voltages.

Like they mentioned above the motor shield provides full functionality i.e. both directions at any speed.

If you want to achieve the same functionality without a motor shield you need to build a H-Bridge which typically consists of 4 transistors and some diodes and allows current to flow in both directions making the motor spin in one way or the other. Speed is controlled by PWM.

Without any of the above you will not be able to use a motor since the arduino is not capable of providing the necessary power making it necessary to use an external power supply which makes it necessary to use transistors for that matter.

A simple circuit consisting of 1 transistor will allow you to use a motor and control its speed in ONE direction. Depending on your needs, you might get away with such a simple circuit.