Automatic water pump

Hi there,
I am planning to make an automatic watering system for my plants using the Arduino Uno. I will power the Arduino from 12VDC jack. The Arduino will connect a digital output to a relay and also power it with 5V. The relay will connect the 12 volts from the power supply to a 12V water pump when it is on. Is 12 volts too high for the Arduino? I read somewhere that if you power it with 12 VDC, Arduino should not power anything with current greater than 100mA. Also I read that a relay typically draws 75mA. So if I don't connect anything else to my Arduino (except an rtc) should I be good? (75mA < 100mA)

My parts:
Power Supply 12VDC 1A PSU
Liquid Pump Motor - Micro 12V
Real Time Clock Module I2C - DS3231
Relay Module - 1 Channel 5V High Level Trigger
Arduino Uno ATmega328P



Your current is total...each pin is 20ma....use a transistor / mosfet to switch the relay

Your power supply should be bigger in my opinion... really pushing it close with that 0.7 amps on the pump and a 1 amp supply.
Add whatever the arduino is going to take up.
you might experience "clipping" in the power supply and this will cause your arduino to reset in the middle of running code as soon as the motor turns on.

So what are you suggesting? Is 12VDC 2A good enough?

Sorry I couldn't completely understand. Do you mind rephrasing it?

Is the Arduino gonna overhead from the current drawn by the relay while being supplied 12 volt? Should I connect the power the relay from 12 volt from PSU and grab a 12 volt relay or is it an overkill?

I was reading this post Irrigation project with DC Pump 12 v and I saw the post#9 that's why I ask about overheating.

Be aware that a coil draws a much higher current when it is first energized, as it is just a piece of wire with low resistance, and it is this current that creates an electromagnetic field which in turn counteracts the applied voltage. Once the current stabilizes you have the typical 75mA.

In other words, when the relay is turned ON the 5V supplied by the Arduino can drop for a fraction of a second causing it to reset.

Ergo, it is not recommended to power a relay from the Arduino 5V pin.

You can take the 12V line and convert it to 5V using a voltage regulator or a buck converter. Or, switch to a 12V relay.

Sorry but that is not correct. That's the way capacitive loads act, not inductive loads.
Serial motors act like You describe but not solenoids and similar.

The arduino shouldn't overheat. but the power supply has a good chance of it.

You should take into consideration if you plan to expand this project at all in the future (add more pumps)

but to go with what you've listed, I would say 2amps is plenty.

1 Like

Yes but I think it is a good idea to use a voltage regulator or a buck converter to convert 12vdc to 5vdc and feed it to the relay without passing through the Arduino.

Also what do you recommend. Buck converter or a voltage regulator?

If you have a 12V supply, why not use a 12V relay instead of 5V?
The equivalent 12V relay coil current will be about 30mA instead of 72.

I already ordered the relay. I think I will power the relay through a voltage regulator or buck converter directly from 12VDC PSU.

I stand corrected. I had it backwards

1 Like

If i'm right, it looks like the relay you are using would take 12v at the vcc pin and then a 5v input from the arduino pin. It looks like there is an opto coupler in the circuit.
you wont need these extra parts if thats the case.

I think VCC must be 5 volts.

see if there is a data sheet for it...
you can also get a LM7805 instead of a buck converter. it'll be cheaper.

I found this * Working voltage: 5V. So it needs to be 5V. Any benefits of the buck converter? Which is more stable (BC or VR). I will be away of the circut for a couple of months and I need it to be as reliant as it gets within my budget.

can you post a link to the relay?