This project is an automatic plant watering system. Arduino controls the pump based on the soil moisture level read. Raspberry Pi shows you the soil moisture level through the Arduino IDE app. When the soil moisture drops below the threshold value (default 5), water is pumped through the tubing for 1 second.

Code: https://github.com/carolinedunn/Plant-Watering

Materials:

Your potted plant. I’m using this Bonsai Tree – https://amzn.to/2CUERV4
(It is best to start this project with dry soil.)
Arduino Uno – https://amzn.to/2VIyRW5
9V snap connector kit – https://amzn.to/3gsXhur
Battery and battery pack to power the pump (I’m using a 9V battery with snap-on connector and power supply module)
Male-to-Male Jumper wires – https://amzn.to/2TIyXMj
Male-to-Female Jumper wires – https://amzn.to/2TIyXMj
Breadboard – https://amzn.to/2VKjJrd
Plant watering kit: – https://amzn.to/31FSpht
Relay Module
Soil Moisture sensor (Please use a capacitive soil moisture sensor, NOT a resistive soil moisture sensor)
Water pump & tubing
Small screwdriver to unscrew the relay module
Raspberry Pi 4 – https://amzn.to/2D4nm4J
microSD card formatted with Raspberry Pi OS
power supply for Raspberry Pi and Arduino (I’m using a USB-C power bank – https://amzn.to/2VZSitN )
Container filled with water.
Casing for electronics (protect from rain) I’m using a 12×12 scrapbook case – https://www.michaels.com/12in-x-12in-clear-scrapbook-case/10373070.html
Optional: Soldering iron, flux, and wire
Tube holder – https://github.com/carolinedunn/Plant-Watering/blob/master/tube%20holder2.stl

https://github.com/carolinedunn/Plant-Watering

source