Nodemcu ESP8266 DS18b20 Waterproof Temperature Sensor Monitoring

(Last Updated On: September 12, 2020)

esp8266 ds18b20


In this Project “Nodemcu ESP8266 DS18b20 Waterproof Temperature Sensor Monitoring using Blynk”, you will learn how to use the ds18b20 waterproof temperature sensor with the Nodemcu esp8266 wifi module and display the temperature on Gauges using the Blynk Application. This is an IOT “Internet of things” based project. With the help of Nodemcu esp8266 wifi module and Blynk application, the temperature can be monitored in Real-Time from anywhere around the world.

This is version2 of the DS18b20 waterproof temperature sensor monitoring system while in version1; I used the same temperature sensor with the Arduino and displayed the temperature value on a 16×2 LCD. Following is the video explaining how the DS18B20 waterproof Temperature Sensor is interfaced with the Arduino and the temperature is displayed on the 16×2 LCD. Maximum of the instructions used in Version1 will be used in this Tutorial.

In this tutorial, we will cover.

  1. DS18B20 introduction
  2. Complete Circuit diagram
  3. Interfacing
  4. Blynk application designing and finally number


The components and tools used in this project can be purchased from Amazon, the components Purchase links are given below:

Arduino Uno:
Mega 2560:
Nodemcu esp8266 wifi module: Best price

Other Tools and Components:

Super Starter kit for Beginners

Two Channel / 200 MHz Digital Oscilloscope

Variable Supply:

Digital Multimeter:

Soldering iron kit: “best”

PCB small portable drill machine:


Please Note: these are affiliate links. I may make a commission if you buy the components through these links. I would appreciate your support in this way!

About the DS18B20 Waterproof Temperature Sensor:

esp8266 ds18b20

One-wire temperature sensors like the DS18B20 are devices that can measure temperature with a minimal amount of hardware and wiring.  These sensors use a digital protocol to send accurate temperature readings directly to your development board without the need of an analog to digital converter or other extra hardware. You can get one-wire sensors in different form factors like waterproof and high-temperature probes–these are perfect for sensing temperature in many different projects and applications.  And since these sensors use the one-wire protocol you can even have multiple of them connected to the same pin and read all their temperature values independently.

esp8266 ds18b20

The DS18B20 Waterproof Temperature Sensor has three wires

  • The red wire is the VCC wire: the operating voltage is 3 to 5 volts. In my case, I will use 3.3 volts.
  • Yellow Wire is the Data wire: we usually connect a resistor between the data wire and VCC wire, I will explain this in the circuit diagram.
  • The black wire is the Ground wire. This wire is connected with the Nodemcu Esp8266 wifi module ground.

This temperature sensor is capable of measuring the temperature ranging from -55°C to 125°C

Circuit Diagram of the Nodemcu Esp8266 DS18B20:

esp8266 ds18b20

This is the complete circuit diagram of the Nodemcu esp8266 DS18B20 Waterproof temperature sensor monitoring system. This Schematic is designed in cadsoft Eagle 9.1.0 version. If you want to learn how to make a schematic and PCB then you can watch the following video.



Let’s first of all, start with the 5v regulated Power supply which is used to power up the Nodemcu esp8266 wifi module.  This Power Supply is based on the famous LM7805 voltage regulator. J1 is the female power jack and this is where we connect a 12v adaptor, battery or a solar panel. Two 470uf capacitors are connected at the input and output sides of the voltage regulator. A 330-ohm resistor is connected in series with a 2.5v led. This is a current limiting resistor. The output of the voltage regulator is connected with the Vin pin of the Nodemcu esp8266 wifi module and the ground is connected with the ground. SV1 and SV2 are the female headers.

As you can see a 4.7 Kilo ohm resistor is connected between the VCC and data wire. You can also use a 10k resistor. The VCC is connected with 3.3 volts. The ground is connected with the Nodemcu esp8266 module ground. While the Data wire is connected with digital Pin D4 of the Nodemcu ESP8266 wifi module.

esp8266 ds18b20

This is the Final Power Supply Circuit Board of the Nodemcu Esp8266 wifi Module. The Schematic and PCB designing is already explained in the video above.

DS18B12 interfacing with Nodemcu ESP8266 Interfacing:

esp8266 ds18b20

As you can see the red wire which is the VCC wire is connected with the 3.3v, the ground wire of the DS18b20 temperature sensor is connected with the Nodemcu module ground pin, while the yellow wire which is the data wire is connected with the digital Pin D4 of the Nodemcu module. You can also see in the Picture above, a 10 kilo Ohm resistor is connected between the VCC and data wire. Usually, this resistor is 4.7 kilo Ohm but you can also use a 10k Resistor.

Blynk Application designing for the Nodemcu ESP8266 DS18b20:

  • First of all, open the blynk application.
  • set the project name as ds18b20.
  • Click on the choose device and select Nodemcu.
  • make sure you set the connection type to wifi and then click on the create button, an authentication token will be sent on your email id, which will be then used in the programming, simply copy and paste it in programming. This step is already explained in the video given at the end of this Article.
  • Now click anywhere on the screen and search for the Gauge and add it. Resize the Gauge as per your requirement. Click on the Gauge and set the name as Celcius. Then click on the PIN and select Virtual Pin V3, change the Font size and make sure you click on the push button and you select 1 second.
  • Now again click on the screen and add another gauge and follow the same exact steps.

esp8266 ds18b20

Our application is ready and now let’s discuss the programming.

Nodemcu esp8266 ds18b20 Programming:

Before you start the programming for the Nodemcu esp8266 DS18B20 project, first of all, make sure that you download all the necessary libraries, and also make sure you update the Nodemcu board. These are the same libraries I have been using in all of my IoT based projects. The OneWire library and DallasTemperature are already used in Version1. The video link is already given above in the description section. For the complete program explanation watch video Tutorial given at the End of this Article.

Watch Video Tutorial:

Recommended For You

About the Author: Engr Fahad

My name is Shahzada Fahad and I am an Electrical Engineer. I have been doing Job in UAE as a site engineer in an Electrical Construction Company. Currently, I am running my own YouTube channel "Electronic Clinic", and managing this Website. My Hobbies are * Watching Movies * Music * Martial Arts * Photography * Travelling * Make Sketches and so on...


  1. C:\Program Files (x86)\Arduino\libraries\OneWire/OneWire.h:108:2: error: #error “Please define I/O register types here”

    #error “Please define I/O register types here”


    1. Search for libraries on my site. I have added all the working libraries. I have personally tested all these libraries and i have also shared the projects in which these libraries are used.

  2. Hi, great post for NodeMcu, I follow your article and build in no time the thermometer and integrate with Blynk!! Many thanks from Canada.

    I just want to mention for Nodemcu you don’t need the 4.7K pullup res if you are using the D4 pin, there is already a pullup of 12K on the board. Also D3 pin has same 12K pullup. It is from the schematic of Nodemcu, not very obvious to know but it is worthwhile to read the schematic 😎

    I would also add the same for A0 pin for ADC, the nodemcu also has built-in voltage divider with 220K-100K res.

    Again thank you for your nice article, I have lots of fun rediscovering ESP8266.

  3. Hallo,
    beim Compilieren erhalte ich immer die Meldung, dass der SimpleTimer nicht declariert ist. Was bedeutet das?

    1. @Peter here is my #include, for me I uncomment #include <SimpleTimer.h> because Blynk has its own. Hope this can help you.

      #include <BlynkSimpleEsp8266.h>
      // using Blink Timer instead so disable this line — #include <SimpleTimer.h>
      #include <OneWire.h>
      #include <DallasTemperature.h>

Leave a Reply