Arduino Uno and 5V Pump without Relay

Hello, I want to build an irrigation system and am totaly new to this.
I ordered a board Arduino Uno compatible Board mit ATmega328 CH34X USB R3 [1] and a moisture sensor as well as a 5V Pump.
I thought it will be possible to control the pump with the Arduino without the use of an relay, because the pump runs with 5V, is this true?
It is a really small pump that operates with 3-5V DC and a maximum power consumption of 350mA (connected by 2 cables).

[1] Technical data of the board:
Auswahl_132

I appreciate every help.
In the forum I could only find a thread for someone who uses a relay: How to hook up my 5V water pump - #3 by MarkT

No.

1 Like

Welcome to the forum

An Arduino is not designed to be used as a power supply and it certainly cannot supply 350mA from one of its pins

You need a relay, transistor or MOSFET controlled by an Arduino pin and an external power supply for the pump

Feel free to connect it to the Arduino however also have a big box of spare Arduinos as hooking an inductive load such as a motor will blow it. Try something like this: https://www.aliexpress.us/item/3256804759991100.html?spm=a2g0o.productlist.main.43.50e67202v8XtBT&algo_pvid=6f55b347-936f-4f46-9c61-e1739999e6dc&algo_exp_id=6f55b347-936f-4f46-9c61-e1739999e6dc-21&pdp_npi=3%40dis!USD!0.25!0.24!!!!!%40211bd8be16823401180364937d07da!12000031112214764!sea!US!100026910&curPageLogUid=Ib2oHxR5nbnf Currently it shows less then a quarter US, with shipping just under $3 US. There are a lot of devices like this that are not very expensive and much cheaper then replacing Arduinos. Good Luck!

1 Like

Yes you can control a 5V pump with a Uno. Powering the 5V pump from the Uno will not work.

I really appreciate your help, thanks!

I purchased a 15A 400W MOSFET Motor Driver D4184 5-36V PWM Control Modul now.

I connected it this way:

But the pump always gets current, even if the MOSFET Driver is not connected to the Arduino, is that right? Or is it broken?

Hi, @hodenklaus420

Can we please have a circuit diagram?
An image of a hand drawn schematic will be fine, include ALL power supplies, component names and pin labels.

Can you please post an image(s) of your project?
So we can see your component layout.

Thanks.. Tom... :smiley: :+1: :coffee: :australia:

Thanks for the reply! I continued the problem in a new thread here:
https://forum.arduino.cc/t/arduino-uno-switch-dc-pump-on-off-with-mosfet-driver/1120502

NOOOOOOOOOOOOOOOOO.....
Keep al your project information in one place.

Tom.. :smiley: :+1: :coffee: :australia:

Hello, I have an Arduino UNO and want to switch a DC motor on/off with a MOSFET driver.

  • 15A 400W MOSFET Motor Treiber D4184 5-36V PWM Control Modul
    grafik

  • Pump 3-5V DC max power 350mA (connected by 2 cables)

When I put 5V at the MOSFET Vin and the pump at the Vout, the pump starts, is that normal without connecting it to the Arduino?

I tried to turn the pump off but did not succeed. My program:

void setup() {
  pinMode(9,OUTPUT);
}

void loop() {
  digitalWrite(9, LOW);
}

which did not turn the pump off. Also tried with

void setup() {
  pinMode(9,OUTPUT);
}

void loop() {
  analogWrite(9, LOW);
}

which did not turn it off either. Tried also 0 instead of LOW, -1 or -500. Same result with positive values.
What am I doing wrong here?

Have you put a flyback diode over the pump connections?
If not then you may have damage the driver module or the Arduino.

Have you connected Arduino and module GND?

If you disconnect the Arduino and connect the module PWM to GND, does the pump stop?
With the Arduino disconnected, does the signal output switch to 0V?

Post the schematics of that board and we can tell you.

1 Like

No, I simply did it like this


I tried to inform myself about how it should be connected but as I am newby to electronics the most information was very confusing.
Yes, GND from Arduino goes to GND on the driver.
In what direction do I have to put in the diod? Are there different sorts of diods and do I have to take a special one? All I know about them is that they pass current only in one direction.
At the moment I have no possibility to try connecting PWM to GND, will do it after the weekend.

Your two or more topics on the same or similar subject have been merged.

Please do not duplicate your questions as doing so wastes the time and effort of the volunteers trying to help you as they are then answering the same thing in different places.

Please create one topic only for your question and choose the forum category carefully. If you have multiple questions about the same project then please ask your questions in the one topic as the answers to one question provide useful context for the others, and also you won’t have to keep explaining your project repeatedly.

Repeated duplicate posting could result in a temporary or permanent ban from the forum.

Could you take a few moments to Learn How To Use The Forum

It will help you get the best out of the forum in the future.

Thank you.

1 Like

Hi,

So if you just connect the pump power supply, the MOSFET module and the Pump ONLY, no UNO.
What happens?

Did you try;

void setup() {
  pinMode(9,OUTPUT);
}

void loop() {
  analogWrite(9, LOW);
delay(500);
 analogWrite(9, HIGH);
delay(1000);
}

With the UNO connected?

Tom... :smiley: :+1: :coffee: :australia:

Think a bit about it and you'll realize that the diode in forward direction will short circuit the pump. So mount the diode in parallel to the pump and in reverse polarity with cathode (ring) towards the positive supply.

Almost any diode will fit your small pump. If you have none at hand then a 1N400x fits most needs (x=1...7).

1 Like

Shouldn't that be digitalWrite?

Yes... Haven't had a coffee for 6 hours...

void setup() {
  pinMode(9,OUTPUT);
}

void loop() {
  digitalWrite(9, LOW);
delay(500);
 digitalWrite(9, HIGH);
delay(1000);
}

Tom... :smiley: :+1: :coffee: :australia:

Thanks for the help.

Now I added a diode like suggested:


Now if I run

int pumpPin = 9;

void setup() {
  pinMode(pumpPin,OUTPUT);
  Serial.begin(9600);
  Serial.println("Motor");
}

void loop() {
  digitalWrite(pumpPin, HIGH);
  delay(5000);
  digitalWrite(pumpPin, LOW);
  delay(5000);
}

The red LED on the MOSFET alternates between ON and OFF.
But the pump only flutters/twiches... Like it has not enough current to run.
When the lamp is off the fluttering is stronger

Hi,
Can you read the part numbers on the two MOSFETS on the module please?

Tom.. :grinning: :+1: :coffee: :australia: