DIY Projects

ESP Easy: How to add OLED SSD1306 display to an IoT ESP8266 project

espeasy ssd1306 bmp180 dht22
Best deal at:

ESP Easy is able to manage the on-screen display black and white OLED ( SSD1306, 124 × 68 pixels ) or on screen LCD 2004 (4 lines). Add a view on an Arduino project or ESP8266 requires still a bit of work. If you need to display text and that the sensors and/or actuators are supported by firmware ESP Easy, here’s how. If you have a project more complex that this firmware is not suitable, you should find everything you need in this previous article, how to add a screen OLED SSD1306 to an ESP-01. For a Arduino project, start read this post.

If you’re starting with ESP Easy, you can start by reading this overview article.

To achieve this article, I used the version R120 ESP Easy firmware.

List of components

In this tutorial, we will achieve a small barometer that measures the pressure using a BMP180 sensor and the temperature and humidity using a DHT22.



Here is a boardping between Arduino and ESP8266 pins.

Component Pin Arduino PIN Equivalence ESP8266 (Wemos D1 mini)
Data GPIO-14 G5
BMP180 VDC 5V 5V
OLED SSD1306 0.96 “ VDC 5V 5V
SCK GPIO-5 [] D1
Led WiFi activity Pole + GPIO-12 D6
Pole- GND G


Once the wiring is done


Configuring ESP8266 with ESP Easy

Find I2C addresses of the accessories

Before going further Let’s start by retrieving each accessories I2C addresses. For it go to the Tools page and then click on I2C Scan . You should get something like this:


The screen is well identified as a screen OLED SSD1306 0x3c address. The BMP180 has been identified as a BMP085 (normal, it’s his successor). It is located at address 0 x 77. The Firmware ESP Easy is able to find him even the address of many Devices on the I2C bus. There is for the OLED display to help him.

Add the Device BMP180 (or BME280)

The BMP180 digital Barometer measures atmospheric pressure (from 300 to 1100 hPa) and temperature (-50 ° C to + 85 ° C). If you also want to recover the moisture level, opt for a BME280. The advantage of the BME280 is an easier integration in Domoticz. In the list select Temperature & Pressure – BMP085 and


Add the DHT22 Device

with no BME280 to my available, so I added a DHT22 to collect the moisture. In the list, choose Temperature & Humidity – DHT then


Add and configure the Device display OLED SSD1306

Add a new Device. Select from the list Display – OLED SSD1306.

There is to indicate the content for each line. In the version R120, ESP Easy manages display 8 lines.

You can write any text in the limit of 16 characters per line.

You can retrieve and display system information:

Finally we can retrieve the value of a variable of any Device like this [NameDuDevice#NameValueX] .Iin the present case, to display the humidity measured by the DHT22, will be [DHT22#HumDHT22].



Here is the result.


Show information remotely on the screen

Another very interesting function is the possibility to order or view the text using a simple HTTP request. We could for example retrieve weather on an online service and display it on the screen from a home automation, a Mode-Red script server…

The HTTP request is of the following form:

http://<ESP IP address>/control?cmd=oled,<row>,<col>,<text>



Other commands available:


Original article source:

Click to rate this post!
[Total: 0 Average: 0]
Exit mobile version