Water temperature sensor?

Is there a nice, cheap way to sense water temperature w/ the Arduino? All of the waterproof thermistors are so expensive.

How fast response you need? You can cover the component with silicon or other stuff. That always slows down the change in the sensor a bit.
Does it need to be in seconds, minutes or even between longer period of time?


...nice, cheap way...

The name of the game, here in Arduino-land, is DIY (Do It Yourself.)

Years ago I needed a temperature sensor for the wash water in my photographic darkroom. (Yes, we used paper and film and chemicals, not Photoshop, and we washed finished negatives and prints for a certain length of time to get rid of residual fixer.)

We didn't have Arduinos then, but I did have a homebrew digital voltmeter built from a clock/timer module (with an analog temperature interface) with a nice red LED seven-segment display---just right for a darkroom developing black and white prints and for washing negatives after they had been "fixed." The accuracy requirements were only a couple of degrees F.


1. I took the equivalent of an LM35 in a plastic case (TO-92). I found a discardable ballpoint pin with a plastic tube a little larger than the diameter of the TO-92. I soldered the wires of some small stranded insulated wire (probably 28-gauge, but it's not critical) to the leads of the sensor.

2. I cut the plastic pen's tube to a length a few centimeters longer than the length of the TO-09

3. I reamed out the closed end to give a hole about the size of the TO-92 and cemented the sensor in place with epoxy, leaving the leads coming out the open end.

4. I filled the tube with aquarium-grade Silicone RTV and let it cure. Do this outside or at least in a well-ventilated workspace---those ammonia fumes from the curing silicone are no fun at all.

5. Not having a processor-based controller for display, I put a couple of scaling resistors and a calibration potentiometer and a couple of bypass capacitors in a small plastic box. I twisted the leads from the sensor and brought them into the box through a small grommeted hole. I brought out connections for the voltmeter to "pin" jacks. The pot allowed me to calibrate the sensor at the desired temperature, 68 Degrees F (20 Degrees C). I had a very accurate process thermometer to calibrate the thing spot on but, again it was not very critical that the readings be absolutely exact.

6. The end of the sensor itself was in direct contact with the wash water and no harm was done if the entire sensor/pen assembly was dunked.

7. Ta-daa!



Doing it today, with an Arduino as a controller, then I might very well design with a digital interface DS18B20 sensor instead of the analog LM35. Depends on the length of the leads to the controller, the required accuracy and stability over time, the budget, etc.