Public Lab Research note

Willow Creek Water Quality Monitoring (EC and TDS)

by MadTinker | March 21, 2018 22:57 21 Mar 22:57 | #15996 | #15996

[The above picture is of my wife spreading grass and wild flower seeds on our section of the Willow Creek Reclamation Area. For those of you in the Western US, this should be an alarming picture. We are at the headwaters of the Rio Grande watershed and there hasn't been much snow- about 50% of snowpack. Where she is standing the snow is usually about a meter deep. If we don't get more snow this winter, you won't get water this summer. Dave ]

[Edit: 4/18/18 - parts list correction]

The goal of this portion of the Willow Creek Reclamation water quality monitoring is focused on developing sensor/data logger packages to be deployed along Willow Creek, near Creede, Colorado. The first sensor discussed here is a variation of the DFRobot TDS sensor combined with temperature sensor. A second write will focus on the DFRobot turbidity sensor. Both will be packaged independently with the Mini-Pearl logger being developed by @cfastie. I suppose in some ways this also constitutes multiple replications of the construction of the Mini-Pearl logger. Many thanks to Chris @cfastie for his patience with my questions.

[Caution: The following notes are a work in progress.]

Parts List

Arduino 3.3V Pro Mini - ebay ($1.90)

MiniSD card module - ebay ($0.55)

DS18B20 from DFRobot ($6.90)

DFRobot TDS Sensor/Meter ($12.90)

DS3231 RTC/AT24C32 eeprom ($1.18) Note power saving modifications suggested here

FT232RL FTDI to TTL Serial Adapter ($1.78)

Battery pack ($1.49)

3x AA ($1.88)

CR2032 coin battery for RTC ($0.29)

Misc pipe, coupling, etc for packaging ($10.50)

Data Logger

Construction of the data logger is pretty straightforward. You can follow instructions provided for the Arduino pro-mini 3.3V provided by either Ed Mallon (Cave Pearl) or Chris Fastie @cfastie (mini-pearl).

image description

Temperature Sensor

Sorry I don't have more detailed pictures of the assembly. The temperature sensor is the DS18B20 from DFRobot. This is a one wire sensor (red and black wire to power, yellow wire to digital pin 2). It is waterproof, but additional shrink wrap will be added before installation in carrier.

TDS Sensor

The TDS sensor is the DFRobot TDS Sensor/Meter. This is an analog device that comes with a connector/conditioner card. As with the temperature sensor, wiring is pretty straightforward: red and black wire to power, blue wire to analog pin A1. The sensor is advertised as water proof.

As you can see from the picture below, things get a little crowded - I didn't plan ahead very well when I first constructed the data logger. The data logger and battery pack were attached to one side of a small piece of Lexan (clear plastic sheet). The TDS conditioner card was attached to the other side.

The TDS sensor pulls a reading from the temperature sensor and compensates the voltage reading from the TDS sensor. The drop in voltage (a measure of the electrical conductivity) is then converted to a TDS reading through a simple multiplier (x 0.5 ).

image description image description

image description


Will post a github link to the code soon. Such as it is. The libraries for the TDS sensor seem to be memory hogs so may have to re-think the Arduino platform. Everything seems to be working fine. I've pirated a bunch of code from @cfastie 's Mini-Pearl and from Ed Mallon's Cave Pearl project and scavenged some code from DFRobot wiki for the TDS/EC sensor.


3"ID PVC pipe was chosen as the best available option for packaging. Two holes were drilled (1/4"D) through the PVC end plug. The TDS/EC and Temperature sensors fit snugly in the holes and some (crude) preliminary testing was done to see if the proximity of the Temperature sensor influenced the TDS/EC sensor and there did not seem to be a significant change in the voltage drop across the TDS sensor. The PVC plug was then epoxied in place. The entire, completed sensor package is presented below. (the black ABS fitting is being replace with a white PVC end cap)

image description image description


[Still haven't gotten this bit of code running, but the unit wasn't significantly off from the TDS pen used for calibration.]

Initial Deployment

Just received permission to do the sensor testing in Willow Creek. Working on a deployment scheme (how to attach to the stream bed). Sent out a notice to the community via Facebook so they wouldn't freak out about seeing a suspicious package.

A few pictures of sensor package placement. This is a short term experiment for a week to test the packaging, the sensor, data collection, etc. Placement is such that the sensors are pointing down stream, the package is buried in a few large rocks. We are at the lowest flow of the year so the water depth is only 6" or so. If we get any runoff, the depth will be grow to a couple feet in the next month. The goal is to complete the initial assessment, correct all the bad things and then re-deploy in about two weeks. [apologies for the large pictures, for some reason, the page layout would only do small or large size images.]

image description

image description

image description

Don't let the sunshine fool you. It was cold enough that the icicles were forming on my cuffs.

image description

Initial Deployment

The unit was tested for a week to evaluate the structural integrity, data collection, etc.

image description image description

The initial testing was less than successful. The sensors and data logger functioned for a bit over 3 days of the planned 8 days. The unit developed a small leak at some point after that and the data collection was corrupted and then the unit shutdown. (A movie of the water being emptied could not be uploaded.)

A new seal is being developed and another test is planned to begin in about 3 weeks.

Final Deployment


Test Results




Lessons Learned

I had originally planned on packaging this in a 1" ID length of PVC. The mini-pearl fit very nicely in this small profile package. I found a number of battery packs that also fit snugly inside the PVC - and they were on sale for 1/3 the original price. A previous note documented the re-wiring of the USB connector. Unfortunately I found that the battery pack power automatically cuts off when the current draw drops to zero. Which happens intentionally when the mini-pearl logger goes into a power saving mode. Looks like I have some power packs as stocking stuffers for next Christmas. Back to a traditional battery pack.

image description

Additional Background

I'm pretty new at this so take this grain of salt (there must be a TDS joke in there somewhere), but yes, I'm pretty sure that most/all TDS meters measure conductivity and convert to a TDS measurement. That was why I originally asked the question. When I took my water quality monitoring class from the State of Colorado, the folks there indicated that they no longer report TDS (nor TS - total solids) because it is difficult to establish state-wide baselines. One major issue is the conversion from EC to TDS depends on so many things that a simple multiplier is very location and season dependent.

So many things can be involved with TDS (total dissolved solids) and TS (total solids): salts, minerals, organic matter, etc. It is no longer a standardized metric for water quality in Colorado. Note the emphasis on 'standardized'. The same holds true for EC (conductivity). However, EC is still recognized by the EPA as an 'indicator' of water quality. As an indicator, you are looking for changes or patterns. After discussing what I wanted to do with my EC loggers, that was how the Colorado Parks and Wildlife suggested that I present the data and the overall effort related to simple water quality monitoring. EC is cheap to monitor, easy to communicate to the masses, easy to teach to kids (e.g. coqui), and reasonably understood by the folks I would need to communicate with. Obviously there are still some technical issues with EC sensors in general. I'm hoping the new sensor mitigates some of those issues. And also the EC sensor will be paired with a turbidity sensor and there should be a correlation between those two readings.

I also have a Riffle (still in the packing material) and maybe after some fires have died down, I'll take a look at connecting those two.

I did this Help out by offering feedback!

People who did this (0)

None yet. Be the first to post one!


I have done many calibrations to correlate Conductivity vs TDS. One thing that I have found out it will only work for one Creek, river or any surface water. Meaning you will have to calibrate your conductivity reading and take one representative sample of the same site and measure TDS according to EPA methods. If you do these readings and sample taken, TDS analysis for several times during dry and raining periods, eventually, you will get a quite robust correlation graph. Good luck. If you are going to measure turbidity you could do the same procedure. Use a turbidity meter or measure TSS (Total Suspended Solids) EPA standard methods.

Reply to this comment...

I'm also looking to measure Conductivity, and I have a Riffle. So you have any advice for what sensor to buy, with the memory constraints and other hardware limitations in mind?

Is this a question? Click here to post it to the Questions page.

Reply to this comment...

Just a quick update on the status of this project. Willow Creek is going through a couple of serious events. First, the stretch of the stream where it goes through Creede, CO is going through some major stream renovation. Second, the drought in the area has resulted in a significant reduction in the stream flow. The latter is so significant that it is difficult to find accessible locations for the placement of sensors. Hopefully as the rainfalls (local monsoon-like weather patterns) move in, the situation will improve.

Reply to this comment...

Login to comment.