Skill & Curiosity

Building a digital plant watering reminder

Building a digital plant watering reminder

CostFree to Low

Includes: Capacitive moisture sensor plus an Arduino or ESP32. Example: Total parts cost €8-20.

What it is

You come home, glance at the drooping fern in the corner, and realise you genuinely cannot remember when you last watered it. A digital plant watering reminder ends that guessing, and it is about the friendliest electronics project there is: two components, a few lines of code, and an immediately useful result.

The build uses a soil moisture sensor and a microcontroller, an Arduino or ESP32, to monitor how damp the soil actually is and alert you when watering is needed, via an LED, a buzzer, or a phone notification. This matters more than it sounds, because overwatering kills more houseplants than neglect does. Watering on a fixed schedule drowns roots that did not need it; watering in response to real soil moisture keeps plants genuinely healthier. The project scales beautifully too. A simple red-green LED indicator is a thirty-minute build, while a Wi-Fi version using an ESP32 to fire a push notification through a free service like ntfy.sh is a weekend, and from there you can log readings to a chart or add temperature, light, and humidity sensors. One tip that saves frustration: buy a capacitive sensor, not a cheap resistive one with exposed prongs, because resistive probes corrode within weeks and start lying to you, while capacitive ones last for years.

How it works

Insert a capacitive soil moisture sensor into the pot and wire its signal output to an analog input on an Arduino Uno or an ESP32. Read the value in your sketch: dry soil reads high, wet soil reads low, on the Arduino's 0 to 1023 scale. Buy the capacitive type, the one with two solid plates and no exposed metal prongs, because the cheap resistive sensors corrode within weeks of sitting in damp soil and start giving nonsense readings. A capacitive sensor lasts years.

For the simplest build, an LED tells you everything: green when the soil is fine, red when it crosses your dry threshold, which is a thirty-minute project. The Wi-Fi version uses an ESP32 to compare the reading against the threshold and fire a phone notification through a free service like ntfy.sh when watering is due, and from there you can log readings to a chart or add light, temperature, and humidity sensors. The threshold itself needs calibrating to your soil, because a number that means dry in cactus mix means soaking in peat. Take a reading in fully dry soil and another in freshly watered soil, then set the trigger point between them rather than guessing.

Benefits

Healthier Plants Introduction to Embedded Programming Very Low Cost Practical Home Automation Sensor Integration Experience Achievable First Project

What you need

Here's what to gather before you start. The essentials are marked.

Some links below are affiliate links. As an Amazon Associate, trylii.com earns from qualifying purchases, at no extra cost to you.

Capacitive soil moisture sensor
Arduino Uno or ESP32

SuggestedAffiliate

Arduino uno

View on Amazon
LED or buzzer
Jumper wires

SuggestedAffiliate

Jumper wire

View on Amazon
USB cable and computer
Arduino IDE (free)

SuggestedAffiliate

Arduino ide

View on Amazon

FAQs

A soil moisture sensor and a single LED or buzzer. The sensor sits in the pot, and when the soil dries past a threshold the light comes on to nag you. That is a genuinely useful project buildable in an evening with an Arduino, a sensor, and about ten lines of code. Start there before adding Wi-Fi, apps, or automatic watering, because the basic version already solves the actual problem.

They measure how well the soil conducts, which tracks moisture. Cheap resistive sensors (two prongs) work but corrode within months because current runs through the soil. Capacitive sensors cost a euro or two more, don't corrode, and last far longer, so skip the resistive ones despite their lower price. Even good sensors drift, so calibrate yours by reading it in dry and wet soil and setting your threshold between.

Yes, with an ESP32 instead of a basic Arduino. The ESP32 has Wi-Fi built in, so it can send a notification, post to Home Assistant, or message you when a plant gets thirsty. This is the natural upgrade once the local version works. Build the standalone reminder first, confirm the sensor readings make sense, then add the networking layer on top of a foundation you already trust.

You can, but add it carefully. A small pump and a relay let the system water on its own, which is brilliant for holidays but risky if it misjudges and floods or empties the reservoir into a dry pot. I would run a notification-only version for a few weeks first to confirm the moisture readings are sensible, then add watering with a strict limit on how long the pump can run per cycle as a safeguard.