从接口开始
ESP32-S3 的 LCD 外设支持 SPI、QSPI、8080 并口(I80)和 16 位 RGB。每种都有适合的分辨率范围:
接口 | 典型面板 | 分辨率 | 需要 PSRAM 吗? |
|---|---|---|---|
SPI | ST7789、ILI9341、GC9A01 | 240×240 至 320×240 | 不需要 |
QSPI | 圆形 LCD/AMOLED | 360×360、466×466 | 有帮助 |
8080(I80) | ST7796S、ILI9488 | 320×480 | 不需要 |
16 位 RGB | ST7701S、通用 40 针 | 480×480 至 800×480 | 需要(八线) |
为什么 RGB 需要 PSRAM
RGB 面板没有内部帧存储。ESP32-S3 必须从帧缓冲持续刷新每一个像素:800×480 RGB565 下为 750 KB。这只能放在 PSRAM 中,而 PSRAM 带宽要与 CPU 和 Wi-Fi 共享。在 esp_lcd 中启用 bounce buffer,并把像素时钟控制在适中水平(约 12–16 MHz),避免画面漂移。
经过验证的组合
- 智能家居墙面面板:4″ 480×480 ST7701S + GT911。
- 桌面人机界面:5″ 800×480 RGB + GT911。
- 旋钮或穿戴设备:1.28″ GC9A01 圆形屏,SPI 接口。
- 小型状态屏:1.54″–2.4″ ST7789V,SPI 接口。
软件栈
ESP-IDF 的 esp_lcd 组件覆盖所有这些接口,界面层运行 LVGL,ESPHome 也支持其中许多面板,可用于 Home Assistant 项目。
ESP32-S3 不够用的时候
1024×600 及以上、视频或 MIPI DSI 面板,请改用 ESP32-P4(带 MIPI DSI 主机)或 RK3566/RK3568 等 Linux SoC。
更多细节:ESP32-S3 显示屏兼容性。
常见问题
ESP32-S3 最大能驱动多大的显示屏?
实际可用的是配合八线 PSRAM 的 16 位 RGB 800×480。1024×600 也可行,但留给应用和 Wi-Fi 的内存带宽很少。
ESP32-S3 驱动显示屏需要 PSRAM 吗?
带片上存储的 SPI 或 QSPI 面板不需要。RGB 面板需要完整的帧缓冲,因此实际上必须有八线 PSRAM。
ESP32-S3 配什么触摸控制器最好?
I2C 接口的 GT911 和 FT6336 类电容控制器在 ESP-IDF、LVGL 和 ESPHome 中都有很好的支持。