EDIT: I understand now, but with a microcontroller, why can't I just connect the data pin of the microcontroller to the data pin on the servo and the power form a battery bank to the power on the servo? Won't that just have the same effect?

All I know on this topic is that connecting a microcontroller's power output to most motors will roast the microcontroller because of the high current. People say the solution is a motor driver. How does a motor driver work (let's use a servo motor driver in this case.) Does it, somehow generate it's own power somehow, or is it supplied power from a power source and?

Oh yeah, why can't I just supply any old 5v servo motor with the 5v output pin on the C.H.I.P computer?

  • 1
    \$\begingroup\$ The law of power sonservation tell us that power can't be generated from nothing, so it needs power supply. \$\endgroup\$ May 24, 2016 at 11:31
  • \$\begingroup\$ A motor driver is just a set of high power switches that can handle the high power draw of a motor but can be controlled with almost no effort from the micro. \$\endgroup\$
    – Sam
    May 24, 2016 at 12:00
  • \$\begingroup\$ Connecting a microcontroller pin directly to the motor is a bad idea. Firstly there is current in which the motor needs a lot of. A microcontroller is not designed for that purpose and can only produce little current. Secondly the motor will pull the current it wants and this high current will generate heat and damage the microcontroller. Thirdly the motor acts like a slingshot and when you run it, it will create an EMF field which will be released into the microcontroller and damage it. I'm not fully correct but you can get the point. \$\endgroup\$
    – Bradman175
    May 25, 2016 at 2:39

2 Answers 2


Refer to the image below:


Your microcontroller and motor driver take power from main power rails (there might be two different power rails for both). However the need for motor driver arises because your micro-controller is not powerful enough. It has GPIO pins which can help you glow a couple of LEDs but they won't provide you enough current to drive a big motor.

In such cases, you need a motor driver. They are specifically built for this purpose. They take the power from power lines and dump into the motor. However they lack the brains.

For this, we again turn back to the micro-controller, which tells the driver what to do. As such, micro-controller controls the motor indirectly.

Bonus analogy:

Lets say you want to beat up a bully at your school but you don't have the muscles. So, you ask for support from the friend who spends his mornings and evenings at the gym doing some heavy lifting. However you still got to tell him who needs to be beaten and how much. You are micro-controller and gym friend is your motor driver. The bully is the motor.


Yes, it requires another supply which can handle the current requirement. A simple DC motor driver can be thought of as a kind of amplifier.

"Brushless DC", stepper, and various other sorts of motor with multiple windings are more complex, and sequence the power to the windings to achieve the right movements.

Classic 3-wire servos can have their PWM pin driven directly from a microcontroller, so long as the 5V power is from a suitable supply (your board may be suitable or it may not, it depends on maximum current requirement and supply). The PWM pin is a data signal and carries only trivial current.


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.