How would I go about if wanted to drive a 10V DC motor with 5V logic, suuch as the one found by an Arduino, at different rotation speeds? Is there such thing as a motor driver that accepts an analog/digital value specifying motor speed?

  • \$\begingroup\$ Might be of interest and/or a duplicate: electronics.stackexchange.com/q/57899/2028 \$\endgroup\$
    – JYelton
    May 5, 2014 at 16:22
  • \$\begingroup\$ There are various ways to do this with transistors, fets, etc. If you want and off the shelf component that does the tricky bits for you, look for 'high side switch' on farnell, digi-key, etc. Control speed with PWM \$\endgroup\$
    – Will
    May 5, 2014 at 16:33
  • \$\begingroup\$ @Will I am familiar with the "traditional" way using a simple bipolar juncttion transistor, are there no dowsides if motor voltage is higher than the control voltage on the gate? \$\endgroup\$
    – joaocandre
    May 5, 2014 at 16:42
  • \$\begingroup\$ I wrote an answer to essentially the same question (except it was about PWM modulating LEDs instead of motors): electronics.stackexchange.com/questions/98435/… That answer also includes a suitable circuit diagram with some of the important protections (except for the clamping \$\endgroup\$
    – Jon Watte
    May 5, 2014 at 17:06
  • \$\begingroup\$ @JonWatte I've just read you answer, it was ver insightful. Two questions though: why the need for zeners, and would you need a current limiting diode in series with the LED in that case? \$\endgroup\$
    – joaocandre
    May 5, 2014 at 17:18

1 Answer 1


The simplest way that I know is for you to use an H-bridge. It will take PWM to control the speeds, which is easily output by the Arduino. The only downside is that you will need two supply lines: One for the Arduino and one for the bridge. They can run off the same supply, you would just have to use a LM316 or similar to get the voltages you need.

TI has a common h-brigde: http://www.mouser.com/ProductDetail/Texas-Instruments/SN754410NE/?qs=AMJt07B76uuZ4Fb3eRjJ6A%3D%3D&gclid=CKDTkIj-mb4CFYtDMgodyjUAJA

  • \$\begingroup\$ but how exactly would the PWM output modulate the voltage into the motor? \$\endgroup\$
    – joaocandre
    May 7, 2014 at 14:13
  • \$\begingroup\$ @joaocandre You have to provide additional voltage source for motor supply. \$\endgroup\$
    – Kamil
    May 7, 2014 at 14:56
  • \$\begingroup\$ H-bridge is easiest way to control motor to rotate in both directions. For one direction just one transistor will be enough. \$\endgroup\$
    – Kamil
    May 7, 2014 at 14:58
  • \$\begingroup\$ @joaocandre The h-bridge has a signal pin that is on/off. You can run your PWM from your micro-controller or other source into this pin. It will then drive the motor at a variable speed dependent on your PWM. \$\endgroup\$ May 7, 2014 at 15:41

Your Answer

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

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