My Friends,

The future is very much unstable at best! The Hopi Indians, wise as they are, said: "Know your Garden"!

Today I want to share my research on the TDS or Total Dissolved Solids Sensor, or also known as Water Electrical Conductivity or EC Sensor.

An electrical conductivity meter measures the electrical conductivity in a solution. It has multiple applications in research and engineering, with common usage in hydroponics, aquaculture, aquaponics, and freshwater systems to monitor the amount of nutrients, salts or impurities in the water.


The basic Aquaponics nutrients are:

  1. N-P-K mix, nitrogen, phosphorus, and potassium.
  2. Calcium Nitrate
  3. Epsom Salt (Magnesium Sulfate)


TDS indicates that how many milligrams of soluble solids dissolved in one liter of water, from the above list.


I have an Arduino based EC or TDS Sensor, similar to this. To measure the TDS, you need to take into account the Water Temperature.


I have a little bit of code, it looks like this:

// DallasTemperature DS18B20 Temperature Sensor Init:                                                                                //
////////////////////////////////////////                                                                                             //
OneWire wire(7);                      // One Wire Reference, set the pin to your Digital Pin.                                        //
DallasTemperature DS18B20(&wire);     // The DS18B20 DallasTemperature Sensor Reference...                                           //

// Read TDS Water Conductivity Sensor:                                                                                               //
float ReadTDSSensor(float waterTemperature){///////////////////////////////////////////////////////////////////////////////////////////

  // Input Voltage: DC 3.3 ~ 5.5V 
  // Output Voltage: 0 ~ 2.3V 
  // Working Current: 3 ~ 6mA 
  // TDS Measurement Range: 0 ~ 1000ppm 
  // TDS Measurement Accuracy: ± 10% F.S. (25 โ„ƒ) 
  // Module Interface: XH2.54-3P 
  // Electrode Interface: XH2.54-2P

  // Pass the Temperature for Compensation:

  // Sample and Calculate: 

  // Get Sensor Reading:
  TDS = gravityTds.getTdsValue();

  // Return TDS:
  return TDS;


As mentioned in the Video, it is a measurement normally taken after the Nutrients have been added and dissolved.

Of course, this can be partly Automated by the Arduino, but the basic understanding is required first.


Don't buy it, build it! Its easy!

Best wishes, stay safe and well My Friends,