Uno R3 unable to actuate DC Motor

I have been using this tutorial to try and control this DC motor.

I have used different diodes, transistors, resistors and wires to exclude one of them being faulty. When I replace the DC motor with an LED it turns on based on the tutorial code. The DC motor works on the 5V and GND pins. The digital pin is missing the current part of the equation hence the usage of transistor and diode through the 5V. Yet I cannot get the motor to move.

Is there something I'm missing? Any ideas on what might be the problem for me?
When I obtain board info from the Arduino IDE I get the following:

BN: Unknown board
VID: 1A86
PID: 7523

The Arduino is not a power supply, and should never be used to power motors or servos. Ignore any tutorials that suggest otherwise, including the one you linked.

A 4XAA battery pack will power that motor, but many small transistors cannot handle the required current. You will have much better luck with a motor driver, such as this one: Pololu - BD65496MUV Single Brushed DC Motor Driver Carrier

Don't forget to connect the grounds.


Since you "used different diodes, transistors, resistors and wires" post a schematic showing what parts you used and if not standard parts post links to them. In your statement you given us a choice of millions of possible combinations and since my vision is not that good I cannot see what you have in front of you.

There are thousands of different transistors, which one?
There are thousands of different diodes, which one?
There are millions of different resistors, which one?
How are they connected together?

The ones from the link of the tutorial. The names of the parts are shown there

Then how do people get it working with just their Arduino? Ill look into seperate powersupply and a motor driver, thanks!

The tutorial just says a "small" motor.. perhaps some motors are "small enough" to work with the current available?

In theory... the Arduino 5v line should be able to provide enough current to drive this. Do you have a multi meter? Are you able to measure the actual current your motor is pulling?

How are you powering the Arduino - via USB or via the Power In jack. The latter is probably a better option, as USB current is limited.

Have you confirmed that your transistor switching circuit is working? When you say you turned the LED on, is that via the switch circuit or directly from the Arduino pin? If you connect the motor directly to 5v/GND does it spin? Can you power it from something else? Maybe the motor is a dud.

The Arduino was powered via USB.
The LEG was turned on via the switch circuit. If i connect the motor to 5V & GND then it does spin up. I also tried different pieces of the parts that I have. It seems the parts work fine but once I connect the motor in the circuit as described in the tutorial, it just doesnt move.

Possibly the voltage drop across the transistor is enough for the motor to not spin... 5 - 0.7 = 4.3v might be too low. Try powering the motor with say 4 x 1.5 batteries and see what happens.

I've measured the current of a tiny (no more than about 20x4x4mm) phone ERM vibra at uncomfortably over 100mA at 5V.

Me too, and the specs of such vibrators agree with that number. But that's why I said "perhaps"....

Sorry, you have that entirely backwards! :astonished:

Very simple: they take a chance on destroying their Arduino, and if the motor happens to work even once, then they post the tutorial.

If the experiment happens to destroy the Arduino, they don't post.

A few people place a disclaimer down near the bottom of the page, stating something like: "I'm not responsible if this damages your Arduino".

Yep... I'll take that. I guess both are limited... one by the on board regulator, and the other by whatever the PC can/will apply.

Thank you everyone for the replies! I'm kind of a beginner when it comes to this topic so this helps a lot. Im going to look into how to power the motor separately and look into motor drivers.

Consider, the "stiction" of a motor - the difference between static and dynamic friction. There is a "hill" to get over to start a motor. Once it's running, the friction is less.

If the supply to a motor is current limited, there may not be enough current to overcome the initial static friction. So it would work directly from a battery because it can supply the necessary surge current, but not a weak driver even if it could sustain the motor rotation, because it can't supply enough current to get started.