ESP32 OLED SSD1306 LVGL Monochrome Embedded UI Design

https://youtu.be/B1RGfUwY2Jo
In this tutorial, ESP32 microcontroller is used to interface OLED display with SSD1306 controller over I2C bus for frame data transfer at 400KHz speed.

LVGL library is integrated for nicely looking UI design on monochrome OLED display, simple animations is also run as start up introduction and squareline studio is used for UI design which will generate for us the necessary LVGL library functions to be integrated later on to ESP32 microcontroller firmware.

As an application, a timer runs on the display that can be controlled by 2 buttons to start, stop, pause and resume the timer.

The buttons are interfaced with 2 external interrupt input pins and internal pull resistors are enabled and button debounce algorithm is also integrated in the firmware so no resistors or capacitors are hooked up to the hardware.

GitHub Repository:
https://github.com/UsefulElectronics/esp32-ssd1306-lvgl-monochrome

2 Likes

Great! Do you consider updating it to LVGL v9?