I'm trying to wire up a DC motor to a 9-volt battery with a resistor in between, and the motor just won't turn. It works if I connect the motor directly to the battery, but not with the resistor in between. Why is this?

  • Motor: 1.5-volt DC motor.*
  • Resistor: 270 ohm. (Red-Violet-Brown-Gold) (Because it's what I had laying around)
  • Battery: Normal 9-volt battery.

* I'll try to find more specific details, like a datasheet, when I get home. Unfortunately, I don't have the motor with me while I'm typing this question.

More specifically, I am trying to create something like this circuit:

The circuit I'm trying to make

With the intention of, when the switched is flipped, the motor changes direction. However, when I make this circuit, the motor doesn't spin, so in troubleshooting, I reduced it down to a single resistor, the motor, and the battery, with no switch or direction-changing, but the motor still doesn't spin.

  • 3
    \$\begingroup\$ Unfortunately this is an effective way to drain the battery pointlessly; the two resistors create a path from the supply to the return. Consider using a DPDT switch instead, in an H bridge configuration. \$\endgroup\$ Oct 2, 2014 at 19:57
  • \$\begingroup\$ After reading various sources, including this one, I was under the impression that this was the proper way to create a 'virtual ground' such that a load on the circuit could have negative or positive voltage. What, then, would be the proper way to create such a voltage splitter? The DPDT switch would not be ideal in my situation for a variety of reasons. I would prefer to keep the voltage splitter as part of the circuit somehow. \$\endgroup\$
    – ItsAmy
    Oct 2, 2014 at 20:59
  • \$\begingroup\$ Motors don't need a virtual ground. They need an H bridge. \$\endgroup\$ Oct 2, 2014 at 20:59
  • 1
    \$\begingroup\$ I have done some googling and realized that I made a variety of stupid mistakes in this question. I apologize for wasting your time. \$\endgroup\$
    – ItsAmy
    Oct 2, 2014 at 21:09
  • 3
    \$\begingroup\$ It's not a waste of time if you (and future visitors) have something to learn from. :) \$\endgroup\$
    – JYelton
    Oct 2, 2014 at 22:09

4 Answers 4


As Ignacio said, use a DPDT switch in an H-Bridge configuration. Also, you are just wasting power using resistors. Change to a 1.5V battery and you don't need a resistor.


simulate this circuit – Schematic created using CircuitLab

For a variation on your circuit, you could use two 1.5V batteries and stick with your SPDT switch:


simulate this circuit

The resistors you are using are not only wasting power, but they are also limiting the current too much so that the motor will not turn.

If you must use a 9V battery, you could use a smaller value resistor per Saidoro's suggestion and put it in series with the motor. Then either use the DPDT circuit above, or the SPDT circuit with two 9V batteries.

  • \$\begingroup\$ Note that using two batteries presents the problem of one draining faster/sooner than the other. \$\endgroup\$ Oct 2, 2014 at 20:58
  • \$\begingroup\$ @Ignacio Good point, I prefer your DPDT solution, but included the other in case a SPDT was the only one available. \$\endgroup\$
    – Tut
    Oct 2, 2014 at 21:27

With a 270 ohm resistor, even if you took out R2, that motor can at max get 33 mA of current, at an even less voltage due to drop across the resistor.

Not a whole lot of motors can get by with just 33mA. Even the little vibrating motor in a cell phone needs around 70 mA and up, and usually at 3 or more volts.

Give the motor some more juice.


The motor probably has a low resistance compared to the resistor, which would mean that it is not getting the 1.5 volts it needs to run while connected in series with it. The motor's datasheet probably lists its effective resistance, you'll want to hook it up in series with a resistor 5 times larger than whatever that is.

  • \$\begingroup\$ Probably worth pointing out that '5 times larger' comes from the ratio of the 9 V battery voltage to the motor's rated voltage: Vresistor + Vmotor = 9 V and Vmotor = 1.5 V, so Vresistor = 7.5 V and (Rresistor / Rmotor) = (7.5 / 1.5). \$\endgroup\$
    – nekomatic
    Oct 3, 2014 at 7:36

The circuit you posted is attempting to create a virtual ground. (I know this because you said so in your comment!) A summary of what the others are telling you is that the motor's resistance is much smaller than that of the resistors, and so it upsets the voltages.

But to follow your question further, there is a way to "amplify" a virtual ground using an op-amp. A simple search on "virtual ground" will reveal some examples of how this is done. But in your case the motor will still demand more current than the op-amp can supply, and so you would need to add a power amplifier (or a pair of transistors) following in order to make it work. (You'll see examples of this, too).

There is one exception, that if your motor is tiny enough, it could work at low currents using just the op-amp. This would be something on the order of the little vibrating motor from a cell phone. You said it was just 1.5 volts, so I thought of this possibility. You'd probably want a small resistor in series if the motor is 1.5v and the supply ends up being 3 or 4v.

The logical conclusion is to make use of methods suggested by the others. But I thought it would be instructive to follow up on your original question.

  • \$\begingroup\$ I see, per @whatsisname, that even the little cell phone motor won't cut it! \$\endgroup\$
    – gbarry
    Oct 2, 2014 at 21:41
  • \$\begingroup\$ Additionally, a 9v "transistor" battery is only suutable for very low current motors, as it has substantial effective resistance in its internal structure. \$\endgroup\$ Oct 3, 2014 at 3:45

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.