Ever left your water pump running and came back to a mini swimming pool on your terrace? I have. That’s why I built this smart water pump controller using ESP32, Firebase, and a simple web dashboard. With just a browser, I can now switch the pump ON, OFF. And yes, it’s as cool as it sounds.
Whether you’re diving into IoT or just tired of forgetting your pump, this is a fun, useful project to try out. It’s also a great way to dip your toes into cloud-connected hardware without getting overwhelmed.
🔍 Why This Project?
In every other house, someone’s yelling “Hey, turn off the motor!” and someone else is replying “Oh no, I forgot!” 🤦🏼♂️
This kind of chaos is what inspired me to build a smarter solution. A system that lets me control the motor remotely, from my phone or laptop. Something so simple, yet so powerful, that I could also show it off to friends and say, “Yeah, I built that.”
So I thought, why not build a simple controller that:
- Works from a web browser
- Uses Firebase to sync real-time
- Doesn’t require expensive setups
- Saves me from water fights at home
It’s a great starter project to learn about IoT + cloud + web UI — and to feel like Tony Stark of plumbing. 😉
Also, working with ESP32 means you get access to Wi-Fi out of the box, which is a huge advantage for projects like this. Plus, Firebase’s Realtime Database means you get updates instantly without having to build your own server. Win-win
🛠️ What You’ll Need
Before jumping into the build, make sure you gather all the necessary hardware and software tools.
Hardware
Here’s what I used:
- ESP32 Dev Board – your project’s brain. Comes with built-in Wi-Fi.
- 5V Relay Module – acts like an electronic switch to control the pump.
- DC Submersible Pump (3V-5V) – your basic mini pump.
- Breadboard & Jumper Wires – for wiring it all up.
- 5V Power Supply or Battery – to power the pump separately from the ESP32.
image
Software
You don’t need a fancy dev setup. Just the essentials:
- Arduino IDE – for coding the ESP32
- Firebase Console – your cloud-based database
- Web Browser – to run the UI locally or host it online
- (Optional) VS Code – if you like an advanced editor to tweak your HTML/JS
If this is your first Firebase project, don’t worry. It’s actually very beginner-friendly, and I’ll guide you step by step.
🛠️ Step-by-Step Tutorial
Let’s break it down. You can follow along one section at a time.
✅ 1. Setup Firebase
-
Head over to https://console.firebase.google.com
-
Click on Add project, and give it a fun name like “AquaControlproj”
-
Skip Google Analytics (unless you’re into that)
-
Go to Realtime Database in the side menu
-
Click Create Database
- Choose “Start in Test Mode” – this gives open access for now (we’ll fix that later)
- Once the database is created, go to Project Settings > General
- Copy your Firebase SDK config (apiKey, authDomain, databaseURL, etc.) scroll down, you will find these details.
image of database