Simple Motor Circuit

I'm looking for a simple way to power a solarbotics GM3 gear motor -

I'm trying to power it with the Arduino's Vin and ground through a 100 Ohm resistor. When turned on (its controlled by a transistor), the motor does not spin unless I give it a start.

Using USB to the Arduino, Vin should be 5 V. At 5V, the GM3 should draw 67 mA.

Should the Arduino be able to provide enough power? Should a smaller resistor or different pin be used?

Does anyone know a simple way to do this?

try a different resistor. Using Ohm's law: 5V/100Ohms = 50mA

You need a much smaller resistor: like 0 Ohms.

A voltage-dropping resistor is only needed if you're trying to power something with a higher voltage than it needs. Since the motor is supposed to be able to run off 5V, no resistor is necessary, and it's actually getting in the way of the motor working correctly.

Don't forget to put a "backwards" diode (cathode towards +5) across the motor.


Just don't forget that most DC motors will draw A LOT more current when starting than the stated max current. A motor with a stated max current draw of 67 mA can easyli draw 3 times that current for a short time when starting.

Also remember that the maximum current out of any one pin on the Arduino is 40mA.

There is a myth about that the Arduino limits the current to this, it is a myth. The Arduino's processor does limit the current but to above the absolute maximum of 40mA. Running a motor directly off an output pin is a guaranteed way of burning out that pin.

Ok, i'll try it without the resistor. The arduino digital output switches a mosfet transisitor, so there is no danger of burning that out.

If the Arduino is powered by USB, how much current can I draw from Vin? Can I use that or any other pin to power motor?

Can SN754410 H-Bridge be powered in same way? Can this harm Arduino?

I was thinking of building shield with this chip as it sounds pretty simple (as opposed to buying a shield. Does that seem reasonable?

the stall current for that motor is given as 733 mA. You may need a seperate power supply depending on the load. You can draw 500 mA from the usb minus the current used by the Arduino board.