Hi everyone! I’m a senior high school student working on a capstone project.
I made a Smart Plant Monitoring System that automatically waters plants based on soil moisture levels. I just want to ask if this setup will work and if I got the right materials.
project goal:
Monitor 3 plants using capacitive soil moisture sensors
If any plant is dry, only that plant will get watered
Water comes from 1 USB submersible pump
3 solenoid valves control which plant gets the water
Arduino decides which valve to open
Everything works automatically
Components:
Arduino Uno R3
3x Capacitive Soil Moisture Sensors v1.2 (analog)
1x 4-Channel 5V Relay
1x USB Mini Submersible Water Pump
3x 12V Normally Closed Solenoid Valves
12V Power Adapter for valves
Breadboard + jumper wires
Tubing (5.5–6mm)
T/Y hose splitters
Power bank (for Arduino and pump via USB)
Power setup:
Arduino + water pump powered via USB (from power bank)
Solenoid valves powered by 12V adapter
GND of 12V adapter is connected to Arduino GND (for common ground)
Valves connected to relay (NO + COM), each controlled by IN1–IN3
Pump is connected to relay channel IN4
Soil sensors connected to A0, A1, A2
Relay connected to D5, D6, D7 (valves), D8 (pump
how it should work:
- Arduino reads each soil moisture sensor
- If any plant is dry, it opens the valve for that plant
- At the same time, it turns ON the pump
- After a few seconds, the pump and valve turn OFF
- System loops and checks moisture again
My Questions:
Is this setup correct?
Will this actually work in real life?
Is there a better way to handle water flow?
Is my wiring and power supply logic safe?
wire color:
blue - gnd
red - positive
black - negative
yellow - analog signals (A0, A1, A2)
green- Digital signals (D5-D8 to relay IN1-IN4)
im concern about the wiring and my power source since this will be my first project and i dont want to mess it up, and i havent write a code yet i also dont have experience on it, i plan to study coding once my prototype project got approved. if there are code that will be share here i aprreciate it thank you.
Any suggestions or corrections are welcome! I’m still learning and I really want to make sure I’m doing this right before building the final version. Thanks a lot!

