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 or Intel 8080 | esp_lcd_ili9488 | Specification |
When using the SPI interface it is required to use 18-bit color depth mode as below:
const esp_lcd_panel_dev_config_t lcd_config =
{
...
.bits_per_pixel = 18,
...
};
When using the Intel 8080 (Parallel) interface the 16-bit color depth mode should be used.
If the display requires the usage of a RESET pin during the initialization process be sure to configure it as below:
const esp_lcd_panel_dev_config_t lcd_config =
{
.reset_gpio_num = CONFIG_TFT_RESET_PIN,
....
If the display does not require this pin set this value to GPIO_NUM_NC (-1).
This package can be added to your project in two ways:
- Using Espressif's component service as:
dependencies:
atanisoft/esp_lcd_ili9488: "~1.0.0"
- 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.
At this time testing is limited to ESP32 and ESP32-S3, other ESP32 variants should work but are not tested.
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.
Some developers have noted artifacts on the screen when using in their projects. This seems to be related to having a number of SPI devices connected to same bus or due to wire length. If this happens, try changing the pclk_hz in the esp_lcd_panel_io_spi_config_t configuration to a lower value. You can try starting with a small number, like 4mhz. If the artifacts disappear, try increasing this number until they appear again to find a good value:
const esp_lcd_panel_io_spi_config_t io_config =
{
...
.pclk_hz = 4 * 1000 * 1000,
...
}