Personal Project

Auto Plant Waterer

Year
2026
Board
Arduino R4 WiFi
Tools
Arduino IDE
Team
Solo
The finished auto plant waterer on the windowsill

I wanted to understand electronics, so I built a houseplant that takes care of itself.

01 — The Idea

A class project got me started on Arduino, and I wanted to keep going on my own terms. I settled on something hands-on and useful: an automatic plant waterer. It takes one of my houseplants, reads how dry the soil is, and lets the Arduino decide when to water.

I also wired in a push button to start a watering by hand. It helps when I am testing, and for the times I want to top the plant off myself.

02 — How It Works

The system runs as a loop. A capacitive moisture sensor sits in the soil and reads how wet it is. The Arduino watches that reading, and when it drops below a threshold I set, the Arduino tells the relay to switch on the pump. Water runs through the tubing into the pot until the reading climbs back above the line, and then the pump shuts off and the system waits.

The push button taps into that loop. Press it and the pump runs on its own, so I can water on demand or test the setup without waiting for the soil to dry. I wrote the code in the Arduino IDE and tuned the moisture threshold and timing by trial and error until the watering felt right. When I hit a wall, I worked through it with research, the documentation, and some AI help, and I made sure I understood what each part did and why.

Bill of Materials

  • Arduino R4 WiFiController
  • Capacitive moisture sensorReads soil
  • 5V relaySwitches pump
  • 5V pump + tubingMoves water
  • Push buttonManual / test
  • 5V wall supplyPump power
  • Breadboard + jumpersWiring
The waterer in action
Auto Plant Waterer — system diagram CONTROL SIGNAL MAINS POWER WATER HOUSEPLANT MOISTURE ARDUINOR4 WIFI BUTTON MANUAL CONTROL 5V RELAY 5V WALLSUPPLY 5V MAINS SWITCHED 5V PUMP WATER → SOIL SYSTEM DIAGRAM
The full loop, from soil to pump
03 — The Power Problem

The power gave me the most trouble.

My first instinct was to let the Arduino drive the pump directly. When I looked into it, I found out why that fails: a motor like the pump kicks voltage spikes back through the circuit every time it switches on or off, and those spikes can fry the Arduino. So I put a 5V relay between them. The Arduino sends a small control signal to the relay, the relay switches the pump, and the pump's power stays clear of the Arduino.

That left the question of how to power the pump. I stripped an old phone charger cable, ran it into a 5V wall brick, and used that to drive the pump side of the relay straight from the wall outlet. The noisy motor power sits on its own supply now, isolated from the electronics. With the power sorted, the rest of the system came together.

04 — Version 1, and What's Next

This was the self-directed learning I wanted. I came in hoping to understand electronics a bit better, and I came out with a working system and a clear picture of how sensors, relays, control signals, and power supplies fit together. Working through the power problem on my own taught me to slow down and research before I wire, a habit that has stuck with me since.

I built it as a version 1 on purpose. I wanted a working system to exist before I chased perfection, and that mindset is why I finished. It is easy to stall a project trying to make it perfect up front. Letting the first version stay a little rough kept me moving.

Now that it runs, these are the directions I want to take version 2:

01

An enclosure, designed in CAD

Model a housing in Fusion and 3D print it to hold the Arduino and the wiring. It tidies up the look and shields the boards from the stray splashes a water build tends to produce.

02

A companion app

Wire in an app to check soil moisture and other readings at a glance, water a plant from my phone, and manage a few plants from one place.

03

Off-grid solar power

This is the one I care about most. Right now the Arduino has to stay tethered to my computer or a power bank. I want to run the system, both the Arduino and the pump, off a battery pack charged by a solar panel, and take it off the grid for good.