DHT11 ESP32 SSD1306 display

Measure the temperature with ESP32 and DHT11 sensor

The DHT11 sensor is a low-cost humidity and temperature sensor that can be used to measure the temperature and humidity of the environment. To use the DHT11 sensor with an ESP32, you will need to connect the sensor to the ESP32 according to the wiring diagram provided by the manufacturer.

To read the temperature and humidity data from the DHT11 sensor, you will need to use a library specifically designed for the ESP32 and DHT11 sensor. The DHT sensor library for ESP32 provides a set of functions for initializing the sensor, reading the temperature and humidity data, and converting the data to a usable format.

Purpose of this tutorial:

In this tutorial we will see how to read the temperature measured by the DTH11 sensor and display it on an SSD1306 display.

Necessary components


The ESP32 is a low-cost, low-power microcontroller with built-in Wi-Fi and Bluetooth capabilities. It is a popular choice for IoT projects and is commonly used for a variety of applications such as home automation, wireless control, and sensor data logging. The ESP32 features a dual-core processor, a rich set of peripherals, and support for a wide range of protocols. It can be programmed using the Arduino IDE and various other programming languages such as C, C++, and MicroPython.

Additionally, the ESP32 has a wide range of features including:

  • A high-performance processor with a clock speed of up to 240 MHz
  • Support for various types of wireless connectivity such as Wi-Fi, Bluetooth, and Bluetooth Low Energy (BLE)
  • Multiple communication interfaces such as I2C, SPI, UART, and I2S
  • A large number of GPIO pins to connect to external devices and sensors
  • A built-in security module for secure communication

The ESP32 is often used in projects where a low-cost, low-power device with Wi-Fi and Bluetooth capabilities is needed, and it is commonly used with other sensors and devices to build IoT projects, home automation systems, wireless control systems, and data logging systems.

DTH11 sensor

The DHT11 sensor is a low-cost, digital humidity and temperature sensor. It is commonly used in various types of projects such as weather stations, home automation, and HVAC systems.

The DHT11 sensor measures both relative humidity and temperature, and it can provide accurate readings within a certain range. It can measure temperature between 0-50°C with an accuracy of ±2°C and humidity between 20-90% with an accuracy of ±5%.

The DHT11 sensor has four pins: Vcc, Data, Not Connected, and GND. The Vcc pin is used to provide power to the sensor, typically 3.3V to 5V. The Data pin is used to send the temperature and humidity data to the microcontroller. The Not Connected pin is not used and should be left unconnected. The GND pin is used to ground the circuit.

The DHT11 sensor uses a one-wire communication protocol to send data to the microcontroller. The data is sent in a 40-bit packet, which includes the humidity and temperature data, as well as a checksum for error detection.

The DHT11 sensor is relatively simple to use and it’s a popular choice for hobby projects, DIY projects and low-cost monitoring systems. It’s relatively cheap and easy to find. However, it’s important to note that the sensor has a limited measurement range and it’s not as accurate as other types of temperature/humidity sensors.

SSD1306 display

The SSD1306 is a monochrome OLED (Organic Light Emitting Diode) display that can be used to display text and graphics. It is a small, low-power display that can be easily integrated into a wide variety of projects.

The SSD1306 display is controlled using an I2C or SPI interface, which allows it to communicate with a microcontroller or microprocessor. It typically requires only a few connections to the microcontroller, such as Vcc, GND, SDA and SCL for I2C or SCK, MOSI, CS, DC and RST for SPI.

The SSD1306 display has a resolution of 128×64 pixels, and it can display text and graphics using a monochrome pixel format. The display has an integrated charge pump that allows it to operate at a voltage as low as 2.7V. This allows for low power consumption and makes it suitable for battery-powered projects.

The SSD1306 display can be controlled using a variety of libraries that are available for different platforms such as Arduino, Raspberry Pi, ESP32, etc. These libraries provide a set of functions for controlling the display and make it easy to use the SSD1306 display in your projects.

The libraries typically provide functions for initializing the display, clearing the display, setting the cursor position, and writing text or graphics to the display. They also provide functions for controlling the display’s contrast and brightness.

Overall, the SSD1306 display is a versatile and low-power display that can be easily integrated into a wide variety of projects. It is a popular choice for creating small, portable, and battery-powered devices such as digital clocks, temperature displays, and other small graphic displays.

Connecting wires

Connecting wires refers to the process of physically connecting wires or cables to a device or circuit in order to establish an electrical connection. This can be done by using various connectors such as plugs, sockets, or terminal blocks. The wires are typically color-coded to indicate their function, such as red for power, black for ground, and yellow for signals.

Test plate 

A test plate is a type of circuit board that is used to test electronic components. It typically consists of a flat board made of a non-conductive material, such as plastic or fiberglass, with a number of holes or pads that are used to connect electronic components. The test plate allows you to connect electronic components and test them easily.


To perform the assembly

For DTH11 sensor, we connect:

  • the DATA pin to pin D23 of the ESP32 board

  • the VCC pin to the 3.3V pin of the ESP32 board

  • the GND pin to the GND pin of the ESP32 board

For SSD1306 display, we connect:

  • the SDA pin to the D21 pin of the ESP32 board

  • the SCL pin to pin D22 of the ESP32 board

  • the VCC pin to the 3.3V pin of the ESP32 board

  • the GND pin to the GND pin of the ESP32 board

Micropython program

Here is the program which reads the temperature measured by the DTH11 sensor and displays it on SSD1306 display.


Note: you must import the following libraries: ssd1306

0 commentaire

Leave a comment

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Scroll to Top