Introduction: ESP32 Interface With SSD1306 Oled With MicroPython

Micropython is python's optimize and small footprint of python. Which meant to build for embedded device which has memory constraints and low power consumption.
Micropython is available for many controller families which includes ESP8266,ESP32, Arduino Boards like MEGA2560 and some of nordic's controller.

In this article we will see how to use interface ESP32 with oled ssd1306 display using i2c interface.

We will be flashing micropython embedded os on ESP32 and our library and application will be written in python script.

Step 1: Tools to Download

Download the binary for variant of board being used

Download binaries from following link,

Download esptool which handles read, write and erase of ESP32/ESP8266,

Step 2: Required Components

Required components are:

1. ESP32

ESP32 in India -
ESP32 in UK -

ESP32 in USA -

2. SSD1306 OLED Display
SSD1306 in India-

SSD1306 in USA -

SSD1306 in UK -

3. Breadboard

BreadBoard in India-
BreadBoard in USA-

BreadBoard in UK-

4. Few wires

Step 3: Connection

Following is the connection details between ESP32 and SSD1306 oled display.

SSD1306 comes in two varient based on interface that is I2C based and SPI based. We will be using I2C based varient in out project.

ESP32 -> SSD1306


3.3V -> VDD



Step 4: Tutorial

Step 5: Code