简介
ESP32-S3-LCD-Driver-Board 是一款紧凑型微控制器开发板,具有 40 针 3SPI + RGB565 和 18 针 SPI 显示屏接口。
它采用了 ESP32-S3-WROOM-1-N8R8 模块,该模块配备了 Xtensa 32 位 LX7 双核处理器,运行频率为 240MHz,内置 512KB SRAM(TCM)和 8MB PSRAM;板载 ETA6096 高效锂离子电池充电管理器和 MX1.25 锂电池接口,适配 20 针 GPIO 接口,与 18 针 SPI 屏幕兼容。支持扩展各种外围设备,使用起来非常简便。
您可以选择 Arduino-IDE、ESP-IDF 或其他软件开发环境,以便您能够轻松快速地开始使用并将其应用于产品中。
特点
- 采用了 ESP32-S3-WROOM-1-N8R8 模块,该模块配备有 Xtensa 32 位 LX7 双核处理器,运行频率可达 240 MHz。
- 集成 512KB 的静态随机存取存储器、384KB 的只读存储器、8MB 的可擦除可编程只读存储器以及 8MB 的闪存。
- 集成 2.4GHz 无线网络和蓝牙低功耗双模式通信,具有卓越的射频性能。
- Type-C 接口,使用起来更方便。
- 内置 40 针 SPI+RGB 和 18 针 SPI 显示屏连接器,具有极强的兼容性和可扩展性。
- 机载锂离子电池充电管理器 ETA6096 和 MX1.25 锂电池接口。
- 带凸缘的模块可以直接焊接到基板上。
- 支持多种低功耗工作状态,能够灵活调整通信距离、数据传输速率与功耗之间的平衡,以满足各种应用场景的功耗需求。
支持的型号
| 支持的型号 | 分辨率 | LCD 驱动芯片 | 触控芯片 |
| 2.1inch RGB Round Touch Display | 480(H)×480(V) | ST7701 | CST820 |
| 2.8inch RGB Round Touch Display | 480(H)×480(V) | ST7701 | GT911 |
| 4inch RGB Square Touch Display | 480(H)×480(V) | ST7701 | GT911 |
| 2.8inch SPI Square Touch Display | 240(H)×320(V) | ST7789 | CST328 |
板载接口

引脚定义

尺寸

开发环境搭建
ESP-IDF
- 以下开发环境默认基于 Windows 系统,推荐使用 VSCode 插件进行开发。
使用 VSCode 插件进行开发
安装 VSCode
- 1. 打开 VSCode 官方网站的下载页面,选择对应的操作系统与系统位数进行下载
- 2. 运行安装包后,其余步骤可按默认设置安装,但为了后续使用体验,建议勾选第 1、2、3 项。.
- 启用前两项后,可以通过右键单击文件或文件夹直接打开 VSCode,能提升后续使用体验。
- 启用第三项后,在选择打开方式时,可以直接选中 VSCode 作为打开程序。
安装乐鑫 IDF 插件
- 注意:当前插件最新版本为 V1.6.4,用户可选择与我们相同的版本,以获得一致的使用体验!
- 打开 VSCode,使用快捷键 **Shift+Ctrl+X** 进入插件管理器。
- 在搜索栏中输入 Espressif IDF,选择对应的插件,然后点击 “安装”
esp-idf: configure esp-idf extension
- 选择快速安装(本教程面向首次安装的用户,因此仅讲解第一种常规安装步骤。)
- 选择下载服务器。
- 选择你现在要使用的 ESP-IDF 版本,我们选择最新的 V5.1.1。
- 以下两项分别为 ESP-IDF 容器目录 和 ESP-IDF 工具目录 的安装路径
- 注意:若你安装过ESP-IDF 或安装失败,请务必彻底删除原有文件,或者新建一个不含中文路径的目录
- 配置完成后,点击 Install(安装) 开始下载。
- 进入下载界面后,会自动安装对应的工具与环境,稍作等待即可。
官方演示使用指南
创建演示
esp-idf:show examples projects

- 以“Hello World”演示程序为例:
- ①选择相应的演示版本。
- ②其自述文件将说明演示程序适用于哪种芯片(演示程序的使用方法和文件结构如下所述,此处省略)。
- ③点击创建演示。
选择演示文件的存放路径,不需要与演示文件同名的文件夹。
修改 COM 端口
- 此处显示相应的 COM 端口,点击即可修改。
- 请根据您的设备选择 COM 端口。(您可以在设备管理器中查看。)
- 如果下载失败,请按住重置按钮 1 秒以上或进入下载模式,等待电脑再次识别设备后再重新下载。


修改驱动程序对象
- 驱动程序对象显示在此处,您可以通过单击它来修改它。
- 选择要使用的项目或演示。

- 选择我们需要驱动的对象,也就是我们的主芯片 ESP32S3。
- 选择 openocd 的路径,这不会影响我们这里的情况,所以我们随便选择一个就好。
状态栏的其余部分
- ①SDK 配置编辑器,支持修改 ESP-IDF 的许多功能和配置。
- ②完成所有清理工作,并清除所有已编译的文件。
- ③编译。
- ④当前下载模式,默认为 UART。
- ⑤请编译完成后再烧录当前固件。
- ⑥打开串口监视器,用于查看串口信息。
- ⑦编译、烧录和打开串口监视器一体化按钮(最常用于调试)。

编译、编程、串口监控
- 点击我们之前描述的多合一按钮,即可编译、烧录并打开串口监视器。
- 在此过程中,ESP-IDF可能会占用大量CPU资源,因此可能会导致系统卡顿。
- 如果是第一次为新项目烧录程序,则需要选择下载方式,并选择UART。
- 稍后也可以在下载方式部分更改此设置(点击即可显示选项)
- 由于它内置了自动下载电路,因此无需手动操作即可自动下载。
- 下载成功后,自动进入串口监视器,可以看到芯片输出相应的信息,并在 10 秒后提示重启。
擦除设备闪存

- 选择UART端口号,然后单击开始(不要选择任何 bin文件)

Arduino
- 下载并安装 Arduino IDE.
- 按照下图所示在 Arduino IDE 中安装 ESP32,您可以参考以下内容: this link.
- 文件 -> 首选项 -> 其他看板管理器网址 -> 添加以下链接:
https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json
- 进入开发板管理器,搜索“esp32”,在“esp32 by Espressif Systems”下选择版本 3.0.0-alpha3,安装后重新启动。

- 打开 Arduino IDE,注意菜单栏中的“工具”会选择相应的 Flash (8MB) 并启用 PSRAM (8MB OPI)。
使用 Arduino 演示
- 1. 选择演示,这里我们选择演示来获取芯片 ID。

- 2. 选择开发板为 ESP32S3 开发模块。

- 3. 选择 ESP32-S3 USB 的 COM5 端口。

- 4. 开机启用 USB CDC:

- 5. 点击下载按钮,程序将自动编译下载。如果下载失败,请按住开机按钮重启,然后松开按钮,再重新下载。
- 6. 结束。
- 7. 打开串口监视器。
- 8. 查看环路输出的芯片 ID。

配置闪存和PSRAM
您需要打开 Arduino IDE 进行 LCD 显示控制,并注意菜单栏中的“工具”选择相应的 Flash (8MB) 并启用 PSRAM (8MB OPI),如下图所示:

库安装
- 安装 lvgl 库后需要配置文件。建议将资源文件中的 ESP32_Display_Panel、ESP32_IO_Expander、lvgl 文件和 lv_conf.h 文件直接复制到“C:\Users\xxxx\Documents\Arduino\libraries”目录下。请注意,“xxxx”代表您的计算机用户名。

Arduino 示例演示
注意:在使用 Arduino 演示程序之前,请检查 Arduino IDE 环境和下载设置是否配置正确,详情请查看 Arduino 环境设置。
2.8英寸电容式触摸液晶显示屏
2.8inch_Capacitive_Touch_LCD example is for testing 2.8inch Capacitive Touch LCD, and this interface can be connected to 18PIN FPC slot and 13PIN wire. Please ensure the library installation and the Flash and PSRAM configuration are correct.
硬件连接
| LCD PIN | ESP32-S3-LCD驱动板 |
| VCC | 3V3 |
| GND | GND |
| MISO | 42 (LCD_MISO) |
| MOSI | 2 (LCD_MOSI) |
| SCLK | 1 (LCD_SCLK) |
| LCD_CS | 39 (LCD_CS) |
| LCD_DC | 41 (LCD_DC) |
| LCD_RST | 40 (LCD_RST) |
| LCD_BL | 6 (LCD_BL) |
| TP_SDA | 15 (TP_SDA) |
| TP_SCL | 7 (TP_SCL) |
| TP_INT | 17 (TP_INT) |
| TP_RST | 16 (TP_RST) |
注意:连接时,请将18针FPC电缆连接器的“1”和“18”位置与ESP32-S3-LCD驱动板上18针接口的“1”和“18”位置对齐。请勿反接,否则可能会损坏屏幕。
示例用法
- 正确配置 Arduino 环境后,安装我们提供的库文件并打开示例:
- 选择开发板“ESP32S3 开发模块”,并选择正确的 COM 端口。
- 点击编译并上传。
- 您还可以修改注释来更改显示的演示内容。

LVGL_Porting_2.1英寸
LVGL_Porting_2.1inch is for testing the displaying and touch control of 2.1inch RGB Touch LCD, and you can also modify the comment to replace the demo.
硬件连接
- 注意:连接时,请将2.1英寸液晶屏上的“1”和“40”位置与ESP32-S3-LCD驱动板40PIN接口上的“1”和“40”位置对齐。切勿接反,否则可能会损坏屏幕。
使用步骤
- 正确配置 Arduino 环境后,打开示例:
- 选择开发板“ESP32S3 开发模块”,并选择正确的 COM 端口。
- 点击编译并上传。
- 观察液晶显示屏效果。
- 您还可以修改注释来更改显示的演示内容。

LVGL_Porting_2.8英寸
LVGL_Porting_2.8inch is for testing the display and touch control of 2.8inch RGB Touch LCD, and you can also modify the comment to replace the demo.
硬件连接
- 注意:连接时,请将2.8英寸液晶屏上的“1”和“40”位置与ESP32-S3-LCD驱动板40PIN接口上的“1”和“40”位置对齐。切勿接反,否则可能会损坏屏幕。
使用步骤
- 正确配置 Arduino 环境后,打开示例:
- 选择开发板“ESP32S3 开发模块”,并选择正确的 COM 端口。
- 点击编译并上传。
- 观察液晶显示屏效果。
- 您还可以修改注释来更改显示的演示内容。
LVGL_Porting_4英寸
LVGL_Porting_4inch example is for testing the display effect and touch control of 4inch RGB Touch LCD, and you can also modify the comment to replace the demo.
硬件连接
- 注意:连接时,请将4英寸液晶屏上的“1”和“40”位置与ESP32-S3-LCD驱动板40PIN接口上的“1”和“40”位置对齐。请勿反接,否则可能会损坏屏幕。
使用步骤
- 正确配置 Arduino 环境后,打开示例:
- 选择开发板“ESP32S3 开发模块”,并选择正确的 COM 端口。
- 点击编译并上传。
- 观察液晶显示屏效果。
- 您还可以修改注释来更改显示的演示内容。

ESP-IDF 示例演示
注意:在使用 ESP-IDF 演示程序之前,请检查 ESP-IDF 环境和下载设置是否配置正确,详情请查看 ESP-IDF 环境设置。
2.1英寸RGB液晶显示屏
2.1inch_RGB_LCD is for testing the usage of 2.1inch RGB LCD, and it also drives the display and touch control of 2.1inch RGB LCD.
硬件连接
- 注意:连接时,请将2.1英寸液晶屏上的“1”和“40”位置与ESP32-S3-LCD驱动板40PIN接口上的“1”和“40”位置对齐。切勿接反,否则可能会损坏屏幕。
使用步骤
- 正确配置好 VS Code 环境后,打开示例:
- 点击编译并下载。
- 观察液晶显示屏效果。
- 您还可以通过 menuconfig 修改显示演示:
1. 点击 menuconfig:

2. 搜索 lvgl:

3. 修改 lvgl 演示:

4. 保存,然后重新编译并下载。
2.8英寸RGB液晶显示屏
2.1inch_RGB_LCD demo is for testing 2.1inch RGB LCD, and it also drives the displaying and touch control of the 2.1inch RGB LCD.
硬件连接
- 注意:连接时,请将2.8英寸液晶屏上的“1”和“40”位置与ESP32-S3-LCD驱动板40PIN接口上的“1”和“40”位置对齐。切勿接反,否则可能会损坏屏幕。
使用步骤
- 正确配置好 VS Code 环境后,打开示例:
- 点击编译并下载。
- 点击 menuconfig,搜索 lvgl,然后修改 lvgl demo。保存修改,然后重新编译下载(更多详情,请参考 2.1 英寸 RGB LCD)。
4英寸RGB液晶显示屏
4inch_RGB_LCD demo is for testing 4inch RGB LCD and also drives the displaying and touch control of the 4inch RGB LCD.
硬件连接
- 注意:连接时,请将4英寸液晶屏上的“1”和“40”位置与ESP32-S3-LCD驱动板40PIN接口上的“1”和“40”位置对齐。请勿反接,否则可能会损坏屏幕。
使用步骤
- 正确配置好 VS Code 环境后,打开示例:
- 点击编译并下载。
- 点击 menuconfig,搜索 lvgl,然后修改 lvgl demo。保存修改,然后重新编译下载(更多详情,请参考 2.1 英寸 RGB LCD)。
2.1inch_RGB_LCD_pic
2.1inch_RGB_LCD_pic demo is for 2.1inch RGB LCD to display pictures.
硬件连接
- 注意:连接时,请将2.1英寸液晶屏上的“1”和“40”位置与ESP32-S3-LCD驱动板40PIN接口上的“1”和“40”位置对齐。切勿接反,否则可能会损坏屏幕。
使用步骤
- 正确配置好 VS Code 环境后,打开示例:
- 点击编译并下载。
- 修改“test1.c”文件以更改要显示的图片。

由于屏幕分辨率为 480×480,因此您使用的图片分辨率应与此相同,您还可以通过 LVGL 在线图像转换器将图片转换为“c”文件。
将原文件替换为新生成的图像文件后,打开新生成的图像文件进行编辑。

const lv_img_dsc_t test1 = {
.header.cf = LV_IMG_CF_TRUE_COLOR,
.header.always_zero = 0,
.header.reserved = 0,
.header.w = 480,
.header.h = 480,
.data_size = 57600 * LV_COLOR_SIZE / 8,
.data = test1_map,
};2.8英寸RGB液晶_pic
2.8inch_RGB_LCD_pic is for testing 2.8inch RGB LCD to display pictures.
硬件连接
- 注意:连接时,请将2.8英寸液晶屏上的“1”和“40”位置与ESP32-S3-LCD驱动板40PIN接口上的“1”和“40”位置对齐。切勿接反,否则可能会损坏屏幕。
Usage Steps
- 正确配置好 VS Code 环境后,打开示例:
- 点击编译并下载。
- 修改“test2.c”文件以更改要显示的图片(更多详情,请参阅#2.1inch_RGB_LCD_pic)。
请按如下方式修改演示程序:
const lv_img_dsc_t test2 = {
.header.cf = LV_IMG_CF_TRUE_COLOR,
.header.always_zero = 0,
.header.reserved = 0,
.header.w = 480,
.header.h = 480,
.data_size = 57600 * LV_COLOR_SIZE / 8,
.data = test2_map,
};4inch_RGB_LCD_pic
4inch_RGB_LCD_pic is for testing 4inch RGB LCD to display pictures.
硬件连接
- 注意:连接时,请将4英寸液晶屏上的“1”和“40”位置与ESP32-S3-LCD驱动板40PIN接口上的“1”和“40”位置对齐。请勿反接,否则可能会损坏屏幕。
使用步骤
- 正确配置好 VS Code 环境后,打开示例:
- 点击编译并下载。
- 修改“test3.c”文件以更改要显示的图片。(更多详情,请参考#2.1inch_RGB_LCD_pic)
请按如下方式修改演示程序:
const lv_img_dsc_t test3 = {
.header.cf = LV_IMG_CF_TRUE_COLOR,
.header.always_zero = 0,
.header.reserved = 0,
.header.w = 480,
.header.h = 480,
.data_size = 57600 * LV_COLOR_SIZE / 8,
.data = test3_map,
};资源
原理图
演示
软件
Arduino
CH343
串口
数据表
ESP32-S3
ESP32官方文档
FAQ
问:模块上电后,识别到的串口设备和USB端口不断重启。我该怎么办?
Answer:
检查USB端口的供电电压是否低于5V。通常情况下,USB端口的供电电压高于4.9V,模块的两个USB端口均可正常使用。如果低于4.9V,则可能供电不足,导致USB端口断开连接。在这种情况下,请更换一个供电电压充足的USB端口。
问:将演示程序下载到模块后,有时无法连接到串口,或者重新下载后无法烧录演示程序。我该怎么办?
Answer:
烧录程序时,您可以按住 Boot 按钮,插入 USB 设备,然后松开按钮进入下载模式,之后再开始烧录程序。烧录完成后,拔下 USB 设备再重新插入,即可进入 SPI_FAST_FLASH_BOOT 模式运行程序。
问:为什么 Arduino LVGL 演示程序编译和烧录需要很长时间?
Answer:
使用 Arduino 的 LVGL 示例程序时,编译和上传时间会比较长,因为 Arduino IDE 会在上传过程中编译程序。由于 LVGL 库包含许多文件需要编译,因此需要较长时间。请耐心等待。
问:如果 ESP-IDF 演示程序编译出错,我该怎么办?
Answer:
请确保 IDF 演示路径不包含任何中文字符,因为这可能会导致检索错误。
问:如果 Arduino de,o 烧录成功但屏幕没有任何显示,我该怎么办?
Answer:
如果烧录代码后屏幕没有反应,请检查 Arduino IDE -> 工具中是否配置了正确的设置:选择相应的 Flash (8MB) 并启用 PSRAM (8MB OPI)。
技术支持
周一-周五(9:30-6:30)周六(9:30-5:30)
手机:13434470212
邮箱:services04@spotpear.cn
QQ:202004841
