# esp_lcd driver for ILI9488 displays This component provides an implementation of the ILI9488 LCD controller using the esp_lcd component APIs. | LCD controller | Communication interface | Component name | Link to datasheet | | :------------: | :---------------------: | :------------: | :---------------: | | ILI9488 | SPI | esp_lcd_ili9488 | [Specification](https://focuslcds.com/content/ILI9488.pdf) | ## Using this component in your project This package can be added to your project in two ways: 1. Using [Espressif's component service](https://components.espressif.com/) as: ``` dependencies: atanisoft/esp_lcd_ili9488: "~1.0.0" ``` 2. Using the git repository directly: ``` dependencies: esp_lcd_ili9488: git: https://github.com/atanisoft/esp_lcd_ili9488.git ``` For more information on the usage of the `idf_component.yml` file please refer to [Espressif's documentation](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-component-manager.html). ## Supported platforms At this time testing is limited to ESP32 and ESP32-S3, other ESP32 variants should work but are not tested. ## Required sdkconfig entries This driver converts the color data from 16-bit to 18-bit as part of the `draw_bitmap` callback. Therefore it is required to set `CONFIG_LV_COLOR_DEPTH_16=y` in your sdkconfig. In the future other color depths may be supported.
# Change log for esp_lcd_ili9488 ## v1.0.3 - Bug Fixes and LVGL example update This release removes (and desupports) a dependency on 32-bit color depth when using LVGL, the color conversion code has only ever supported 16-bit color data but was incorrectly casting the source color data to `uint32_t` instead of `uint16_t`. As a result of the above bug fix the `esp_lcd_panel_dev_config_t` field `bits_per_pixel` will be ignored by `esp_lcd_new_panel_ili9488` and the ILI9488 will always use the 18-bit color mode. The LVGL example has been updated as below: * Remove unused `lvgl_port_update_callback` since the example does not include touch support or any screen rotation API calls. * Add option for enabling / disabling double buffering with LVGL, default is to use a single buffer. * Added missing Kconfig.projbuild entry for `TFT_RESET_PIN`, added new entry `DISPLAY_COLOR_MODE` which can be used to toggle between BGR and RGB color mode on the ILI9488 display. * Enhanced example to switch from only using `lv_spinner_create` to instead use `lv_meter_create` and `lv_anim_t` to display an animated gauge. * Reduced default backlight brightness to 75%. * Switched from using `esp_register_freertos_tick_hook` to `esp_timer_create` for the tick update handler. * Add code to set the background color of the display to black. ## v1.0.2 - Bug Fix Release This release contains a bug fix related to a compilation failure with ESP-IDF v5.0.1 replacing `esp_lcd_color_space_t` with `lcd_color_rgb_endian_t` but retaining the original name in `esp_lcd_panel_dev_config_t` for the value. At this time the library supports both ESP-IDF v4.4.x and v5.x but the new values in `lcd_color_rgb_endian_t` are not being used as they are compatible with the existing values defined in `esp_lcd_color_space_t`, once ESP-IDF v5.1.x has become stable and legacy enums are removed this library will be updated accordingly. Fixed: https://github.com/atanisoft/esp_lcd_ili9488/issues/1 ## v1.0.1 - No changes ## v1.0.0 - Initial release This release is the first revision of this component and includes basic support for ILI9488 displays including the 18-bit color depth conversion which is required for SPI interface displays.
idf.py add-dependency "atanisoft/esp_lcd_ili9488^1.0.3"
To create a project from this example, run:
idf.py create-project-from-example "atanisoft/esp_lcd_ili9488^1.0.3:lvgl"