I have an input voltage of 8.5 volts (6 AA Batteries) plugged into an Arduino Uno R3 and then on that I have a Arduino Motor Shield. Then I connected a DC motor to the A+ and A- screw terminals. Then I write 255 to the right pins and the motor spins . . . slower than when I connect it directly to the battery. It's a motor rated for 9 volts but the input voltage is only 5.8 even at the screw terminals. If I increase the voltage to 12 volts (using a power plug), then I get an output of about 9 volts.

Is this because of the amp draw on the batteries? Is it documented that the motor shield has that kind of voltage loss?

I CAN just connect the 9 volts directly to the shield and power the Uno separately (but then I have to cut the vin pin on the Arduino . . . which I hope my bluetooth shield doesn't use). That's probably what I'll try while I'm waiting for an answer! Thanks.

  • \$\begingroup\$ What current is the motor rated at? Do you have a datasheet? (or have you measured it?) Also note that, according to the shield page you can cut the jumper marked "Vin connect" to power separately. \$\endgroup\$
    – Oli Glaser
    Feb 9, 2013 at 5:36
  • \$\begingroup\$ Okay, I cut the Vin connector, nothing worked (as expected) so I hooked up power to the screw terminals but I get the same drop in power. Now the voltage in (right at the screw terminals) is 8.10 volts and it drops to 6.6 (which isn't as bad but it's still not great). Can I connect a completely separate power source? Right now it's just in serial with the power that powers the Arduino board? \$\endgroup\$
    – tooshel
    Feb 9, 2013 at 5:54
  • \$\begingroup\$ Oh, and the no load current is 80mA and the stalled current is 1.8A. It's impossible to stall the motors the way they are installed . . . there is a clutch of sorts. \$\endgroup\$
    – tooshel
    Feb 9, 2013 at 5:55

1 Answer 1


I just checked the datasheet for the L298P, which is used on the shield. It's a bipolar based driver, and has a typical saturation voltage at 1A of 1.35V source and 1.2V sink, so a total of 2.55V. There is also a total drop spec given at this current of between 1.8V min and 3.2V max (see page 3 towards the bottom)

8.5V - 5.8V = 2.7V, so it seems what you are seeing is about right.

Here's a thread which discusses the drop, mentioning 2.6V.

So you need to raise the voltage to allow for the drop, but be careful of dissipation at higher currents. The higher the drop, the higher the power dissipated - there looks to be no heatsink on the chip judging from the picture, and I don't know whether they put a solid plane underneath it, so be careful not to exceed the maximum temperature (the datasheet has thermal resistance and max junction temp)

There are MOSFET based ICs out there which will not have this kind of drop (random example is the L6203), so you may want to consider buying a shield that uses one of those (or if there aren't any, making your own based on the chip)

  • \$\begingroup\$ Wow! Good catch. That's it. I'll look around but it seems EVERYTHING about DC motor control in the Arduino world mentions the L298. \$\endgroup\$
    – tooshel
    Feb 9, 2013 at 23:31
  • 1
    \$\begingroup\$ Why would anyone use something with such huge losses? Seems like it wouldn't be very efficient with power either. Must be a cost thing. \$\endgroup\$
    – tooshel
    Feb 9, 2013 at 23:45
  • \$\begingroup\$ It's a pretty old part, and since the drop does not vary too much, the higher the supply voltage the less inefficient it is. At 9V supply it's not ideal at all. \$\endgroup\$
    – Oli Glaser
    Feb 9, 2013 at 23:49
  • \$\begingroup\$ It's mostly an inertia thing. Someone unwisely chose these parts earlier on, and everyone else blindly copied them, as that's a world where copying is much more typical than engineering. \$\endgroup\$ Dec 30, 2016 at 16:20

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.