Overview
This document is a note on ESP32 series LCD application development, mainly introducing the basic methods of ESP32 series LCD application development, and focusing on the solutions to common problems in LCD development process based on ESP-IDF, and organizing the necessary documents for development.
Getting Started with LCD Development
Selection of LCD Driver Chip
The following is a summary of commonly used LCD configurations and performance across various platforms, which can assist in quick selection and risk avoidance:
Platform |
Interface type |
Resolution |
Color format |
Benchmark (fps) |
SRAM Occupied |
PSRAM occupies |
|---|---|---|---|---|---|---|
ESP32-P4 |
MIPI-DSI |
1080 × 1920 |
RGB565 |
25 |
108 KB |
12.4 MB |
1080 × 1920 |
RGB888 |
20 |
162 KB |
18.3 MB |
||
MIPI-DSI |
800 × 1280 |
RGB565 |
40 |
80 KB |
6.0 MB |
|
800 × 1280 |
RGB888 |
30 |
120 KB |
9.0 MB |
||
MIPI-DSI |
1024 × 600 |
RGB565 |
55 |
102 KB |
3.7 MB |
|
1024 × 600 |
RGB888 |
50 |
153 KB |
5.5 MB |
||
RGB |
800 × 480 |
RGB565 |
60 |
80 KB |
2.3 MB |
|
800 × 480 |
RGB888 |
60 |
120 KB |
3.4 MB |
||
ESP32-S3 |
RGB |
480 × 480 |
RGB565 |
47 |
48 KB |
1.4 MB |
QSPI |
360 × 360 |
RGB565 |
55 |
518 KB |
||
SPI |
320 × 240 |
RGB565 |
48 |
307 KB |
||
ESP32-C5 |
SPI |
280 × 284 |
RGB565 |
42 |
318 KB |
|
ESP32-C3 |
SPI |
240 × 240 |
RGB565 |
27 |
4.8 KB |
|
ESP32-C2 |
SPI |
160 × 80 |
RGB565 |
15 |
1.6 KB |
This test data is based on esp_lvgl_adapter and LVGL v9.4.0 Benchmark test results.
The memory usage values provided are recommended configurations, which can be flexibly adjusted according to actual application scenarios.
Summary of LCD Driver IC
Supported Graphics Libraries
Graphics Library |
Supported Environment |
Features |
Link |
|---|---|---|---|
LVGL |
Arduino, ESP-IDF |
Open source, comprehensive features, rich UI components, high performance |
|
TFT_eSPI |
Arduino |
Optimized for ILI/ILI/ST series drivers, fast speed |
|
Adafruit GFX |
Arduino |
Compatible with various TFT/OLED, wide ecosystem |
|
TinyGL |
ESP-IDF |
Lightweight, pure software rendering of OpenGL subset implementation |