Documentation

Documentation / Mini Submersible Water Pump 5V 120L/H with 1.5m Cable for Arduino, Raspberry Pi & ESP32 | ShillehTek Product Manual

Mini Submersible Water Pump 5V 120L/H with 1.5m Cable for Arduino, Raspberry Pi & ESP32 | ShillehTek Product Manual

ESP32manualmini-submersible-water-pump-5v-120lph-arduino-esp32Raspberry PishillehtekWater Pump

Overview

This mini submersible water pump moves up to about 120 liters per hour from a 5V DC supply, making it a favorite for automatic plant watering, desktop fountains, aquariums, hydroponics, and cooling loops. The brushless motor sits fully submerged and pushes water through a ~7.5mm outlet, with a 1.5m lead for easy placement.

Because the pump draws more current than a microcontroller pin can safely supply, you drive it through a relay or transistor from an Arduino, ESP32, or Raspberry Pi. That lets you automate watering with a soil-moisture sensor or run it on a timer.

At a Glance

Voltage
5V DC
Flow Rate
~120 L/H
Max Lift
~1 m
Type
Submersible brushless
Cable
1.5 m
Control
Relay or transistor

Specifications

Parameter Value
Operating Voltage 3V - 5V DC
Operating Current ~150 - 220 mA
Flow Rate ~120 L/H
Maximum Lift ~1 m
Outlet Diameter ~7.5 mm
Cable Length 1.5 m
Motor Type Brushless DC, submersible
Duty Must stay submerged in liquid

Wiring Guide

Arduino / ESP32 Wiring

Never connect the pump directly to a GPIO pin. Use a relay module or an NPN transistor / logic-level MOSFET with a flyback diode.

Connection Goes To
Pump + External 5V supply +
Pump - Relay COM or transistor drain/collector
Relay IN / transistor gate GPIO control pin (e.g., D7)
Supply GND Common ground with board
Warning: The pump can pull 150-220mA, more than a GPIO pin allows. Always switch it with a relay or transistor and share a common ground.
Tip: Add a flyback diode (e.g., 1N4007) across the pump leads to protect the transistor from inductive spikes.

Raspberry Pi Wiring

Same approach: a relay module or MOSFET on a GPIO pin switches an external 5V supply. The Pi's 3.3V logic drives most relay modules and logic-level MOSFETs directly.

Connection Goes To
Relay IN GPIO17 (pin 11)
Relay VCC / GND 5V and GND
Pump Switched by relay on external 5V

Code Examples

Arduino

pump_timer.ino
// Drive a 5V pump through a relay or transistor on pin 7
const int PUMP = 7;

void setup() {
  pinMode(PUMP, OUTPUT);
  digitalWrite(PUMP, LOW);
}

void loop() {
  digitalWrite(PUMP, HIGH);  // pump ON
  delay(5000);               // run 5 seconds
  digitalWrite(PUMP, LOW);   // pump OFF
  delay(60000);              // wait 60 seconds
}

Raspberry Pi (Python)

pump.py
import RPi.GPIO as GPIO
import time

PUMP = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(PUMP, GPIO.OUT)

try:
    GPIO.output(PUMP, GPIO.HIGH)  # pump ON
    time.sleep(5)
    GPIO.output(PUMP, GPIO.LOW)   # pump OFF
finally:
    GPIO.cleanup()

Frequently Asked Questions

Can I power it straight from the Arduino 5V pin?
It is not recommended. The pump's startup current can exceed what the onboard regulator and GPIO can supply, causing resets. Use a separate 5V supply switched by a relay or transistor.
Can it run dry?
No. This is a submersible pump and relies on water for cooling and lubrication. Running it dry will quickly overheat and damage the motor.
Do I need a flyback diode?
Yes, when switching with a bare transistor or MOSFET. Place a diode such as a 1N4007 across the pump leads to absorb inductive spikes. Relay modules with built-in protection handle this for you.
How high can it pump water?
Roughly 1 meter of vertical lift at 5V. Flow drops as lift increases, so keep the outlet low for maximum flow.
Can I control speed with PWM?
Through a logic-level MOSFET you can apply PWM to vary flow, but at low duty cycles the pump may stall. Test to find a reliable minimum.