first project slowing pump but not stopping

So I ordered 2 arduino uno r3s and a lot of components from aliexpress and so far have 1x arduino, 1x 12v water pump and jumpers (relays are coming soon).

In my impatience I am trying to run the pump on and off using those parts and a 9v battery

My issue is that digitalWrite(motorPin, LOW); is slowing the pump but not stopping it

The setup is as follows:

Uno A1 -> + pump

  • pump -> - 9v battery
  • 9v battery -> Uno GND

pretty surprised I have not blown it up already :smiley:

Can I make it shut off the pump completely or do I have to wait for the relay?

Better order two new Arduinos.
Running a pump off a pin is a sure way of killing it.

A low-voltage DC pump is normally used with a logic level mosfet, not a relay.
You need a logic level mosfet, a 220ohm and a 10k resistor, and a diode (e.g. 1N5819).
And ofcourse a separate power supply for the pump.

I watched a video where someone used a transistor and resistors, I have 10 of the resistors you specified coming with a breadboard kit but I need to order a transistor (and more arduinos hehe)

I did some learning about mosfets and it seems there are 2 kinds, N channel and P channel. Which one should I buy?

N-channel. And it must have a logic-level gate. Examples are irl520 and stp16nf06l.

update: a relay and soil moisture meter arrived today and (following youtube video exactly) successfully built my first project! an automatic plant waterer. Look forward to getting mosfets in the mail so I don’t need an entire relay.
The pump is completely turning off now via the relay and I have attached a photo of the completed project