Jun 06

DS18B20 Temperature Probe

Although the form factor for the DS18B20 1-Wire sensor boxes I built for the Easy Arduino 1-Wire Sensor Network are relatively small my friend thought an even smaller probe type version would be nice to have for using in places where the phone jack box would be too obtrusive. It would also be nice to be weatherproof for using outdoors. After looking around on the net we found a DS18B20 probe available from China, but couldn’t wait long enough for the shipping, so we decided to build our own version.

My friend took a 5/16th inch wide stainless steel rod and cut it to about 3/4 of an inch in length. Once cut he drilled a 3/16th hole in the rod in one end for the DS18B20 sensor end then beveled the other end.

The steel rod was now ready to be used as the casing for a DS18B20 sensor. Once you have the casing you can build the probe as follows:

Probe assembly instructions: (click photos to enlarge)

  1. Connect the sensor to the wire
    1. Grab a piece of CAT 3 “station wire” (rounded phone cord with 4 wires) and cut it to about 1 foot longer than whatever length you want between the probe and the connector then strip about 3 inches off one end and 6 inches off the other.
    2. Select 3 wires of the 4 in the phone cord to use for Vdd, GND and DQ connections to the DS18B20.
    3. Add heat shrink tubing to the 3 wires on the shorter stripped
    4. Solder the 3 wires to the DS18B20
    5. Slide the heat shrink tubing over the solder connections and shrink it.
  2. Since the thermal epoxy you will use to secure the sensor inside the probe casing can be slightly conductive we need to seal up the sensor a bit more.
    1. Add an addition piece of heat shrink tubing over the DS18B20 and the 3 wires.
    2. Keep the tubing as short as possible on the sensor, then shrink the tubing.
    3. Clip the 4th wire back to the end of the cable insulation.
  3. Slide back the insulation
    1. Grab the 6 inches of wires from the opposite end of the cable then slide the insulation back up towards the sensor.
    2. If it seems to tight you may need to stretch the end of the insulation a bit with a pair of pliers.

  4. Glue the sensor into the casing
    1. For the glue I chose to use Arctic Silver Alumina AATA-5G thermal epoxy since it is thermally conductive.
      1. Note: This is not the same as thermal compound, it is adhesive, so don’t use it on a CPU cooler if you ever want to get it off again!

    1. The epoxy you chose may be slightly electrically conductive, so to be safe ensure no epoxy touches open wires.
    2. Mix up the epoxy and put some into the casing then insert the DS18B20 sensor into the casing and smooth off the excess.
    3. Let it sit until dry.

  5. Connect it up and try it out
    1. In my case I connected it into one of the phone jack box connectors I built for my Easy Arduino 1-Wire Sensor Network
    2. Following the same connections for Vdd, DQ and GND

After building the new probe I ran some tests between it and a bare DS18B20 sensor and on average the difference in temperature between the two sensors was 0.1°C, which is well within the stated ±0.5°C accuracy range of the DS18B20 sensor itself. I haven’t checked to see how much longer it takes for the probe to react to a temperature change than the bare sensor, but I would imagine it would be significantly slower.

If you like the idea of having a DS18B20 temperature probe, but don’t have the means or desire to build one yourself you can order the Waterproof stainless steel encapsulated temperature sensor(DS18B20) from Arduino Direct in China at http://arduino-direct.com/sunshop/index.php?l=product_detail&p=151b . I haven’t order anything from them before, so I can’t provide any feedback on them.


1 comment

  1. Paul

    Nicely written tutorial.

    I also like: (a) the use of thermal adhesive, and (b) minimising the length of the probe to “about 3/4 of an inch in length”.
    The advantage of (b) is a quicker response to environment temperature changes.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>