An automated plant watering system that reads soil moisture levels and activates a water pump to provide optimal hydration for plants. It can be built using platforms like Raspberry Pi or Arduino and communicates with a mobile application or self-hosted dashboard.
- Soil Moisture Monitoring.
- Pump Control.
- Configurable Thresholds.
- Logging.
- Monitoring dashboard.
- Mobile notification.
The watering system logic, including the moisture sensor readings, threshold comparison, and pump control, is implemented in the following file:
python sunfounder_component/watering_system.py
To run the moisture reader using the Adafruit component, prepared with mobile integration using Bluetooth channel:
python adafruit_component/MoistureTimer.py
The Arduino Uno is an affordable option for managing multiple plants. Each plant can have a dedicated Arduino that communicates with a central Raspberry Pi. For more details check the setup code in
arduino/
directory.
cd dashboard
python3 -m http.server 8000
If you would like to connect and view your moisture information through bluetooth to a cell phone, we also created a basic dart application for showing that data.
- install and enable dart and flutter on your PC (this typically does require setting up Visual Studio Code, Visual Studio (Community version), and Android Studio)
- build the flutter application in the "DartApp" folder
- deploy the MoistureTimedBluetooth.py file to your Pi, adjust the "interval" to your preferred update time for the moisture sensor
This project is published under the MIT license. Any third-party libraries and modules used in this project are subject to their respective licenses.