Zeven Development

Hydroponics pH and DO Monitoring

Build a monitoring system that will monitor your pH and DO (Dissolved Oxygen) levels

The ideal pH range for most hydroponic systems is between 5.5 and 6.5. pH is important because it affects the availability and absorption of the elements needed for plant growth.

Oxygen is an essential plant nutrient and plant root systems require oxygen for aerobic respiration, an essential plant process that releases energy for root growth and nutrient uptake. In aeroponics systems, the oxygen supplied for plant root uptake is provided mostly as dissolved oxygen (DO) in the nutrient solution as well as a zone of aeration provided by a gap from the surface to the reservoir water level. The effect of temperature of the solution on the DO levels and on root respiration rates also needs to be taken into account. As the temperature of your nutrient solution increases, the ability of that solution to hold DO decreases.


pH Sensor Kit

pHSensor

pH Wiring Diagram

pHWiring

Hydroponics pH Monitoring Parts


Qty Part Description Cost
1 IO Expander Bundle. $35.00
1 Atlas Scientific pH Kit 0-14 pH. $159.00

To use the EZO pH Circuit with I2C you need to first manually switch it. Connect the EZO pH Circuit to 3V3 and GND from the 1-Wire to I2C and provide a loopback between TX and PGND. When the EZO pH Circuit has a blue LED you are switched.

PHManual

DO Sensor Kit

DOSensor

DO Wiring Diagram

DOWiring


Hydroponics DO Monitoring Parts


Qty Part Description Cost
1 IO Expander Bundle. $35.00
1 Atlas Scientific Dissolved Oxygen (DO) Kit 100mg/L. $283.00

To use the EZO DO Circuit with I2C you need to first manually switch it. Connect the EZO DO Circuit to 3V3 and GND from the 1-Wire to I2C and provide a loopback between TX and PGND. When the EZO DO Circuit has a blue LED you are switched.

DOManual

pH and DO Code


const char ONEWIRE_TO_I2C_PH[] = "i2s56";    // I2C BUS - pH Sensor *** Change 56
const char PH_SENSOR[] =        "iw63\"r\""; // pH Sensor
const char PH_SLEEP[] =         "iw63\"Sleep\""; // pH Sleep
 
const char ONEWIRE_TO_I2C_DO[] = "i2s08";    // I2C BUS - DO Sensor *** Change 08
const char DO_SENSOR[] =        "iw61\"r\""; // DO Sensor
const char DO_SLEEP[] =         "iw61\"Sleep\""; // DO Sleep
 
void loop() {
 
...
 
  long rc;
  float pH,DO;
 
...
 
        // Check for Atlas Scientific pH probe
        pH = -1;
        if (SerialCmdNoError(ONEWIRE_TO_I2C_PH))
        {
          if (SerialCmdNoError(PH_SENSOR)) {
            delay(900);
            SerialCmd("ia");
            SerialReadInt(&rc);
            if (rc == 1) SerialReadFloat(&pH);
            SerialReadUntilDone();
            SerialCmdDone(PH_SLEEP);
          }
        }
        // Check for Atlas Scientific DO probe
        DO = -1;          
        if (SerialCmdNoError(ONEWIRE_TO_I2C_DO))
        {
          if (SerialCmdNoError(DO_SENSOR)) {
            delay(600);
            SerialCmd("ia");
            SerialReadInt(&rc);
            if (rc == 1) SerialReadFloat(&DO);
            SerialReadUntilDone();
            SerialCmdDone(DO_SLEEP);
          }
        }
 
...
 
}

Monitoring and Display in Grafana

Grafana



For the Complete Garage Hydroponics Solution please see our other projects

Garage Hydroponics
Hydroponics Deep Water Culture Bucket System
Hydroponics Growbed Sensors/Display Module
Hydroponics Chiller
Hydroponics Water/Nutrient Control
Hydroponics Database Management
Hydroponics Germination Control
Hydroponics CO2 Monitoring
Hydroponics Light Monitoring
Hydroponics pH and DO Monitoring



« Previous  Hydroponics Light Monitoring
Garage Hydroponics   Next »