dc motor

I’m working in a project and need to know how many PWM pins do I need to control speed and back / forward on a DC motor. The answer is 2 pins per motor? There’s a way to use only one? I need to control 3 motors and only have 6 PWM pins

Three PWM pins is enough for three motors but most motors draw more current than an Arduino pin can handle. Unless you are using very low current motors ( less than 40 milliamps) you will need some kind of external hardware. an H-Bridge is commonly used for controlling speed and direction. There are many tutorials for using motors with Arduino, have a look at some of the motor control articles in the playground: http://www.arduino.cc/playground/Main/InterfacingWithHardware#Output

If you need to ask for more advice it would help if you said a little more about your project and what kind of motors you are thinking of using.

Have fun!

This is the information I have about the motor.
Max amp draw 2.5. Use 5 amp fuse 12 V. I don’t know if this is enough information but if you can tell me a bit more about how to connected to a PWM port would be great.


You will need an H bridge, to control both speed and direction.

Try to google “Arduino H bridge” this should give you lot’s of info on just what you need.

Thanks for the advice. I found this tutorial and I was wondering if the TIP 120 is enough to handle the motor shown above.
Like I said, I’m not a “electronic guy”. Also I notice in this tutorial they use a potenciometer for the speed and direction. I also can control that from the arduino without the pot, right? To be more specific I can control the speed/direccion with a nunchuck.

A TIP120 would work but would not allow change of direction. The last line of that tutorial says:

"A motor controlled like this can only be turned in one direction. To be able to reverse the direction of the motor, an H-bridge circuit is required. For more on controlling DC motors with H-bridges "

There is a link to an H-Bridge tutorial if you need it.

Thank you for your response mem,
What is a little confusing for me is, do I need to connect the TIP120 to the H bridge or the h bridge itself can deal with the motor requirements without extra components. Sorry to be so annoying but is my first arduino project :slight_smile:


You need an h-bridge that can handle the current of your motor.
Sparkfun has some that work on 2.5 amps or more:
and if you read through some of the robotics sites you can find more.