Beginner2–3 h (estimate, plus a few days of observation)7 parts
Smart plant monitor
A soil-moisture sensor, an alert LED and an optional pump switched by a MOSFET.
Overview
A capacitive soil-moisture sensor and a light sensor (LDR) feed the analog inputs. The board converts readings into a calibrated 0–100% moisture value, prints them over Serial, lights an alert LED when the soil is dry, and can optionally run a small 5 V pump for a short, limited burst.
The key skill is calibration: every sensor and soil type reads differently, so you measure "dry" and "wet" yourself.
You will learn
- · Analog inputs and the ADC
- · Two-point calibration
- · Hysteresis so outputs do not chatter
- · Switching a motor load with a MOSFET and flyback diode
Parts list
| Part (generic) | Qty | Note |
|---|---|---|
| Arduino Uno-compatible board (5 V logic) | 1 | |
| Capacitive soil-moisture sensor module (analog output) | 1 | Capacitive types corrode far less than bare two-prong probes. |
| Light-dependent resistor (LDR) and 10 kΩ resistor | 1 each | |
| LED and resistor (use the LED resistor simulator to pick it) | 1 each | |
| Optional: small 5 V DC submersible pump, logic-level N-MOSFET module or MOSFET + gate resistor, flyback diode, tubing | 1 set | |
| Optional: separate 5 V supply for the pump | 1 | |
| Breadboard and jumper wires | as needed |
Generic part names only. Pinouts and logic levels vary between modules of the same type, so check the documentation of the exact module you have.
Tools
- · USB cable and the Arduino IDE
- · Multimeter
- · A cup of dry soil and a cup of watered soil for calibration
Safety
- · Keep water away from the board and supply; mount electronics above the pot.
- · Low-voltage DC only. Do not switch mains-powered pumps in this project.
- · Limit pump run time in code so a stuck sensor cannot flood the pot.
Learn the ideas first
Full build
- 01Wire and read the moisture sensor
- 02Two-point calibration (dry and wet)
- 03Add the light sensor and alert LED
- 04Hysteresis thresholds
- 05Optional: MOSFET-switched pump with a run-time limit
- 06Log a few days of readings
Checking your account…