{"id":18301384,"url":"https://github.com/lvgl/lvgl_esp32_drivers","last_synced_at":"2025-04-12T23:29:47.331Z","repository":{"id":40321486,"uuid":"274368709","full_name":"lvgl/lvgl_esp32_drivers","owner":"lvgl","description":"Drivers for ESP32 to be used with LVGL","archived":false,"fork":false,"pushed_at":"2024-08-08T09:27:24.000Z","size":317,"stargazers_count":369,"open_issues_count":80,"forks_count":295,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-04-12T14:54:55.269Z","etag":null,"topics":["esp-idf","esp32","lvgl"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lvgl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-23T09:48:18.000Z","updated_at":"2025-04-09T08:35:37.000Z","dependencies_parsed_at":"2025-01-11T14:01:44.129Z","dependency_job_id":"56d93183-d3f7-4e65-8b6e-09e4199baac3","html_url":"https://github.com/lvgl/lvgl_esp32_drivers","commit_stats":{"total_commits":129,"total_committers":20,"mean_commits":6.45,"dds":0.5891472868217054,"last_synced_commit":"26fe6e7703162ac9b0ee82405e858dc37b885d1f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvgl%2Flvgl_esp32_drivers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvgl%2Flvgl_esp32_drivers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvgl%2Flvgl_esp32_drivers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lvgl%2Flvgl_esp32_drivers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lvgl","download_url":"https://codeload.github.com/lvgl/lvgl_esp32_drivers/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248647013,"owners_count":21139079,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esp-idf","esp32","lvgl"],"created_at":"2024-11-05T15:15:48.691Z","updated_at":"2025-04-12T23:29:47.301Z","avatar_url":"https://github.com/lvgl.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Display and touchpad drivers for ESP32 using LVGL\n\nFor a ready to use ESP32 project take look at the [lv_port_esp32](https://github.com/lvgl/lv_port_esp32) repository.\n\n#### Table of content\n- [Supported display controllers](#supported-display-controllers)\n- [Supported indev controllers](#supported-indev-controllers)\n- [Support for predefined development kits](#support-for-predefined-development-kits)\n- [Thread-safe I2C with I2C Manager](#thread-safe-i2c-with-i2c-manager)\n- [Backlight control](#backlight-control)\n\n**NOTE:** You need to set the display horizontal and vertical size, color depth and\nswap of RGB565 color on the LVGL configuration menuconfig (it's not handled automatically).\n\n\n## Supported display controllers\n\n\n| Display Controller                          | Type       | Interface              | Color depth (LV_COLOR_DEPTH) | Swap RGB565 color (LV_COLOR_16_SWAP)   |\n|---------------------------------------------|------------|------------------------|------------------------------|----------------------------------------|\n| ILI9341                                     | TFT        | SPI                    | 16: RGB565                   | Yes                                    |\n| ILI9163C                                    | TFT        | SPI                    | 16: RGB565                   | Yes                                    |\n| ILI9486                                     | TFT        | SPI                    | 16: RGB565                   | Yes                                    |\n| ILI9488                                     | TFT        | SPI                    | 16: RGB565                   | No                                     |\n| HX8357B/HX8357D                             | TFT        | SPI                    | 16: RGB565                   | Yes                                    |\n| ST7789                                      | TFT        | SPI                    | 16: RGB565                   | Yes                                    |\n| ST7735S                                     | TFT        | SPI                    | 16: RGB565                   | Yes                                    |\n| FT81x                                       | TFT        | Single, Dual, Quad SPI | 16: RGB565                   | No                                     |\n| GC9A01                                      | TFT        | SPI                    | 16: RGB565                   | Yes                                    |\n| RA8875                                      | TFT        | SPI                    | 16: RGB565                   | Yes                                    |\n| SH1107                                      | Monochrome | SPI                    | 1: 1byte per pixel           | No                                     |\n| SSD1306                                     | Monochrome | I2C                    | 1: 1byte per pixel           | No                                     |\n| PCD8544                                     | Monochrome | SPI                    | 1: 1byte per pixel           | No                                     |\n| IL3820                                      | e-Paper    | SPI                    | 1: 1byte per pixel           | No                                     |\n| UC8151D/ GoodDisplay GDEW0154M10 DES        | e-Paper    | SPI                    | 1: 1byte per pixel           | No                                     |\n| FitiPower JD79653A/ GoodDisplay GDEW0154M09 | e-Paper    | SPI                    | 1: 1byte per pixel           | No                                     |\n\n## Supported indev controllers\n\n- XPT2046\n- FT3236, FT6X36\n- FT6206 controllers should work as well (not tested)\n- STMPE610\n- FT81x (Single, Dual, and Quad SPI)\n\nIf your display or input device (touch) controller is not supported consider contributing to this repo by\nadding support to it! [Contribute controller support](CONTRIBUTE_CONTROLLER_SUPPORT.md)\n\n## Support for predefined development kits\n\nYou can also use the predefined kits, which selects the correct display controllers on the kit,\nand sets the gpio numbers for the interface.\n\n| Kit name                  | Display controller    | Interface | Hor. Res. | Ver. Res. |\n|---------------------------|-----------------------|-----------|-----------|-----------|\n| ESP Wrover Kit v4.1       | ILI9341               | SPI       | 240       | 320       |\n| M5Stack                   | ILI9341               | SPI       | 240       | 320       |\n| M5Stack Core2             | ILI9341               | SPI       | 240       | 320       |\n| M5Stick                   | SH1107                | SPI       | -         | -         |\n| M5StickC                  | ST7735S               | SPI       | 80        | 160       |\n| Adafruit 3.5 Featherwing  | HX8357                | SPI       | 480       | 320       |\n| RPi MPI3501               | ILI9486               | SPI       | -         | -         |\n| Wemos Lolin OLED          | SSD1306               | SPI       | 64        | 128       |\n| ER-TFT035-6               | ILI9488               | SPI       | 480       | 320       |\n| AIRcable ATAGv3           | IL3820                | SPI       | 128       | 296       |\n| TTGO T-Display            | ST7789                | SPI       | 135       | 240       |\n| TTGO Camera Plus          | ST7789                | SPI       | 240       | 240       |\n\n**NOTE:** See [Supported display controllers](#supported-display-controllers) for more information on display configuration.\n**NOTE:** See [Supported indev controllers](#supported-indev-controllers) for more information about indev configuration.\n\n\n## Thread-safe I2C with I2C Manager\n\nLVGL can use I2C to read from a touch sensor or write to a display, possibly\nmany times a second. Meanwhile, other tasks may also want to read from i2c\ndevices on the same bus. I2C using the ESP-IDF is not thread-safe.\n\nI2C Manager (`i2c_manager`) is a component that will let code in multiple threads\ntalk to devices on the I2C ports without getting in each other's way. These drivers\nuse a built-in copy of I2C Manager to talk to the I2C port, but you can also use \nthe I2C Manager component itself and have others play nice with LVGL and vice-versa.\n[Click here](i2c_manager/README.md) for details.\n\n\n## Backlight control\n\nControl of LCD's backlight is provided by separate module that is independent from the display driver.\nConfiguration of the backlight controller can be found in menuconfig `LVGL ESP Drivers -\u003e LVGL TFT Display controller`.\n\nThere are three modes of operation:\n1. Off - No backlight control\n2. Switch - Allows ON/OFF control\n3. PWM - Allows brightness control (by Pulse-Width-Modulated signal)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flvgl%2Flvgl_esp32_drivers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flvgl%2Flvgl_esp32_drivers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flvgl%2Flvgl_esp32_drivers/lists"}