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,

https://micropython.org/

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

https://github.com/espressif/esptool

Step 2: Required Components

Required components are:

1. ESP32

ESP32 in India - https://amzn.to/2NpbsE2
ESP32 in UK - https://amzn.to/34g0SWX

ESP32 in USA - https://amzn.to/34g0SWX


2. SSD1306 OLED Display
SSD1306 in India- https://amzn.to/2PAewQF

SSD1306 in USA - https://amzn.to/2PAewQF

SSD1306 in UK - https://amzn.to/2PAewQF


3. Breadboard

BreadBoard in India- https://amzn.to/2MW0Opb
BreadBoard in USA- https://amzn.to/32WZZSV

BreadBoard in UK- https://amzn.to/32WZZSV


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

GND -> GND

3.3V -> VDD

SCK/CLK-> PIN4

SDA -> PIN5

Step 4: Tutorial

Step 5: Code