controlling printer 13V DC motor


I have an Arduino Duemilanove with ladyada motorshield on.

It works fine to control a very small DC motor I got from a racetrack toy car.

I am now trying to control the DC motor from a printer (not stepper).

I don’t have the specs from the motor, but if I give it 13V from a (12V :)) power supply I built ( runs slowly but smoothly.

I now want to control it from my Arduino, so I connect the power supply to the EXT PWR block on the shield and set it at the same 13V.

I can then hear a buzz coming from the motor. The buzz follows the commands I setup in Arduino-0014, so I guess the power reaches the motor, so why isn’t it moving? Since it does work directly from the power supply, why won’t it from Arduino with the same voltage?



How many amps does the DC Motor need?

If its less than .6 Amps it should work fine. You might have a error in your code. If its greater than .6 Amps but less than 1.2 amps, you have to connect both h-bridges on the shield to the dc motor and use both of them to control the motor. If its greater than 1.2 amps, you'll need another solution

I don't know how many amps is the motor, there is a sticker on it with many numbers, but after searching the web they didn't lead me anywhere, (no voltage, no amps, no rpm, nothing) so I don't know.

I did verify the code and there seems to be no problem with it since it runs the smaller motor quite nicely.

When you say I'd have to connect both H-bridges, do you mean each lead of the moto sould use 2 blocks on the motor shield? (2 blocks in parallel?) ex: (+ in M1-M2) ( - in M1-M2).

It probably has to do with the amperage, but how come it's ok from the power supply and not from the Arduino? Can the amperage coming from the power supply bust my Arduino?

I'm just starting in electronics, I appreciate your help a lot!


well the power supply is probably capable of supplying the right amount of current and therefore it works with the motor. The reason it might not be working with the Arduino, is cause the Ladyada Motor shield can only supply upto 600mA from each H-bridge.

So say you have a power supply that can supply 3 Amps and a motor that requires 2 amps. If you connect the motor to the power supply, it should work no problems. However, now if you connect an Arduino with the motor shield in the middle, the max, the motorshield can draw from the supply is 600mA and therefore the Motor does not get enough current.

There is more information on doubling up the current as I suggested on the motoshield website:

look at: Powering your DC motors, voltage and current requirements

However, I would first find out how much current the motor uses. Hook the motor up to the power supply and use a multimeter to see how much current is being used. That should give you a rough idea of the power usage

Do you have any test equipment, e.g. a multimeter?

if you don't have enough current, find right transistor and use it to supply current from somewhere else than arduino

Ok, I tested the amps like this, (in series)

power supply at 13V : Multimeter set on 10A :

(+) from power supply connected to one lead of the motor.

other lead of motor to multimeter

then multimeter back to power supply.

I get a reading of 0.02 when no load is applied to the motor and 0.45 when I pull the chariot of the printer.

If I set it right, which one of these rating should I consider?

Then I guess 0.45 is 4500 milliamps... So all I can do with this motor through Arduino is to watch it spin it's axle... quite exciting. (It does vibrate though)

But the question remains, there must be a way to use Arduino to simply control the motor without providing the power. Is there?

Thanks again.

Then I guess 0.45 is 4500 milliamps...

No 0.45 Amps is only 450mA

which one of these rating should I consider?

If you are going to use the motor with a load then it is this you must design for so call it half an amp.

there must be a way to use Arduino to simply control the motor without providing the power. Is there?

Yes read:-

Great! thanks everyone!

Nice beginner link Grumpy Mike!