Skip to content

crosser/lvgl_esp_lcd

Repository files navigation

Example ESP32 app using rm67162 OLED display

What is this and why?

  • Example app built against esp-idf, (NOT Arduino)
  • Uses esp-idf's esp_lcd component to drive the display
  • Includes driver for rm67162 display controller chip, that is missing in the upstream esp_lcd (as of this writing).
  • This driver only works when controller is connected over 3-Wire SPI, and does not use DC pin ("16 bit transfer mode"), and tested only against LilyGO T-Display-S3-AMOLED dev module.

Why?

LilyGO provides a driver for this controller, which is

  • Arduino-specific
  • Uses polling SPI transactions (no dual buffer support possible)

Arduino infrastructure is not well suited for my use case, and I wanted to be able to build my application using esp-idf instead. But I did not find a driver for rm67162 that would be usable under esp-idf, so I ported the code taken from LilyGO examples.

LVGL is used for the drawing library, drawing code is taken from one of their examples.

This example app shows how to bind esp_lcd-managed display to LVGL in such a way that asyncronous transactions and dual buffering can be used. (Which is honestly quite an arduous job.)

References

About

Example ESP32 app using rm67162 OLED display

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published