Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Why use or implement a DC/stepper motor controller? Is it not possible to connect the motor directly to an MCU output pin without the driver?

share|improve this question
The existing answers discuss controllers for DC motors, which raise the supplied current. Stepper motors require a much more complex driver than DC motors, because their coils need to be activated in a specific sequence in order to rotate the shaft. They therefore need a controller to convert power into the correct sequence of pulses to the motor's various inputs. Read more: en.wikipedia.org/wiki/Stepper_motor – Jack May 15 '14 at 20:50
There are low current DC and even stepper motors, such as these steppers, which can be driven directly off microcontroller output pins. These particular ones need 7 to 15 mA of current. One does require flyback diodes across the coils, to prevent frying the MCU. – Anindo Ghosh May 16 '14 at 3:51
up vote 8 down vote accepted

A microcontroller has a very low output current. You shouldn't drive directly more than an usual indicator LED with it.

The motor draws a much higher current. Connecting directly will result in not working motor and destroying the microcontroller due to high currents.

Drivers are not used only for motors. They are used for any device that usually draws more than 50-100 mA.

share|improve this answer
really thanks for your reply and your answer. i would like to vote your answer but i still under the limit to vote. but really thanks – user3213767 May 15 '14 at 19:12
@Ricardo I thought of saying this, but I was afraid it is against the rules to "self promote". – Cornelius May 15 '14 at 19:20
@Cornelius well, I deleted my comment (in which I was instructing the OP that he/she could still accept the answer) because I had just checked the posting time and thought it was too soon for the OP to accept an answer... but after a while (a day or so) it's ok to ask the OP to accept an answer that was most helpful to them. – Ricardo May 15 '14 at 19:21
@Ricardo well it appears it is not to soon... – Cornelius May 15 '14 at 19:23
It never is too soon :D But that kinds of discourage others from posting a better answer. But in this case, you just nailed it, so why wait? :D – Ricardo May 15 '14 at 19:24

Maximum current of microcontroller output (typically 10-20mA) is not enough to drive motor coil.

Connecting motor directly to microcontroller will damage microcontroller output transistor.

Easiest way to connect DC motor to microcontoller is circuit like this:

enter image description here

Image source and more information: link

share|improve this answer
thanks alot for your answer..very usefull link.. thanks alot – user3213767 May 15 '14 at 19:22
To allow the others to see more answer. .the driver can be also connected with opto-isolation ,, see the link above – user3213767 May 15 '14 at 19:23

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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