Water Proof Thermometer Using DS18B20

Introduction: Water Proof Thermometer Using DS18B20

Hi guys I have made a multipurpose water proof thermometer to measure the temperature of environment, liquids, hot water, and even the body temperature.

Check out my video on how to make it, in the below link.

(The sponsors of the video is JLCPCB, a PCB manufacturing company, where I got my PCB design manufactured. you can find them here: www.jlcpcb.com . You may make a PCB board, or use a dot board or bread board depending on your preferences.)


Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Things You Need

Here are the things you need:

1. DS18B20 Temperature sensor (Water proof)

2. Arduino Nano

3. 16X2 LCD display with I2C module

4. Enclosure

5.Jumper wires etc.

Step 2: Connections

Well you are all set now.

Let's see how to make connections.

The DS18B20 sensor has 3 wires:

1. VCC (red) - 5V

2. GND (black) - Ground

3. Data (mostly blue) - Digital Pin11

Now Let's connect 16X2 LCD and I2C module with Arduino.

It's easy.

There are 4 wires from LCD+I2C:

1. VCC - 5V

2. GND - Ground Pin

3. SDA - A4 Pin of the Arduino Nano

4. SCL - A5 Pin of the Arduino Nano

Note: If you are using a uno or mega or some other boards, then the respective SDA and SCL Pins to Arduino may vary. Please refer internet sources for different boards.

Step 3: Coding and Libraries Setup

For making the system work, you need some particular libraries:

- For Temperature sensor DS18B20...

1. DallasTemperature.h

2. Onewire.h

below links would help you:



Also for LCD & I2C module you need a specific library called (LiquidCrystal_I2C.h) , that you can download from here:


Also to trouble shoot I2C+LCD issues you can refer this following video:

Download all the libraries mentioned, unzip and save them inside the Arduino libraries folder, then restart your Arduino IDE.

Important Note:

Some newer versions of I2C modules used in LCD displays do not support the above mentioned library as well.

In such cases, first you have to find the particular I2C library, fix the issue, and then you can modify the final code as well (The final code I will provide in the next step).

Step 4: Code and Upload!

if you have successfully setup all the above mentioned steps, now you are good to go with the code.

Please find the code in the below link:



I have fixed the code according to the connection I mentioned. (Especially the digital pin 11 matters. Initial code was digital pin 2 and since I changed the connection, I edited the code as well. therefore please follow the same way I worked it out). then all fine.

Now you can upload the code and see the results.

You can use the thermometer for measuring liquid temperatures, hot water(up to some level), and also body temperature!!!

Check out the below video to find out how I created the thermometer:


Be the First to Share


    • Trash to Treasure Contest

      Trash to Treasure Contest
    • Raspberry Pi Contest 2020

      Raspberry Pi Contest 2020
    • Wearables Contest

      Wearables Contest