I'm just now getting into electronics (I don't know why I waited so long) and I'm just figuring out some stuff. I picked up an Arduino kit from Vilros.com and a few other parts for my project.

I'm currently trying to work on a project that is basically a humidor keeper. Living in So.California, it's extremely dry here and I would like a perfectly controlled environment for my humidor. I purchased a few things like some humidity sensors (as an input obviously), a humidifier (basically a water canister with a sponge and tubes) some tube splitters and twist valves and most importantly, a small air pump.

The small air pump is what I'm having problems with at the moment. This is the pump. Obviously it's a 3v pump. I will be using the supplied 9v battery cable when the project is ready, so I understand I'll have to use resistors to bring the voltage down so I don't burn out the pump. As I said, I'm new to this, so I'm trying to figure out ohms law to find out what kind of resistor(s) I will need. The problem is, I don't know the amperage. Where would I find this?

I looked at the details for the pump and what looks like amps (or milliamps) is really just the product number. Can anyone help me out?

Right now, I have my equation as r=6v / ?i But where do I find the current?

  • 2
    The current used by a motor can vary. Normally the motor's datasheet would give you typical values. But in any case you don't want to use a voltage divider for this. May 5, 2014 at 17:52

2 Answers 2


There are two serious problems with your approach, which you will need to change in order to end up with a sound solution.

  • If by "9v battery cable" you mean that you intend to use a 9v battery, this is highly unsuitable for motor applications given its low power storage capacity and high internal impedance - without extreme care to use sleep modes, it probably can't even run the Arduino alone for a week. It would be much more appropriate to use a larger capacity lower voltage source - 4 or 5 C or D cells for example. A power supply could be another option, though given the water involved, be very careful to pick an isolated one and use a ground fault protected outlet.

  • Resistors are a poor way of reducing the supply voltage to a motor, as they are not only wasteful, but the applied power will depend too much on the load. A professional solution would use pulse with modulation to apply the supply voltage at a reduced duty cycle - something you can try with one the various motor shield, but you will need to be careful not to overheat the motor by using too high a duty cycle.

Probably your best bet would be to buy a pump with a 6 or 7v motor (as is showing up in the associated products at the bottom of that page), or even replace the standard-form-factor motor in that pump with a higher voltage one. A 7v or so supply voltage can then be a compromise solution for running both the motor and the arduino.

  • Great post! So much to say, but so few characters! Luckily, I purchased a 6v air pump before I purchased the 3 (the 6v shipping was going to take forever) so I will use the 6v instead. I didn't even connect the dots on the PWM spots, I will look into that instead. I'm not sure of the amperage, so I'm not sure how long this system would last even with larger mAh batteries. I see someone said the Arduino draws about 25mA while running code.
    – ntgCleaner
    May 5, 2014 at 20:15
  • You can reduce the current consumption of the processor by using sleep mode and only occasionally waking up to monitor, using the internal RC oscillator or at least a clock divisor, etc, however this may be tricky to do when using the arduino libraries. Additionally, other components on the board including the regulator may waste power. Make sure you never leave a signal driven against a pulling resistor. If you ultimately go with batteries you may want a custom board with a low frequency clock, low quiescent current regulator, and no onboard communication interface. May 5, 2014 at 20:22
  • all great points. I guess I just want to do this as a prototype (as the Arduino is supposed to be used) and then find someone to flash a chip/board for me for this purpose alone. Is that reasonable as well?
    – ntgCleaner
    May 5, 2014 at 20:59
  • Doing a simple proof of concept before chasing battery life can be worthwhile, yes. There is some risk of boxing yourself into a corner it will take work to exit if you ultimately want to run on batteries, but re-implementing things a second time based on lessons learned will obviously take less time than the first attempt. May 5, 2014 at 21:02

Unlike voltage, which depends on the source, the current depends on the motor itself. To find the current, you need to run the motor and measure it with a multimeter:

    +---------+ Multimeter |
    |         +--------+---+
+---+---+              |    
| Motor |              |    
+---+---+  +--------+  |    
    |      | Power  +--+    
    +------+ source |       

Note that when the motor is actually pumping, it will draw more current.

  • 1
    It also depends on how the motor is running. The more torque the motor is exerting, the more current it needs. May 5, 2014 at 18:22
  • Aah I see. Luckily it's just an air pump so when the motor is pumping, it should be at its highest needs. A friend told me about a DC power supply that is variable, so I could run it at 3v and measure the current from there without risk. Would this be the same thing?
    – ntgCleaner
    May 5, 2014 at 18:57
  • @ntgCleaner I think that would work. May 5, 2014 at 19:03
  • It will be at its highest needs when blocked. Put a circuit breaker between the full speed and blocked currents so that you don't burn out the motor. May 5, 2014 at 19:25
  • good call! I purchased a DC variable power supply (1.5-15v) from Tekpower. Whether I need it or not for this project, I'm sure I'll be able to use it sometime!
    – ntgCleaner
    May 5, 2014 at 20:17

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.