Water Temperature Sensor for Arduino

Hi There, I want to measure the temperature of a water tank and log it via the Arduino. The idea is to maintain the temperature of the water at 25-30C at all times. I've noticed that most applications have used a sensor such as DS18S20 or TMP35/TMP36/TMP37. but since my application requires to measure the temperature in water, I think a more suitable sensor should have a waterproof probe (or external probe).

Can anyone recommend a suitable device for interfacing with the Arduino ?. +/- 0/5C accuracy is fine. I dont think the temperature will go above 50C or reach below 5C

Thanking in advance


The usual way is to contain the water inside a tank / container which can transmit heat - usually metal. To the outside of this is then bonded the temperature sensor - be that a simple bi-metalic strip thermostat, or a more complex temperature sensing transducer.

Of course, this requires a metal tank, and that will radiate heat, which will be wasteful.

Ideally you would want some form of waterproof probe. You haven't mentioned the amount of water you're dealing with - how big is the tank? How deep especially.

There are thermocouples available in a rigid probe form - quite how waterproof these are I'm not sure, but these are never very long, so you won't be able to get it more than 6 inches or so into the water before you risk complete submersion.

You could always try waterproofing your own sensor - be it a thermocouple, thermistor, or solid-state sensor, but unless you have specialist equipment then you'll be using plastics (tubing, etc) which will insulate the sensor from the heat and may affect your accuracy somewhat. You'd really want the waterproofing to be as thin as possible so as to affect the readings as little as possible. You might get good enough results with a simple plastic bag. How long it would last in your system is anyone's guess without knowing more about your system.

Another possibility might be to use one of these:


You have the convenience of a DS18B20 and it should work in your environment.

Looks a nice bit of kit that - however, it does say for "Wet or harsh environment" - not for underwater use.

The two are very different environments. A wet environment might be, for example, a bathroom. Places where contact with water is likely, but won't be 24/7 underwater.

When underwater you have additional water pressure to cope with, which gets relatively high pretty quickly. The seals / enclosure of this might not be able to cope with continued underwater use. You'd want something that was completely potted and encapsulated, and I don't know if that is or not.

I googled "water proof temperature sensor" and got nearly 3 million results, the second one was this


That looks a better candidate. However, it still only says "waterproof". I had a waterproof watch when I was younger. I went swimming with it. It died. Waterproof doesn't always mean submersible.

The data sheet on that site is only for the sensor - there is no data on what depth it is guaranteed to. You'd want to know that first really.

there is no data on what depth it is guaranteed to

You haven't told us yet how much depth you need. I used the one I linked in a earlier post for about 30cm and it still works. What are your requirements?

A lot of people are using these in Aquaponic, Aquarium and other applications:

These use dual-layer heatshrink sealing and are good at reasonable temperatures (say < 75C)..

The supplier says:

  • High-quality stainless steel anti-rust waterproof package (Exact SS Type is not known)
  • Stainless steel housing (6 * 30mm), overall length to end of wire 100cm
  • Exposed straight round Stainless Steel section about 19mm before rounded end start

This is about .236 inches diameter and one user is putting these into a 1/4 inch compression fitting screwed into a tank. I don't have results from him yet.

DISCLAIMER: Mentioned stuff available in my own shop...

Thank You all for the valuable comments, and into. Just to better explain my setup. It's a Tank (88cm x50cm sized, 15cm DEEP) used as a foot bath. So the idea is to regulate the heat using 1-2 heaters to maintain it constantly between 25-35 C. (no need to be exactly 25 or 30 at this stage). At this stage the contents of the tank will be pure water...so I dont think I have to consider pressure as a significant factor on the sensor. yet it will be constantly "underwater". The tank is made from 15mm thick acrylic sheets.

As suggested, I think http://arduino-direct.com/sunshop/index.php?l=product_detail&p=151 or http://shop.boxtec.ch/product_info.php/cPath/39_71/products_id/40326 seems to be a good choice.

Thanks again all for the helpful comments. For your information I also found a similar project which had my requirements, although the probe was a DIY sealing.


It's a Tank (88cm x50cm sized, 15cm DEEP) used as a foot bath

If the tank is a metal (or at least heat conductive one you can add the sensor on the outside. The temperature gradient through most metals is very low, so the temperature measured outside the metal is only 0.1C or less lower than the inner temperature.

be aware not to put the sensor near the hot/cold water inlet as you get biased readings ==> advantage of measuring outside the tank.

However measuring outside the tank takes a bit more time than in the water, so your SW should adapt for that.

The tank is made from 15mm thick acrylic sheets.

So no, it's not metal, it's acrylic - not very heat conductive really (Copper = 401, acrylic = 0.2)

I know you're not all that keen on making one yourself - but without spending big money, it's likely your best bet.

Google "waterproof an LM35" - a couple of guys have used them on ~10m ROVs with success.

Hi. I use the following:


A little expansive (18 usd) but rugged and nema 6p/ip68 compliant, and fully submersible

Checkout http://www.specsensors.com/, I used their Standard Immersion Sensor and “Aquasense” Water Temperature Sensors for our pool and spa controls, they have been in use since 1999 without a hitch, I got them at my local pool and spa supplier.

fh : )_~