This repository contains a Python script to manage and monitor an automatic hydroponic system using a Raspberry Pi 4. The code takes care of various tasks, such as priming pumps, filling water, dosing nutrients, and balancing pH levels.
- Automatic water management with user-inputted target water level, and dry-back function using a water level change threshold
- Nutrient dosing with target PPM (parts per million) and safety margin
- There are three commonly used conversion factors for TDS meters: 500, 640, and 700
- These all convert the EC value and the choice depends on the source of the nutrient solution
- The 500 scale is the most common conversion factor and is typically used for nutrient solutions made with reverse osmosis or distilled water (Default for this system)
- pH management with up pump and down pump control
- Logging system to keep track of the hydroponic system's status
- Storage of different plant customization of settings, including pH, max water level, dryback (how low can the water get before a refill), starting ppm, etc to easily switch control from one plant to another
- Error handling and pump stopping in case of exceptions
- Python 3.7 or higher
- Zip ties: $4 - $6
- Wire stripper: $6 - $10
- 12V AC adapter (2x): $6 - $10
- Raspberry Pi Cobbler: $6 - $10
- Heat shrink pack: $6 - $10
- Epoxy glue: $8 - $12
- Wood board: $8 - $12
- Mason jars: $8 - $12
- Raspberry Pi screw set: $8 - $12
- Long screws for pump attachment: $8 - $12
- Silicone tubing: $8 - $12
- Temperature sensor and circuit: $8 - $12
- Analog-to-digital converter: $10 - $12
- Protoboards: $12 - $18
- Large fresh water pump: $12 - $18
- Multistrand wire pack: $13 - $20
- Single strand wire pack: $13 - $20
- Wire crimper and crimps: $15 - $25
- Clear PVC tubes (4x): $20 - $30
- 8-gallon bucket with lid: $25 - $35
- pH probe Voltage isolator (Atlas Scientific): $25 - $35
- EC probe Voltage isolator(Atlas Scientific): $25 - $35
- Water level sensor (E-Tape): $30 - $50
- IOT Relay (RPI-controlled power strip): $30 - $50
- EC probe (Atlas Scientific): $35 - $55
- pH probe (Atlas Scientific): $40 - $60
- Peristaltic pumps (7x): $60 - $90
- Soldering Iron kit: $65 - $95
- Raspberry Pi B+: $100 - $140
- Clone this repository to your Raspberry Pi:
git clone https://github.com/HydroLB/automatic-hydroponic-system.git
- Navigate to the project folder:
cd RPI_Auto_Hydroponics
- Install all required project dependencies (Adafruit motorkit, Atlas Scientific, ADC, etc)
You will need to configure the following variables in the user_configurator
file
- Run the main script to start the automatic hydroponic system when your in the entire project folder:
python3 main.py
-
Follow the prompts to reset and prime the pumps and input the target PPM and water level for your system.
-
The script will continuously monitor the hydroponic system and make adjustments as necessary based on the plants response.
- Ensure that your pumps and sensors are properly connected to the Raspberry Pi before running the script.
- The code is designed to work with a specific set of pumps and sensors. You may need to modify the code to work with different hardware.
- The water level, and PPM are stored in a file to allow the system to resume its monitoring in the event of a reboot or power outage.
Special thanks to Michael Yinka-Oke and Sean Cunneen for bringing this project and idea to from the ground to prototype!
This project was developed using a variety of tools, including PyCharm as the integrated development environment and implemented on a Raspberry Pi platform.
-
Multiple Plants: Control Multiple plants each with their own customizations using a single bucket.
-
Alerts and Notifications: Add a feature for sending alerts and notifications when certain conditions are met or thresholds are exceeded, such as low water levels, pH imbalances, or high nutrient concentrations. This will keep you informed about your system's status and help you react promptly to any issues.
-
Light Management: Incorporate a light management system to control light intensity and duration, simulating day-night cycles and optimizing plant growth.
-
Temperature Control: Implement a new temperature sensor to control a heater or cooler to maintain optimal temperature levels in the hydroponic environment. This will ensure that your plants grow in the most suitable conditions.
-
Humidity Control: Implement a humidity sensor and control system (fans) to maintain optimal humidity levels in the hydroponic environment.