I just started getting into electronics so I'm still a major noob. Any help would be much appreciated!

I have an Arduino UNO and have made a few basic circuits with LEDs and a small speaker using examples online. I recently learned a few of the electronic circuit equations like Ohm's law and am ready to start designing my own simple circuits.

I have a 1.5V-3V motor I'd like to try running with my Arduino. The issue is that the Arduino only has 3.3V or 5V power sources. I tried to use Ohm's law to figure out what kind of resistor to use, but I can't figure out what the resistance of my motor is. Am I wrong in thinking that a motor is the same as an LED? I assumed since both were diodes they would function the same way.

I'm attempting to make a simple source-resistor-motor-ground circuit, along the same lines as the simple resistor-LED circuits. I've seen people online say that PWM would work, but I wanted to try without it.

  • \$\begingroup\$ Taylor, a motor and a diode are actually different. A diode is a device that allows current to flow in one direction but not the other, with an LED being a special type of diode that also emits light! A motor doesn't fall into this category and so much be considered differently when designing circuits. \$\endgroup\$ – Murdock Aug 29 '14 at 17:30
  • \$\begingroup\$ See electronics.howstuffworks.com/led1.htm \$\endgroup\$ – Murdock Aug 29 '14 at 17:37
  • \$\begingroup\$ What kind of test equipment do you have on hand? \$\endgroup\$ – EM Fields Aug 29 '14 at 18:19
  • \$\begingroup\$ I think it is worth noting that an Arduino UNO's 3.3V supply is only rated at "DC Current for 3.3V Pin 50 mA". Whereas the 5V supply is significantly larger, able to supply about 500mA, minus the power used by the ATmega, and depending on the input voltage (not being too high). The maximum current from a pin is specified as "DC Current per I/O Pin 40 mA". However there is an extra 'gotcha' about an 8-pin port being limited to 100mA, so I tend to aim for well under 20mA from a pin, even when I think I know what I'm doing \$\endgroup\$ – gbulmer Aug 30 '14 at 0:40
  • \$\begingroup\$ The Arduino is just the brain, not the power station. \$\endgroup\$ – jippie Aug 30 '14 at 8:13

Motors are basically resistors. While others here will crucify me for saying that, this a basic analogy that's useful for beginners to understand. A motor is a long wire wrapped around a core, that interacts with magnets to spin. All wires have resistance and can be measured like a resistor (use the ohmmeter part of your multimeter).

A basic implementation of ohm law can be used. V = IR.

As you have noticed, the motor is intended for 1.5V to 3V. Motor specs are averages, and rely on specific conditions. Your motor provides X RPM and consumes Y current at Z volts. It will be faster/stronger at 3V than it is at 1.5V, while consuming more current, just like a resistor consumes more current at a higher voltage.

You can use PWM to control the motor, reducing the power compared to the percentage of the PWM signal. Or you can use a resistor to lower the current of the motor (two resistors in series combine the total resistance). Or you can realize that since the motor can accept more or less than its "Typical" voltage, you can give it 3.3V without much issue. It will just be a bit faster and consume a bit more energy (10% more).

Alternatively, you can use a silicon diode in series to drop the voltage 0.7V.

  • 2
    \$\begingroup\$ I've already sharpened the nails and I'm fetching my big hammer. \$\endgroup\$ – JIm Dearden Aug 29 '14 at 18:05
  • \$\begingroup\$ p.s. silicone is used for sealing baths not making diodes. \$\endgroup\$ – JIm Dearden Aug 29 '14 at 18:07
  • 5
    \$\begingroup\$ Yep, Silicon Valley is in Northern California and Silicone Valley is in Southern California. \$\endgroup\$ – John D Aug 29 '14 at 22:32
  • 2
    \$\begingroup\$ +1, but I suggest a couple of Si-diodes in series than a resistor. That's because the current of the motor is not always the same, and the "motor-resistor" equivalence is true when the motor is under "torque". Instead, when the motor is spinning "free" should be compared to an inductor, and the current is very low. Hence, the diode is favored because its drop being less sensitive to the current flowing through. \$\endgroup\$ – Mario Vernari Aug 30 '14 at 5:42

Motors are not diodes at all, so forget about that analogy.

If your small motor is intended to be run from 1.5 to 3 V, then nothing bad will happen if you run it from 5 V for a few seconds at a time. For now, just drive it from the 3.3 V supply using a separate transistor as the switch. The transistor will be controlled by a digital output of the microcontroller:

When the microcontroller drives IN high, the transistor turns on, which applies most of the 3.3 V supply accross the motor. The diode is important, because when the transistor turns off, the current in the coils of the motor will continue to flow for a little while, which could make high voltages if not given a nice path to flow by the diode.

I don't know what the current drive capability of one of your micro pins is. If the micro is running from 3.3 V, figuring 700 mV for the base-emitter drop of the transistor, that leaves 2.6 V accross R1. By Ohm's law, that means the current will be (2.6 V)/(300 Ω) = 8.7 mA. Make sure that the micro can source this much current. If not, you will have to raise, R1, which will lower the base current, which will lower the maximum motor drive current.

Assuming 8.7 mA is OK and figuring the transistor can be counted on to have a gain of at least 30, that means it can support up to 260 mA of motor current. That should be OK for a small motor, at least to see it spin at all.


If you have a multimeter, you can measure your motor to get a pretty good idea of its internal resistance. The measurement won't be 100% accurate, but it should be pretty close.

Or... if you have the motor's ratings, and its current draw is listed (particularly its "locked rotor" current), from that you can back-calculate its internal resistance. From there, it's pretty easy to devise a voltage divider with the motor as R2.

If in doubt, always err on the side of safety. The safe choice doesn't burn stuff up. A higher-resistance series resistor is safer than a lower-resistance one.

  • \$\begingroup\$ Is "locked rotor" the same as "stall" current? \$\endgroup\$ – JYelton Aug 29 '14 at 18:23
  • 2
    \$\begingroup\$ @JYelton - yep, that'd be one & the same. \$\endgroup\$ – TDHofstetter Aug 29 '14 at 22:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.