I've been working on a project and cannot seem to get it right. I'm using an arduino to control a motor, and turning it on and off via a transistor. I had an issue with it not working, so I posted this question:

Newbie transistor question, trying to understand

I had the motor on the wrong side of the transistor. I fixed that. It's still not working. The odd issue is, however, that when I disconnect the motor, and hook a multimeter up to the leads going to the motor, the voltage is correct.

Before I go further, here's my amateur schematic.


simulate this circuit – Schematic created using CircuitLab

And let me apologize for not knowing what I'm speaking about exactly. I've 20+ years of IT and programming, but never really understood the ins and outs of electronics, the terms (I still am not sure if the cathode is the + or - end), and the proper way to address a lot of this. So in case I made the schematic wrong, I'll 'pseudocode' the circuit in english:

Motor, with diode going between the + and - terminals. The end of the diode with the white line is towards the positive terminal. (99% sure that is correct, when hooked to my multimeter, positive probe on the white stripe end and negative on the other, no current passes)

NPN2222 transistor. To illustrate the alignment, imagine it laying on a table, the flat side down. The pins are towards you, the black top away from you. The pin on the right side is the emitter, correct (for a NPN2222, or are they all the same?) That is grounded. The middle pin is hooked to the arduino digital pin with a 540ohm resistor in between (found that value by using some online transistor/resistor calulators. I may have done it wrong). The collector, the left pin, connects to the negative pole of the motor, as well as the diode (the non-striped side).

The positive pole of the motor/the striped end of the diode connects directly to the battery pack.

When the pin activates, the motor does not turn.

Now, where I am very confused:

I disconnected the motor. I put an LED in it's place. The LED lights up. I read other posts here regarding lowered voltage, the motor only getting like 2.7 volts instead of 3 because of the transistor, etc. So I hooked my multimeter up to the wires that would attach to the motor. When the arduino activates, I'm reading 2.97v on the pins. Thats more than enough to run the motor. What the heck is going on?

So then I hook the motor back up, and put the multimeter on the pins. When it should be turning on, it's only reading 0.17v. Without the motor, it reads 2.97v, with the motor - 0.17v.

I do know the motor has a high current draw. I tried my device with a micro mini motor and even attached directly to the battery it wasn't powerful enough to turn the wheel it was geared to. So I pulled a slightly larger motor from a remote control toy. This is strong enough, but pulls a little over 200ma (the micro motor pulled about 100). Is that possibly the issue? The transistor should easily be able to handle that.

Whats got me SO confused is without the motor the pins ARE getting 2.97V. With it, the the motor does not turn, and I'm reading .17v.

What am I doing wrong?

  • 2
    \$\begingroup\$ You need to figure out where the voltage drop actually is. When you have the motor hooked up and measuring 0.17 V, what is the voltage across the battery? What is the voltage across the transistor (collector to emitter)? Only then can we figure out how to fix this. \$\endgroup\$ – Dave Tweed Apr 21 '16 at 14:25
  • 1
    \$\begingroup\$ "found that value by using some online transistor/resistor calulators" ... Did your calculators take hfe (DC current-gain) into account? If so, what value was used? Please provide a link to the datasheet that you used. Did you use an appropriate hfe minimum spec for the nearest current? Did you use "a little over 200mA" for the collector current? (how about a link to your calculator and the values you used) \$\endgroup\$ – Tut Apr 21 '16 at 15:34


[My emphasis above.]

I suspect this is your problem. Adding a transistor does not allow any more current to go to the motor, than is possible by directly connecting the motor to the battery.

If your battery cannot power the motor successfully when directly connected, then it is no surprise that your circuit fails to drive the motor, when attempting to do so via your circuit. :-(

At a guess (and it would need measuring), the battery voltage itself is dropping when you attempt to drive the motor. What specific type is your 3V battery, and have you tried other power supplies of a similar voltage?

  • \$\begingroup\$ You misread - the comment was regarding a different motor not having enough power, and why I switched to a larger one. The larger one works just fine on the battery. \$\endgroup\$ – InfernusDoleo Apr 21 '16 at 15:21
  • \$\begingroup\$ Oh! Your story was complicated in that area - you mention 2 motors and then talk about "the motor" - so I think some confusion is allowed :-) So let's clarify: You have a motor which draws 200mA and runs successfully when directly connected to the battery - correct? Again, to avoid confusion, how do you know it draws 200mA? Somewhere, based on your figures, you are dropping (2.97 - 0.17) = 2.8V. The challenge is to find where that is, but I suggest starting with a stable circuit, where your LED test works, and a specific motor test does not (don't complicate things with any other motor). \$\endgroup\$ – SamGibson Apr 21 '16 at 15:35
  • \$\begingroup\$ @InfernusDoleo - It would still be helpful to know (a) what specific type of 3V battery you are using; (b) what the battery voltage is, when you attach just the motor to the battery, and it is running successfully; (c) if the answer to (b) is nearly the same as the battery voltage without load, then battery voltage drop is eliminated and please follow the suggestion from DaveTweed to measure the voltage across the transistor C-E with the motor trying to be active; (d) can you provide a photo of the wiring involved, so we try to spot any obvious concerns e.g. excessively long or thin wires? \$\endgroup\$ – SamGibson Apr 21 '16 at 15:53

Your diode is correct. If it weren't, you would basically have a short circuit.

The Battery

Depending on the battery, you may have more than enough voltage to run the motor, but not enough voltage when the motor is at load. Be sure that you can run the motor on the battery alone! If you can't, then the rest won't help.

Switching Device

Your circuit would work better with a MOSFET rather than a 2N2222. A transistor is a current-controlled device, meaning that the current that you drive through the base-emitter will determine the current through the collector-emitter. You will also hit the saturation voltage at a higher point as the motor current increases.

A MOSFET is a voltage-controlled device, meaning that the voltage that you put across the gate-source will determine the current through the drain-source.

  • \$\begingroup\$ Battery runs the motor just fine. And while a mosfet may be better, that doesnt help me understand what the issue is though. It sounds like it IS a current problem though, I guess. What type of MOSFET should I use? \$\endgroup\$ – InfernusDoleo Apr 21 '16 at 15:22
  • \$\begingroup\$ Do you know your current draw? \$\endgroup\$ – slightlynybbled Apr 21 '16 at 15:24

Your Answer

