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?

1 Like

Sorry for seeing your comment very late.
Things were going crazy in my job since my last tutorial
well currently I am still using 8.3.6V because this what Squareline studio supports.

I am waiting for the native LVGL UI Design software :wink: and I will be happy to make tutorials on my YouTube channel using it!

That’s fantastic! :heart: FYI, SquareLine already supports v9.

I did not notice that. I will definitely try v9 next time
Thank you!