I am searching for an port/driver adapter from LVGL v8.3 to an OLED display using the SSD1306 controller via I2C. The adapter shall support partial display updates.
With partial display updates I mean that one can update a region of the display only, and does not necessarily need to write the full buffer to the display for every modification of the screen.
Preferably I would like to use a driver which is independent from the MCU or framework (Arduino/ESP-IDF/…).
- MCU: ESP32-S3
- Board: ESP32-S3-DevKitC-1
- using Arduino framework via PlatformIO
I am under the impression that there are many display drivers ported to LVGL already. But I can not find one which supports LVGL v8 and SSD1306 via I2C.
Preferably the driver port would not depend on a specific I2C implementation but instead provide an interface which can be adapted to different I2C HALs.
- searched in the official driver ports project: lvgl/lv_drivers
- searched on StackOverflow for LVGL and SSD1306
- read the documentation for porting display drivers
- did find a post describing how to port an monochrome display in general
- found the project ThingPulse/esp8266-oled-ssd1306. But it doesn’t seem to provide a mechanism to do partial display updates?
- searched this forum for “SSD1306”
The most promising so far seems to be an old version (based on LVGL v6?) of lv_drivers, which contains an SSD1306 driver port. But apparently this is not part of the project any more .
Before I write my own port:
- are there any driver ports you can recommend?
- are there other places to look at for driver ports?