Drivers for ESP32 to be used with LVGL
Go to file
2022-01-02 12:28:43 +01:00
.github Create auto-comment.yml 2020-07-07 13:54:29 +02:00
lvgl_i2c #75 Start resolving conflicts (updating component) 2022-01-02 12:19:02 +01:00
lvgl_tft #75 Update lvgl_tft 2022-01-02 12:28:43 +01:00
lvgl_touch Merge branch 'master' into master 2021-06-23 09:25:39 +02:00
.editorconfig Add editor config for people who use it 2021-02-12 10:20:28 +01:00
.gitignore Removed white space at EOL, added some EOLs at EOF 2021-04-28 11:15:00 +02:00
CMakeLists.txt Add a reference to L58 include directory 2021-06-23 19:05:48 +02:00
component.mk Fix Kconfig name 2021-02-23 20:27:56 +01:00
CONTRIBUTE_CONTROLLER_SUPPORT.md Setup epdiy_epaper generic driver REF: https://github.com/martinberlin/lv_port_esp32-epaper/issues/2 Flushing too often, drawing only 40 px on top of display 2021-05-28 20:53:08 +02:00
Kconfig Fix Kconfig name 2021-02-23 20:27:56 +01:00
LICENSE Initial commit 2020-06-23 11:48:19 +02:00
lvgl_helpers.c #75 Start resolving conflicts (updating component) 2022-01-02 12:19:02 +01:00
lvgl_helpers.h #1 Cleanup and add L58 as driver in this component 2021-06-22 10:07:38 +02:00
lvgl_i2c_conf.h Replace LV_CONF_INCLUDE_SIMPLE with LV_LVGL_H_INCLUDE_SIMPLE 2020-12-21 11:10:35 -06:00
lvgl_spi_conf.h Handle ESP32C3 when using ESP32C3 2021-06-10 22:36:01 -05:00
README.md #1 Cleanup and add L58 as driver in this component 2021-06-22 10:07:38 +02:00

Display and touchpad drivers for ESP32 using LVGL

For a ready to use ESP32 project take look at the lv_port_esp32 repository.

Table of content

NOTE: You need to set the display horizontal and vertical size, color depth and swap of RGB565 color on the LVGL configuration menuconfig (it's not handled automatically).

Supported display controllers

Display Controller Type Interface Color depth (LV_COLOR_DEPTH) Swap RGB565 color (LV_COLOR_16_SWAP)
ILI9341 TFT SPI 16: RGB565 Yes
ILI9163C TFT SPI 16: RGB565 Yes
ILI9486 TFT SPI 16: RGB565 Yes
ILI9488 TFT SPI 16: RGB565 No
HX8357B/HX8357D TFT SPI 16: RGB565 Yes
ST7789 TFT SPI 16: RGB565 Yes
ST7735S TFT SPI 16: RGB565 Yes
FT81x TFT Single, Dual, Quad SPI 16: RGB565 No
GC9A01 TFT SPI 16: RGB565 Yes
RA8875 TFT SPI 16: RGB565 Yes
SH1107 Monochrome SPI 1: 1byte per pixel No
SSD1306 Monochrome I2C 1: 1byte per pixel No
IL3820 e-Paper SPI 1: 1byte per pixel No
UC8151D/ GoodDisplay GDEW0154M10 DES e-Paper SPI 1: 1byte per pixel No
FitiPower JD79653A/ GoodDisplay GDEW0154M09 e-Paper SPI 1: 1byte per pixel No
EPDiy supported epaper (needs PCB) e-Paper Parallel 4: RGB232 16 grayscales No

Please note that EPDiy supported epapers include also the Lilygo EPD47 that comes with it's own PCB and ESP32 WROVER. Is possible also to build your own EPDiy PCB, please find the project KiCad source files, schematics, and documentation here. To use an EPDiy supported epaper you need to add it as a component using git submodules and also update the CMakeLists of lvgl component to REQUIRE that library.

git submodule add https://github.com/martinberlin/epdiy-rotation.git components/epd_driver

Supported indev controllers

  • XPT2046
  • FT3236
  • other FT6X36 or the FT6206 controllers should work as well (not tested)
  • STMPE610
  • FT81x (Single, Dual, and Quad SPI)
  • L58 touch component hook (Used in Lilygo EPD47 parallel with EPDiy driver)

If your display or input device (touch) controller is not supported consider contributing to this repo by adding support to it! Contribute controller support

Support for predefined development kits

You can also use the predefined kits, which selects the correct display controllers on the kit, and sets the gpio numbers for the interface.

Kit name Display controller Interface Hor. Res. Ver. Res.
ESP Wrover Kit v4.1 ILI9341 SPI 240 320
M5Stack ILI9341 SPI 240 320
M5Core2 ILI9341 SPI 240 320
M5Stick SH1107 SPI - -
M5StickC ST7735S SPI 80 160
Adafruit 3.5 Featherwing HX8357 SPI 480 320
RPi MPI3501 ILI9486 SPI - -
Wemos Lolin OLED SSD1306 SPI 64 128
ER-TFT035-6 ILI9488 SPI 480 320
AIRcable ATAGv3 IL3820 SPI 128 296
TTGO T-Display ST7789 SPI 135 240
TTGO Camera Plus ST7789 SPI 240 240

NOTE: See Supported display controllers for more information on display configuration. NOTE: See Supported indev controllers for more information about indev configuration.