ESP32 - Temperature Sensor - OLED
This tutorial instructs you how to read the temperature from DS18B20 one wire sensor and display it on an OLED.
Hardware Used In This Tutorial
1 | × | ESP-WROOM-32 Dev Module | |
1 | × | USB Cable Type-C | |
1 | × | SSD1306 I2C OLED Display 128x64 | |
1 | × | Temperature Sensor DS18B20 | |
1 | × | Breadboard | |
1 | × | Jumper Wires | |
1 | × | (Recommended) ESP32 Screw Terminal Adapter |
Or you can buy the following sensor kit:
1 | × | DIYables Sensor Kit 30 types, 69 units |
Buy Note: Numerous DS18B20 sensors available in the market are of poor quality. We strongly advise purchasing the sensor from the DIYables brand via the link above; we conducted tests, and it performed reliably.
Introduction to OLED and DS18B20 Temperature Sensor
If you do not know about OLED and DS18B20 Temperature Sensor (pinout, how it works, how to program ...), learn about them in the following tutorials:
Wiring Diagram

This image is created using Fritzing. Click to enlarge image
If you're unfamiliar with how to supply power to the ESP32 and other components, you can find guidance in the following tutorial: How to Power ESP32.
We suggest purchasing a DS18B20 sensor that comes with a wiring adapter for easy connection. The adapter has a built-in resistor, eliminating the need for a separate one in the wiring.
ESP32 Code - Temperature from DS18B20 Temperature Sensor and display it on OLED
Quick Instructions
- If this is the first time you use ESP32, see how to setup environment for ESP32 on Arduino IDE.
- Do the wiring as above image.
- Connect the ESP32 board to your PC via a micro USB cable
- Open Arduino IDE on your PC.
- Select the right ESP32 board (e.g. ESP32 Dev Module) and COM port.
- On Arduino IDE, Go to Tools Manage Libraries

- Search “SSD1306”, then find the SSD1306 library by Adafruit
- Click Install button to install the library.

- You will be asked for intalling some other library dependencies
- Click Install All button to install all library dependencies.

- Search “OneWire”, then find the OneWire library by Paul Stoffregen
- Click Install button to install OneWire library.

- Search “Dallas”, then find the DallasTemperature library by Miles Burton.
- Click Install button to install DallasTemperature library.

- Copy the above code and open with Arduino IDE
- Click Upload button on Arduino IDE to upload code to ESP32
- Put the sensor on hot and cold water, or grasp the sensor by your hand
- See the result on OLED
※ NOTE THAT:
The about code automatically horizontal and vertical center aligns the text on OLED display
Video Tutorial
Making video is a time-consuming work. If the video tutorial is necessary for your learning, please let us know by subscribing to our YouTube channel , If the demand for video is high, we will make the video tutorial.