Latest Arduino Library Version:
Latest Espressif Component Version:
ESP32_Display_Panel is a display driver and GUI porting library designed by Espressif specifically for ESP series SoCs (ESP32, ESP32-S3, ESP32-P4, etc.). It supports multiple development frameworks including ESP-IDF, Arduino, and MicroPython.
This library integrates most of Espressif's officially adapted display-related components, which can be used to drive displays (touch screens) with different interfaces and models. Additionally, the library provides common display features such as backlight control and IO expander, and integrates these features with display and touch functionality to form a complete display board driver solution. Developers can perform one-stop GUI application development based on supported boards or custom boards.
ESP32_Display_Panel's main features include:
- Support for various display-related drivers, including
interface bus,LCD,touch,backlight, andIO expander - Support for multiple Espressif official and third-party display boards, including
M5Stack,Elecrow,Waveshare,VIEWE, etc. - Support for custom board configuration
- Support for flexible driver configuration and parameters
- Support for
ESP-IDF,Arduino, andMicroPythondevelopment frameworks
The functional block diagram is shown below:
📖 Here are the usage guides for ESP32_Display_Panel in different development environments:
📋 Here is the list of boards supported by ESP32_Display_Panel:
| Manufacturer | Model |
|---|---|
| Espressif | ESP32-C3-LCDkit, ESP32-S3-BOX, ESP32-S3-BOX-3, ESP32-S3-BOX-3B, ESP32-S3-BOX-3(beta), ESP32-S3-BOX-Lite, ESP32-S3-EYE, ESP32-S3-Korvo-2, ESP32-S3-LCD-EV-Board, ESP32-S3-LCD-EV-Board-2, ESP32-S3-USB-OTG, ESP32-P4-Function-EV-Board |
| M5Stack | M5STACK-M5CORE2, M5STACK-M5DIAL, M5STACK-M5CORES3 |
| Elecrow | CrowPanel 7.0" |
| Jingcai | ESP32-4848S040C_I_Y_3 |
| Waveshare | ESP32-S3-Touch-LCD-1.85, ESP32-S3-Touch-LCD-2.1, ESP32-S3-Touch-LCD-2.8C, ESP32-S3-Touch-LCD-4.3, ESP32-S3-Touch-LCD-4.3B, ESP32-S3-Touch-LCD-5, ESP32-S3-Touch-LCD-5B, ESP32-S3-Touch-LCD-7, ESP32-P4-NANO |
| VIEWE | UEDX24320024E-WB-A, UEDX24320028E-WB-A, UEDX24320035E-WB-A, UEDX32480035E-WB-A, UEDX48270043E-WB-A, UEDX48480040E-WB-A, UEDX80480043E-WB-A, UEDX80480050E-WB-A, UEDX80480070E-WB-A |
| Wireless-Tag | WTP4C5MP07S |
📌 Click on the manufacturer name for detailed information.
💡 Developers and manufacturers are welcome to submit PRs to contribute support for more boards.
📋 Here is the list of LCD controllers supported by ESP32_Display_Panel:
| Manufacturer | Model |
|---|---|
| AXS | AXS15231B |
| Fitipower | EK9716B,EK79007 |
| GalaxyCore | GC9A01,GC9B71,GC9503 |
| Himax | HX8399 |
| Ilitek | ILI9341,ILI9881C |
| JADARD | JD9165,JD9365 |
| NewVision | NV3022B |
| SHENGHE | SH8601 |
| Sitronix | ST7262,ST7701,ST7703,ST7789,ST7796,ST77903,ST77916,ST77922 |
| Solomon Systech | SPD2010 |
📌 For detailed information, please refer to Supported LCD Controllers.
📋 Here is the list of touch controllers supported by ESP32_Display_Panel:
| Manufacturer | Model |
|---|---|
| AXS | AXS15231B |
| Chipsemicorp | CHSC6540 |
| FocalTech | FT5x06 |
| GOODiX | GT911,GT1151 |
| Hynitron | CST816S,CST820 |
| Parade | TT21100 |
| Sitronix | ST7123,ST1633 |
| Solomon Systech | SPD2010 |
| ST | STMPE610 |
| Xptek | XPT2046 |
📌 For detailed information, please refer to Supported Touch Controllers.
🔍 Here are common issues in different development environments:
-
- Where is the Arduino library directory?
- Where are the arduino-esp32 installation directory and SDK directory?
- How to install ESP32_Display_Panel in Arduino IDE?
- How to select and configure supported boards in Arduino IDE?
- How to use SquareLine exported UI source files in Arduino IDE?
- How to debug when the screen doesn't light up using the library in Arduino IDE?
- How to fix the issue that log messages are missing or incomplete in Arduino IDE's Serial Monitor?
- Solution for screen drift issue when using ESP32-S3 to drive RGB LCD in Arduino IDE
- How to reduce Flash usage and speed up compilation when using ESP32_Display_Panel in Arduino IDE?
- How to avoid I2C re-initialization when using ESP32_Display_Panel in Arduino IDE (e.g., when using Wire library)?
