User Tools

Site Tools



EC (electric conductivity) is expression of possibility of materials to conduct electric current. It's unit is mS/cm-1

It can surves well for expressing amount of dissolved ionts in culturing soluting.

Why measure EC

Electrical conductivity is very useful detail for growers. Especially in hydroponic systems. It gives us idea of amount of dissolved ionts in solution because charged ionts (cationts and anionts) are responsible for current flow. More salts is disolved in solutin, more conducting will be a solution and it's EC will be higher.

Measuring principle

Electric conductivity is usually measured by scaning of current flowing thru sample. Measuring of concuctivity of liquid sample is complicated by some actions in solution when DC passes thru (electrolysis). We can minimalize or even negligible this efects if AC is used.

It exists different types of measuring:

Two-electrode measuring

In this basic measurement we let alternating current of frequncy magnitude in kHz and value ~5mA flow among two electrodes and we measure the potential between them. Material of eletrode is essential. It should be chamical stable and has the lowest possible premise for polrization effect. The best electrodes are made from platina coated by platina black, these are also very expensive. Another materials used are graphite, gold, nickel etc..

Four-electrode measuring

Four-electrode measurnig is almost the same like in two-electrodes case, but with little distinct, it is used four electrodes and the current flow among two outer electrodes and the potencial is measured between inner electrodes. Benefit of this arrangement is that the inner electrodes does not suffer (minimal suffer) by polarization effect beacause there is no (or minimal) current flowing thru them.

Induction (“contactless”) measuring

Basic principle is obvious from picture. Magnetic flux caused by first by first transformer T1 is in extent dependent on conductivity of liquid carried to second (measuring) transformer T2 on which we measure induce potential.

source of picture

Moduls for measuring

Practical Maker EC Shield

In this shield we can find integrated circuit 555 timer in mode of astable oscilator. Frequency of oscilations depend on charging current of capacitor conected between PINs 2,3,6 and GND. Current flow depends on two parallel conected resists where one of the resits is EC probe. In result we do not meassure direct the potential on electrodes but frequency of 555 timer oscilations. This wiring of 555 timer has advantage turn off posibility. Because when logical LOW(GND,0V) occurs on PIN 4 circuit stops oscialte and there is no current flowing thru electorodes.

EC Shield


DIY probes

Choice of EC probe is crucial. With probe of bad quality the polarization effect occurs and probe itselfs chemicaly degradate when stay long in solution. Key field is choice of probe material. Next picture shows some probes I've been testing.

Satisfying results has been achieved just with two first probes(Graphite and ZnCr).

Code and schematic

I used almost the same circuit like in Practical maker shield but with few differences.

  1. For paralel resist with measuring probe I used 10k instead of 10k.
  2. I do not use op amp for shielding the probe.
  3. Between the probe and rest of circuit I add two ceramic capacitors with big capacity. It serves for electronic isolation of circuit.
  4. I read the frequncy on PIN 7

I get the inspiration from this project: SMX:soil moisture transmitter.

Circuit simulation in java appletu by Paul Falstad.

Sorry, you need a Java-enabled browser to see the simulation.

Code also vary a little. I do not converse length of pulse to freqeuncy but work direct with pulse length.


#define SAMPLES 100
#define ECinputPIN 6
#define enablePIN 7
void setup() {
pinMode(ECinputPIN ,INPUT);
pinMode(enablePIN ,OUTPUT);
float ECa=1;
float ECb=1;
long highPulseTime;
long lowPulseTime;
void loop() {
digitalWrite(enablePIN ,HIGH);
Serial.print("    ");
digitalWrite(enablePIN ,LOW);
Serial.print("    ");
long getHigh(int pin) {
long pulseTime=0;
for(unsigned int j=0; j<SAMPLES; j++){
pulseTime+=pulseIn(pin, HIGH);
pulseTime= pulseTime/SAMPLES;
return pulseTime;
long getLow(int pin) {
long pulseTime=0;
for(unsigned int j=0; j<SAMPLES; j++){
pulseTime+=pulseIn(pin, LOW);
pulseTime = pulseTime/SAMPLES;
return pulseTime;

Temperature dependency

Conductivity of electrolyte highly depend on temperature. But the effect differs by ionts disolved in solution.

Conductivity increase with temerature becasue the viscosity of liquid decrease and so the mobility of ionts increase. Also the equilibrium solid ←→ disociated ionts change in case of weak electolyte.

So it is good to check the temperature if one want to dedicate T.D.S. (Total Dissolved Solids). Because if the temperature change the conductivity of solution change too, so we get different reading on our EC metr and that is OK. But volume of dissolved solids do not change (If we presume complete disociation of solid(Strong electolyte)). So it is hard task to compensate temperature effect… But if it is possible the best you can do is measuring EC always in the same temperature so you do not need to compensate temperature effect :).

en/ec.txt · Last modified: 2018/01/29 11:02 by admin