EC/TDS/PPM Meter On Limited Budget
This site is best viewed with a computer

2007-06-22: See notes at bottom of page.
2008-03-02: This article has been wikified and added to my projects wiki. This way i can more easily update it without needing to login to web server, and also allows for others to discuss and contribute. great eh? It can be found here! XD

Design Goal: Make a EC/TDS/PPM meter thats nice and quite accurate while costing me little or at least next to nothing that i can connect to a microprocessor or voltmeter.

You may also be interested in the pH meter page.

Measuring PPM/EC/TDS

TDS is the measuring of the amount of salts in a solution. For alot of applications the amount of salt is indicitive of the levels of other stuff in a solution. TDS/PPM meters sold for gardening and aquariums figure the amount of salt in Parts Per Million by measuring the Electrical Conductivity of the solution under test. So a PPM/TDS meter is a EC meter that converts the EC value into PPM values. There are alot of descriptions online about why and how to measure PPM/TDS or EC so google for them if you want alot more details.

EC is a measure of Electrical Conductivity from two probes 1cm apart. 1 EC is = 1 microsiemens, to convert from EC to siemens multiply by 1E-6. EC can be converted to PPM by multiplying by 500. PPM can be converted to EC by dividing by 500. To convert from siemens to Ohms is s=1/ohms, you can also go the other way and do ohm=1/s for siemens to ohms. Siemens is also known as Mhos, which comes from ohm written backward.

The number 500 used to convert between PPM and EC is called the Conversion Factor. Different salts will have different conversion factors because some conduct better or worse than others. NaCl's is 500, this seems to be the most common standard used, and is what was used for the calibration solutions.

If EC/PPM is just measuring the Conductance (or resistance) then why not use a volt/ohm meter directly?? Because they pass DC current thru the probes and you cannot measure conductivity of salts with DC current because it will rip the molecules apart, and since the molecules are what conducts the electricity you get a constantly changing reading that is useless. Overcome this by using an AC signal. If the frequency is high enough (>1khz it seems) the molecules dont have time to move apart before they are pulled in the opposite direction. Sort of like how high DC current will throw a person off of it, where as AC forces them to hold on and get shocked to death or something.

AC Molecular Workbench model

DC Molecular Workbench model
The screenshots above are from Molecular Workbench (its free!!) and show what happens to NaCl and H2O molecules when exposed to AC and DC fields. If you download the models you can press play and watch the atoms move around. Normally the molecules look about the same as in the AC simulation staying in about the same spot. When AC is applied they just shake back and forth. With the DC simulation you can see the sodium and chloride atoms are attracted to the simulated charged plates at top + and bottom - of the model container.

Something very important, temperature will effect the conductivity! The chart on the right shows the same solution measured at 3 different temperatures. If your connecting this to a microprocessor you can use a thermistor to compensate. If not then make sure the calibration solution is about the same temperature as the solution to be tested. One way this can be done taking a sample from the fish tank or whatever and letting it set until its room temperature. If your temperature will vary by only a few degrees then it may not even be a problem.

Measured Conductivity
at different Temperatures
EC Temp C
3.43 13.72
4.16 22
4.73 30

If your looking for more information you can probably find it on the Cole Parmer site on EC meters.

How to Make Calibration Solutions

Needing something to calibrate the meter, a friend suggested i measure out salt by weight, and put that into a measured volume of water. Most calibration solutions have a mixuture of 2 or more types of salts such as sodium chloride (NaCl) and potassium chloride (KCl). However all i have around the house is NaCl table salt so...

Looking around the net, i found that 1mg of solute per 1L of water would equal 1ppm. So to get a 2Kppm solution would need to put 2g of salt into 1L of purified water.. or just put 1g of salt into .5L of purified water. The water MUST be purified, pure water has allmost no conductivity, compared to tap water which has all sorts of contamination (tapwater here reads about 80ppm). So get some distilled water for this.

Once you have the 2K solution from 1g into .5L, you can put some of that in a jar, the pour out the rest till you have only 250ml, pour in purified water till you get 500ml again, then you have 1000ppm! Keep doing this if you want to create a range of solutions, just be carefull to measure perfect and STIR IT UP WELL.

Thats about all the stuff you need to know to start building a ppm/ec meter. Now for....

The Circuit

There were alot of design considerations such as needing to pass a minimum amount of current and voltage thru the solution while keeping a good s/n ratio. But most most important it had to use stuff i had laying around the house and be pretty accurate.

The circuit outputs a DC voltage equal to the EC value of the solution being tested. So like 4v on the meter means an EC of 4, 2v means EC of 2, .5V = .5 EC blah blah. To convert EC value to PPM just multiply by 500, so like 4 EC = 2000PPM, .5 EC = 250PPM. Also the output can be connected to an A/D converter without alot much grrrrr.

Schematic diagram of functional EC meter

Click here for the full more readable schematic and notes

There are three main parts to the circuit. The sine wave oscillator, the gain loop, and the AC to DC converter.

The Oscillator: As i hopefully allready explained you must use an AC signal to measure conductance of salts in a solution so you realize the need for the oscillator to generate a nice clean sine wave (See Photo). The oscillator circuit used here is a very common wein bridge design.

Part substitution: You can change around the part values in the oscillator a good bit just remember to make sure the output frequency is above 1Khz, lower freqs seem to give more unstable readings. Adjusting V1 will change the output level a bit but its not recommended, best to change the value of D1 and D2 to a zener with lower Zv. I just used 5.1V zeners because its what i had and they worked well running from regulated +/- 12v supply. If you are planning to use with 9V batteries use lower values for sure.

Nice Pretty Sine Wave

The Gain Loop: This is where all fun stuff occurs. To measure conductace i looked at it as an unknown resistance. The probe makes up one leg of the voltage divider across the op-amps's gain loop. So long as there is no conductance between the probes, the op-amp's output will equal whatever is on the + input pin 5. As conductance increases the amount of negative feedback (which is what determines op-amp gain) decreases because some of the signal is being sinked to ground via the probe. Less feedback means more gain and more amplification.

The advantage of using the feedback loop is it doesnt take nearly as much current to pass thru the solution and you get a large variation in output. If the probe was just part of a simple voltage divider without being in a gain loop would need to pass about 100 times more current thru the solution, or else pass a smaller signal and then you have noise issues. The disadvantage is that there is ALLWAYS at least a gain of +1 in a non-inverting amp that must be nulled out later. Also sucky is that uneven changes between the + and - supply voltages will cause a small amount of offset drift. This offset issue bothers me :(, feel could have done it better but whatever this works and took a few days allready blah.

Part substitution: Changing the value of R7 is yet another, and probably the best, way to compensate for different probes. If readings are too high lower the resistance, if they are too low raise R7's value a bit.

AC to DC converter: Lastly there is the AC to DC converter. You can just measure the output of the gain-loop stage then do alot of math to figure out EC/PPM, but it would be ALOT nicer if the output was zeroed, scaled, and stuff. The first op-amp is configured to convert the AC signal level into a DC voltage with adjustable gain for scale. You cannot just use a diode or even a bridge rectifier alone because of the constant voltage drop of .7v or so creates alot of problems. The solution is to put a bridge into a feedback loop, as the input voltage changes so does the current across the resistor (R8) connected to the DC side of the bridge. With current change comes a proportional DC voltage change that can be measured across the resistor.

Problem with voltage across the bridge is that its differential, there is still a sine wave present when measured with ground as a reference. The Differential Output picture shows a scope connected to the +/- terminals of the bridge. A DC meter across the bridge will measure the difference between the two wave forms. In the picture you can see there is a consistant difference between the top and bottom wave form of about 2 of the little grid squares. Scope is set up where each grid square equals 1 volt, so a meter on the bridge would see a constant difference of and display 2V.

This would allmost work by itself except you need an offset and most A/D converters do not have differential inputs and require a input referenced to ground. So the final part of the circuit is a simple differential amp, also here is where the offset it adjusted. The output is now ready to go to a volt meter or to an A/D input! A note about the offset, blah it really needs to be compensated for earlier because as the gain adjustment of previous stage changes so does the offset just a little bit.

Differential Output

Adjustment: There are 3 pots in the circuit needing attention. To adjust the first V1 hook a meter or better yet a scope up between ground and pin 1 on op-amp. Adjust V1 till there is no output, then slowly turn the opposite direction untill oscillation occurs and the meter reads something while in AC mode or the scope has a nice pretty sine wave. If you adjust it too far the wave will be ugly looking, so do it slowly!

Next put V2 in the middle and adjust V3 so the output @ ECv (pin 14) is 0vdc. Wipe off the probe with a paper towel then put it into a 2Kppm calibration solution. Adjust V2 so that meter reads 4vdc. Again dry and wipe probe and repeat the adjustment of V3 back to 0vdc. You will need to go back and forth (about 3 or 4 times here) between adjusting these two pots before it scales properly. Should read 4vdc (meaning 4 EC) with 2Kppm solution and 0vdc with the probe dried off. If your unable to get it to scale properly you probably need to change the value of R7 as described in the schematic because your probe is too different from mine. Mine reads within about .05 EC of what i am expecting with clean probes.

The Probe

This was a bit tricky. At first i tried copper wire, push pins and various other things. With these experiments i determined that you need to expose a small and consistant amount of the probes to the solution at a consistant distance. I accomplished this by using alot of hot glue and/or insulation on the wire so that only the tips of the wires would touch the water. Then I realized that the stupid readings drift like crazy untill you clean the probe again, and even cleaning the probe sometimes didnt help because probably some chemical reaction with the stuff in the solutions. I kept trying to think of something that would be a great conductor without corroding in the solution, and came up with GOLD! I used a few types of gold plated audio connectors before i found some bananna jacks that seemed to work best. I covered them so again only the tips are exposed to the solution at about 1cm apart and was able to get consistant readings over and over especially if i cleaned the tip before and after each test.

So, use gold plated probes, make sure a small and consistant amount of probe touches the solution, and clean the probes after and before each use. Using these guidelines should get you a nice reliable probe, I had wanted to find a nice premade and ez to find connector that i could suggest, but nothing laying around here is very common. Gold plated RCA plugs seem to be the worst probably because these cheep things are only plated enough to look gold colored. Was looking for a nice gold plated 1/8" phone jack or something but nothing was laying about here blah. If the meter cannot seem to be adjusted right (is allways too high a reading) try increasing the spacing of the probe or changing values of R7. If reading too low try moving probes closer or exposing more probe material.

Here are a few probes I tried. The part you measure with on all probes are facing bottom of picture. From Left to Right: 12AWG house wire with ground removed, sewing pins surrounded by hot glue except the tips (this was WORST of all), gold plated RCA jack with center filled in by glue (was not very stable, i think very thin gold plating), and finally the best of the whole lot is the two gold plated bananna jacks covered with heat shrink and hot glue exposing only the tips.

I've been asked about and have considered myself just leaving the probe submerged and possibly reading it constantly. This seems a bad idea, allthough probably with experimentation you could make it work. I bet the main problem would be from the probe corroding which would occure faster with the circuit in operation. Maby you could get a nice gold probe and have a circuit to either power up or connect the probe only when needed? Dunno really. For observations on this topic see updates below.


Since most of the parts for this were scavenged from old junk there is not much point in discussing construction techniques in depth (That and I'm getting tired of writing sooo much). Construction is not critical so long as all the wires go the the right spot it should work.

These pictures show the prototype and the 'finished' module squeezed onto a small piece of perferated board. Eventually this one will go into a box with PSU, microcontroller, and a bunch of other I/O. So put on a .156" connector for the power/ouput and a RCA jack for the probe so it could be removed easily.

Prototyped version

More permanent version

After Calibrating with the 2Kppm (4 EC) solution, tested with the 1K (2 EC) solution. Also tried it with a few other values down to 250ppm, seemed to worked well. Btw, you may notice my meter is falling apart, if you feel this information is of use and have a spare meter or something please send thanks.

Reading 2000PPM

Reading 1000PPM

Other Stuff

There are other ways to do this. For instance if the probe were to be connected across or in place of R1 or R2 the frequency of the oscilator will vary a bit depending on conductivity of the solution and the values of C1, C2, etc. Connecting the oscilator output to a microcontroller will allow you to determine the conductivity by the frequency without the need for the other 3 op-amp stages.

This is not done at all, ill post more as its completed.


2006-09-22-Observations: I've been using this thing for about 5 months now, keeping the probe submerged all of the time. This worked great for a few weeks, but slowly it started to get cruddy every 3-4 days and readings were off by up to 100ppm. Wiping off the probe gets it back to within about +/-40ppm but before I take a critical reading (like when refilling the tank it's monitoring) will allways clean and recalibrate. Looking at it, the probe's once smooth and shiney gold surface now seems dull, cruddy, and pited.

The probe is holding up alot better than i first thought it would being constantly submerged. If used intermittently it would probably stay stable without recalibration longer.

Found places that sell just the ppm probe itself and i have a feeling using one of these will increase the meter's accuracy and stability greatly. Also an email from someone who has worked at places where EC meters were manufactured suggested that i use nickle instead of gold. But i've not had a chance to check either of these.

Someone hinted to me that this could be an even more useful circuit if only it would operate off a single polarity power source. I need another one of these so in the process of building it may make a few mods.

Also, to make things easier and alot more ereet I have installed the circuit in this box and connected it to the adc input of a microcontroller. By doing this i can zero/calibrate it using software simply pushing a few buttons.
It has a rs-232 port, and USB too so can connect it to a computer for loging or possibly automating some process. I'll put up more documentation on this part of things soon.
Note: The display is reading ppm on the left and ph on the right, with the probes in calibration solutions.

If you want to email me about mistakes or questions its

Even better, since i dont check my emails very often, dont forget the wiki version if u wanna correct mistakes, ask questions, or discuss stuffs is here!
Thanks to all u pplz who've emailed me

Good Luck!
Be carefull, dont do anything stupid and shock yourself to death.

Disclaimer: I am not responsible for what you do.

Experiment, learn, improvise, take what is otherwise junk from your enviroment and making of it something more.