Wireless waterproof low-power consumption temperature sensor

Hello, :)

I have a project in which I want to monitor a swimming pool water temperature. The idea is : - To have a waterproof temperature sensor dipping into the swimming pool. This sensor would be connected directly to a Xbee module to transmit its data to a receiving station. If possible, I would like to connect the sensor directly to the XBee module without any Arduino board (use of a XBee explorer). The idea is to have the simplest system possible, to avoid a too high power consumption. (This part of my project would be powered by batteries).

  • To have a receiving station, receiving the temperature via another XBee module. It would be connected to an Arduino board (probably a Fio because of its XBee socket), which would run a program, control a LCD display, etc...

The problem is that I have never used an XBee module. I would like your help to choose my temperature sensor, which would be connected directly to a XBee module :

-First, I thought about a DS18B20, which seems to be pretty popular : https://www.sparkfun.com/products/11050 The problem is that it seems that its one wire configuration is not compatible with the XBee. So I would need an extra Arduino, meaning extra power consumption, which I want to avoid. So I think I won't be able to use this one...

-Then, I saw the ENV-TMP sensor : http://atlas-scientific.com/product_pages/probes/env-tmp.html The temperature is returned as an analog value. The sensor seems fairly basic, simple to use. My question is : Would I be able to read its analog value from my Arduino on the receiving station ? How would I need to proceed ? Because I've read interesting things about IO lines passing with XBees, but it seems to be used with digital IO... So could I read the analog value of the temperature on the serial port of the receiving station, or "duplicate" this analog value on an analog output of the receiving XBee station ? Do you have any solutions ?

-I have seen another possibility, which is to use a slightly different sensor : An ENV-TMP-D : http://atlas-scientific.com/product_pages/probes/env-tmp-d.html This one uses Tx / Rx lines to transmit data. Could I connect it directly to the XBee of my emitting station ? Would I be able to read its returned values directly on the serial port of the receiving station ? This sensor is slightly more expensive than the previous one, so I would prefer using the previous one, but if it is not possible, the why not using this one, if it seems okay for you...

If you have any idea of another waterproof temperature sensor, another solution, etc... I'm open to all the good ideas !

Thank you very much !!


The DS18B20 is so much better than an analog sensor. As long as you have a voltage of 3.3V to 5V. Is the OneWire library not compatible with XBee, why ? where did you read that ?

The ENV-TMP is a good sensor according to others. Perhaps it can be used with a SoftwareSerial port. Using a DS18B20 is a lot simpler, you need a pin, a resistor and a library (or two).

Do you know if RF signals can go through water ? Perhaps only low frequency RF signals. Have you done some tests ?

I don't know if the ENV-TMP-D can be connected directly to an XBee. In my projects I keep adding more and more things, so I would use an Arduino to start with anyway. Perhaps you want to add a light sensor, PH sensor and so on :P

How deep will the sensor be ? What is the pressure ? Do you know if the ENV-TMP sensors can withstand that pressure ?

Once it is working, perhaps you can fill the box with some resin to remove all the water from inside the box.

Thank you for your answer Peter. :) :)

I don't remember where I read that it is not possible to use a one-wire sensor directly with an XBee, without any microcontroller between them. If someone could confirm or not ?? As I said, I am new with XBee, so maybe it is possible to use the OneWire library with XBee. But I'm not sure it is possible according to what I've read (it's a shame I don't remember where !). But here, let's keep in mind that I want to use the sensor and the XBee alone, without any Arduino (at least for the transmitter part, since the receiver will have an Arduino board). So I don't know if I can install the library on the XBee ?

Otherwise, it is true that the DS18B20 seems to be a great product according to what I've read ! If I could be sure to be able to use it alone with an XBee there is no doubt I would choose this one !

About the RF signals going through water, in fact this shouldn't be an issue : In my project, for the transmitter part, only the temperature sensor alone would dip into the water. The XBee would be in a case outside from water. So water will not disturb its emissions, it won't be submerged.

About the pressure / depth, it only concerns the temperature sensor, not the XBee, as said above. The idea is to monitor temperature so just a few centimeters below the water surface should be fine. So the pressure shouldn't be a problem for the sensor I guess. It won't be very deep.

And it is true that having another Arduino could be useful to have greater possibilities of improvement (new more complex sensors, etc...). But I want this system to be as tiny and low-power as possible, and so far I don't plan to add extra sensors. So maybe in the long term I will need to modify my architecture for further implementations, but for now I really would like to only use the XBee alone with the waterproof temperature sensor. Moreover I'd like to be able to deal with "wireless autonomous sensors". So for me, avoiding the use of an extra Arduino would be great ! That's why I am asking which sensor would be great to measure temperatures without using an Arduino, just a XBee.

Thank you :)

Which XBee did you have in mind ? Here is a buying guide : https://www.sparkfun.com/pages/xbee_guide

So far I don't have chosen a precise XBee. The only limitation is that I must use a 2.4 GHz one given my country legislation. But since the distance between the two radios will be less than 20 meters, it's okay. I thought about buying a series 1 XBee, since it is easier to use for beginners. So I'll probably go for a XBee 1mW Wire Antenna - Series 1 or a XBee 1mW Trace Antenna - Series 1. The trace antenna should be more compact, so if the performances are quite comparable that's probably the one I'm going to choose.

20 meters is a short distance. Almost any RF transmitter/receiver or transceiver will work.

Both those modules have the same price: https://www.sparkfun.com/products/8665 https://www.sparkfun.com/products/11215

I still can't find if that ENV temperature sensor can be connected to an XBee without Arduino. Sorry. You might have to test it. I would assume that one of them needs some commands to start working, but I don't know.

If it was not for the 2.4GHz limit I would suggest using one of these types of 433MHz wireless sensor and modify it to extend the temperature sensor out of the box. My sensor like this runs for about 9 months on 2 or 3 AAA batteries. 20 metres line of site is not much and most of them you can hack the transmitted code so you can receive & decode it using arduino with suitable RF receiver.

I've checked, I can indeed use the 433 MHz in my country. That may be a solution, I'll think about it if I don't find something "easier".

Otherwise I might have another solution : http://imall.iteadstudio.com/im120628010.html

This sensor is waterproof and very cheap. It is analog, but I can read analog signals on the XBee module. I would probably use a voltage divider to be able to determine the resistor value. So I should be able to use this sensor. What do you think about it ?