# Issue powering up a DC water pump with Arduino Uno

I'm having issues powering up a water pump I got from a little water fountain with an Arduino Uno. I don't have the reference of the water pump, but after testing it, it works perfectly well with 5V and it requires between 100mA and 150 mA to be effective enough.

If I power the pump using the Arduino Uno 5V Vcc (not Vin), it works quite well, but as soon as I add a resistor in serie (to limit the current), it stops working, even if the resistor is as small as 33Ohms (which should top up the current to 150mA). I also notice that voltage drop to approximately 2.5V around the pump itself when I add the resistor (4.6V when mesuring around the resistor AND the pump). I studied electronics a long ago but I don't get why it behaves this way.

If you have any idea or explanation, I'd be glad to hear it, thanks !

The water pump is likely specified to run off 5 V supply, and consumes up to 150 mA depending on load conditions and/or motor manufacturing tolerances. A pump consumes more current (and thus more power) if it's working against more back pressure.

We can imagine that the equivalent circuit of the pump connected to a 5 V supply looks something like this: simulate this circuit – Schematic created using CircuitLab

This is extremely simplified, but essentially, the pump looks like a winding resistance in series with a voltage source that represents the back EMF (electromotive force) from the pump motor. We'll ignore winding inductance since this is pretty much a steady-state problem.

The back EMF is inversely proportional to the load on the pump. It will be zero volts when the pump is working hardest and trying to generate the most torque (ie: the rotor is blocked, or the pump is dead-headed). It will be almost at the supply voltage of 5 V when the pump is very lightly loaded, such as pumping against almost no backpressure. For certain types of pumps, it can be greater than the supply voltage if water is being pushed through the pump by an external pressure, in which case the pump is actually acting as a hydro generator.

Now, when you try inserting your 33 ohm resistor, the following happens: simulate this circuit

Short answer to your question: the motor in the pump is starved for current by the addition of the series resistor, so it cannot get enough current to generate enough torque to start rotating. Since it's not rotating, it never develops a back EMF, and all the voltage applied to the motor is dropped across its winding resistance.

We can actually compute the winding resistance, since you've essentially inadvertently created a blocked rotor test. Your supply voltage sagged to 4.6 V, and the voltage at the pump terminal is 2.5 V. We can state that the current through the circuit is thus:

$$I = \frac{4.6V-2.5V}{33\Omega} = 64 mA$$

Since the back EMF is zero, and the voltage at the motor terminal is 2.5V, we can state:

$$R_{winding} = \frac{V_{motor}}{I_{motor}} = \frac{2.5V}{64mA} = 39 \Omega$$

Given this, we can compute what the worst-case starting current is for a 5V supply:

$$I_{start(pk)} = \frac{5V}{39 \Omega} = 128 mA$$

So, you need a 5 V supply capable of supplying 128 mA, at least for starting up. Note that since your supply was sagging pretty heavily under only 64 mA of load (5 V to 4.6 V is 8% sag), you probably want to consider another supply.

... as soon as I add a resistor in series (to limit the current), it stops working, even if the resistor is as small as 33 Ohms (which should top up the current to 150 mA).

You have calculated that from $$\ R = \frac V I = \frac 5 {150m} = 33 \Omega \$$. But you have forgotten that if there is 5 V across the resistor there is nothing left for the motor.

Instead, work out what resistance you require for a specific voltage drop. Assuming the current will remain the same (it won't) you now can create a voltage drop of 0.150 mV/Ω of series resistance. So 5 Ω would give you about 0.75 V drop.

I also notice that voltage drop to approximately 2.5V around the pump itself when I add the resistor (4.6V when measuring around the resistor AND the pump). I studied electronics a long ago but I don't get why it behaves this way.

Reading 4.6 V means that the 5 V supply is collapsing. It is not able to power the pump. You need a better or separate supply.

2.5 V at the pump may not be enough to start it reliably. Motors often take up to ten times the current to start.

You could consider adding one, two or three diodes in series instead. These give a much more steady voltage drop of about 0.7 V each over a wide range of currents. This might overcome the starting problem - if there is one.