ESP32-S3-LCD-Driver-Board

来自Waveshare Wiki
跳转至: 导航搜索
{{{name2}}}
{{{name3}}}
功能简介
特性 无特性,不解释
主控 ESP32-S3
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 USB Type-C

说明

产品简介

ESP32-S3-LCD-Driver-Board 是一款体积小巧,搭载40Pin 3SPI+RGB565 和 18Pin SPI屏幕接口的微控制器开发板。

在硬件上,采用 ESP32-S3-WROOM-1-N8R8 模组,其搭载有 Xtensa 32 位 LX7 双核处理器,主频高达 240MHz,内置 512KB SRAM(TCM)和 8MB PSRAM;板载高效充放电管理芯片 ETA6096 和 MX1.25 电池接口,排针引脚接口兼容 18Pin SPI屏幕,可兼容扩展多种外围设备,使用方便。

在软件上,可选择 ESP-IDF、Arduino等开发环境来进行开发,从而可以轻松快速地入门,并将其应用于产品中。

产品特性

  • 采用 ESP32-S3-WROOM-1-N8R8模组,搭载 Xtensa 32 位 LX7 双核处理器,主频高达 240MHz
  • 集成 512KB SRAM、384KB ROM、8MB PSRAM、8MB Flash 存储器
  • 集成 2.4GHz Wi-Fi 和低功耗蓝牙 (Bluetooth LE) 双模无线通信,具有优越的射频性能
  • 采用 USB Type-C 接口,无需纠结正反插
  • 搭载40Pin 和 18Pin屏幕接口,兼容性和扩展性强
  • 板载高效充放电管理芯片 ETA6096 和 MX1.25 电池接口
  • 邮票孔设计,可直接焊接集成到用户自主设计的底板上
  • 支持多种低功耗工作状态,可调节通信距离、数据率和功耗之间的平衡,满足各种应用场景的功耗需求

支持型号

注意:裸屏较为脆弱,使用时请注意轻拿轻放,排线处不要经常弯折,否则容易折断。
注意:LCD的排线顺序的“1”、“40”对准ESP32-S3-LCD-Driver-Board 40PIN接口的“1”、“40”位置进行连接,请勿连反,连反可能会导致烧屏。

支持型号 分辨率 屏幕芯片 触摸芯片
2.1寸RGB圆形触控屏 480(H)×480(V) ST7701 CST820
2.8寸RGB圆形触控屏 480(H)×480(V) ST7701 GT911
4寸RGB方形触控屏 480(H)×480(V) ST7701 GT911
2.8寸SPI方形触控屏 240(H)×320(V) ST7789 CST328

资源接口

ESP32-S3-LCD-Driver-Board-details-11.jpg

引脚分布

ESP32-S3-LCD-Driver-Board-details-9.jpg

产品尺寸

ESP32-S3-LCD-Driver-Board-details-size.jpg

开发环境配置

  • 以下开发系统默认为Windows

ESP-IDF

以下开发系统默认为Windows,推荐使用VSCode插件进行开发

使用VSCode插件开发

安装VSCode

  • 打开VSCode官网的下载页面,选择对应系统和系统位数进行下载

ESP32-S3 TO Environment 0.png

  • 运行安装包后,其余均可以默认安装,但这里为了后续的体验建议,建议在此处勾选框中的1、2、3项
    • 第一二项开启后,可以直接通过鼠标右键文件或者目录打开VSCode,可以提高后续的使用体验.
    • 第三项开启后,选择打开方式时,可以直接选择VSCode
ESP32-S3 TO Environment 1.png

安装Espressif IDF插件

  • 注:当前插件最新版本为V1.6.4,为体验一致,用户可以选择与我们一样的版本
  • 打开VSCode,使用快捷键 Shift+Ctrl+X ,进入插件管理器

ESP32-S3 TO Environment 2.png

  • 在搜索栏中,输入 Espressif IDF ,选择对应的插件点击 install即可

ESP32-S3 TO Environment 3.png

ESP32-S3 TO Environment 4.png

  • 使用快捷键 F1 ,输入
esp-idf: configure esp-idf extension

ESP32-S3 TO Environment 5.png

  • 选择express(此教程针对第一次安装的用户,故只讲述初次的通用安装教程)

ESP32-S3 TO Environment 6.png

  • 选择下载服务器,我们推荐国内用户使用Espressif作为你的下载服务器

ESP32-S3 TO Environment 7.png

  • 选择想要现在的ESP-IDF版本,我们选择最新的V5.1.1

ESP32-S3 TO Environment 8.png

  • 下面两个分别为ESP-IDF容器安装地址和ESP-IDF所需的工具安装地址,

ESP32-S3 TO Environment 9.png

  • 注意:如果之前有安装过ESP-IDF,或者失败过的,请务必彻底删除文件或者创建全新的无中文路径
  • 配置完成后,点击 install 进行下载

ESP32-S3 TO Environment 10.png

  • 进入下载页面,其会自动安装对应工具与环境,稍等片刻即可

ESP32-S3 TO Environment 11.png

  • 安装完成后,会进入以下界面,说明安装完成

ESP32-S3 TO Environment 12.png

官方例程使用教程

创建例程
  • 使用快捷键 F1 ,输入
esp-idf:show examples projects

ESP32-S3 TO Program 1.png

  • 选择你当前的IDF版本

ESP32-S3 TO Program 2.png

  • 以Hello world例程为例
    • ①选择对应例程
    • ②其readme会说明该例程适用于什么芯片(下文有介绍例程怎么使用与文件结构,这里略)
    • ③点击创建例程

ESP32-S3 TO Program 3.png
选择放置例程的路径,要求无例程同名文件夹
ESP32-S3 TO Program 4.png

修改COM口
  • 此处显示使用对应的COM口,点击可以修改对应COM口
  • 请根据设备对应COM口进行选择(可通过设备管理器查看)
  • 若出现下载失败的情况请点击复位按键1秒以上或进入下载模式,等待 PC 端重新识别到设备后再次下载

ESP32-S3 TO Program Add 1.png

  • 选择使用的工程或者例程

ESP32-S3 TO Program 6.png

  • 然后我们的COM口就修改好了
修改驱动对象
  • 此处显示的是使用的驱动对象,点击可以修改对应驱动对象
  • 选择使用的工程或者例程

ESP32-S3 TO Program 7.png

  • 点击后需要稍等片刻

ESP32-S3 TO Program 8.png

  • 选择我们需要驱动的对象,也就是我们的主芯片为ESP32S3

ESP32-S3 TO Program 9.png

  • 选择openocd的路径,这里对我们没有影响,所以我们随便选择一个即可

ESP32-S3 TO Program 10.png

其余状态栏简介
  • ①SDK 配置编辑器,ESP-IDF很多功能与配置可以在其内修改
  • ②全部清理,清空所有编译文件,
  • ③编译
  • ④当前下载方式,默认为UART
  • ⑤烧录当前固件,请在编译后进行
  • ⑥打开串口监视器,用于查看串口信息
  • ⑦编译,烧录,打开串口监视器 一体按键(调试时最常用)

ESP32-S3 TO Program 11.png

编译、烧录、串口监视
  • 点击我们之前介绍的 编译,烧录,打开串口监视器按键

ESP32-S3 TO Program 12.png

  • 编译可能需要较长时间才能完成,尤其是在第一次编译时。

ESP32-S3 TO Program 13.png

  • 在此过程中,ESP-IDF可能会占用大量CPU资源,因此可能会导致系统卡顿。
  • 若是新工程首次烧录程序,将需要选择下载方式,选择 UART

ESP32-S3 TO Program 14.png

  • 后续也可在 下载方式 处进行修改(点击即可弹出选项)

ESP32-S3 TO Program 15.png

  • 因为板载自动下载电路,无需手动操作即可自动下载

ESP32-S3 TO Program 16.png

  • 下载成功后,自动进入串口监视器,可以看到芯片输出对应的信息并提示10S后重启

ESP32-S3 TO Program 17.png

擦除设备Flash

  • 解压软件资源包(Flash 调试软件
  • 打开 flash_download_tool_3.9.5.exe软件,选择ESP32-S3及USB

ESP32-S3 TO Erase Flash 1.png

  • 选择UART的端口号,点击 START (不选择任何 bin 文件)

ESP32-S3 TO Erase Flash 2.png

  • 等待烧录完成,点击擦除

ESP32-S3 TO Erase Flash 3.png

  • 等待擦除完成

ESP32-S3 TO Erase Flash 4.png

Arduino

搭建环境

ESP32-Arduino-3.0.2 1.png

  • 安装完成后打开 Arduino IDE

ESP32-Arduino-3.0.2 2.png

  • 进入首选项

ESP32-Arduino-3.0.2 3.png

  • 添加 JSON 链接
https://espressif.github.io/arduino-esp32/package_esp32_index.json

ESP32-Arduino-3.0.2 4.png
ESP32-Arduino-3.0.2 5.png

  • 进入开发板管理器,搜索 esp32 ,在下方的 esp32 by Espressif Systems 中选择 3.0.2 版本并点击安装(若不能正常安装可使用手机热点尝试)

ESP32-Arduino-3.0.2 7.png
ESP32-Arduino-3.0.2 8.png

  • 安装完成重启 Arduino IDE 即可使用

ESP32-Arduino-3.0.2 9.png

环境搭建失败处理步骤

  • 安装 3.0.2 版本失败

ESP32-Arduino-3.0.2 Fail 1.png

链接: https://pan.baidu.com/s/1ppl7ZU2NSTY_TfFzs1pDWA
提取码: 0755

ESP32-Arduino-3.0.2 Fail 2.png

  • 从资源管理器按路径 “c:\Users\Waveshare\AppData\Local\Arduino15\staging\packages” 进入(其中 Waveshare 为计算机用户名,需要开启显示隐藏文件)

ESP32-Arduino-3.0.2 Fail 3.png

  • 将上方下载的文件解压至 packages 文件夹下

ESP32-Arduino-3.0.2 Fail 4.png

  • 重新执行安装操作

ESP32-Arduino-3.0.2 7.png

  • 安装完成重启 Arduino IDE 即可使用

ESP32-Arduino-3.0.2 9.png

使用Arduino例程

  1. 选择例程,这里我们选择获取芯片ID的例程
    ESP32-S3-Pico-Ar-09.jpg
  2. 选择我们的板子为 ESP32S3 Dev Moudule
    ESP32-S3-Pico-Ar-12.jpg
  3. 选择我们的端口号,这里我们选择ESP32-S3 USB口的COM5
    ESP32-S3-Pico-Ar-13.jpg
  4. 打开USB CDC On Boot
    ESP32-S3-LCD-Driver-Board 08.png
  5. 点击下载按键,此时会自动编译并下载,下载失败请按住boot键重新上电再松开按键,然后再进行下载
    ESP32-S3-Pico-Ar-14.jpg
  6. 下载完成
    ESP32-S3-Pico-Ar-15.jpg
  7. 打开串口监视器
    ESP32-S3-Pico-Ar-16.jpg
  8. 看到循环输出的芯片ID
    ESP32-S3-LCD-Driver-Board 09.png

Flash与PSRAM配置

使用屏幕显示时需打开该设置,打开 Arduino IDE,注意菜单栏中 Tools 选择对应 Flash(8MB) 和使能 PSRAM(8MB OPI),如下图所示 ESP32-S3-Touch-LCD-7-05.jpg

库安装

  • 安装提供的资源包中的库文件,将路径中的ESP32_Display_Panel、ESP32_IO_Expander、TFT_eSPI、lvgl 文件夹与lv_conf.h文件复制到 C:\Users\xxxx\Documents\Arduino\libraries 目录下,xxxx 代表您电脑上用户名,注意甄别

ESP32-S3-LCD-Driver-Board Arduino Add 1.png

  • 复制完如下:

ESP32-S3-LCD-Driver-Board 12.png


Arduino示例程序

注意:在使用Arduino例程前,请先检查Arduino IDE环境与下载设置是否正确配置,具体操作可查看Arduino环境配置

2.8inch_Capacitive_Touch_LCD

2.8inch_Capacitive_Touch_LCD 示例,用于测试2.8inch Capacitive Touch LCD的使用,此接口可以使用18PIN FPC接口 和 13PIN 杜邦线使用,使用前确保库安装、Flash和PSRAM配置正确

硬件连接

  • 13PIN 杜邦线接口硬件连接
LCD引脚 ESP32-S3-LCD-Driver-Board
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)
  • 18PIN FPC排线连接

注意:将18PIN FPC排线接口处顺序的“1”、“18”对准ESP32-S3-LCD-Driver-Board 18PIN接口的“1”、“18”位置进行连接,请勿连反,连反可能会导致烧屏。

示例使用

  • 按照正确的环境配置好Arduino IDE,安装我们提供的库文件后( 本示例程序同级目录下的库文件需要拷贝到库路径下! ),打开该示例
  • 选择开发板ESP32S3 Dev Module,选择正确的COM口
  • 点击编译并上传
  • 可通过修改例程中的注释进行修改显示的demo

ESP32-S3-LCD-Driver-Board 01.png
类似下图,可修改为:
ESP32-S3-LCD-Driver-Board 07.png

LVGL_Porting_2.1inch

LVGL_Porting_2.1inch 示例,用于测试2.1inch RGB Touch LCD的显示与触控,可进行修改注释内容进行更换Demo

硬件连接

  • 注意:将2.1inch LCD的排线顺序的“1”、“40”对准ESP32-S3-LCD-Driver-Board 40PIN接口的“1”、“40”位置进行连接,请勿连反,连反可能会导致烧屏。

使用过程

  • 按照正确的环境配置好Arduino后,打开该示例
  • 选择开发板ESP32S3 Dev Module,选择正确的COM口
  • 点击编译下载
  • 观察LCD显示屏现象
  • 还可以通过修改注释内容进行修改显示的demo

ESP32-S3-LCD-Driver-Board 13.png
类似下图,可修改为:
ESP32-S3-LCD-Driver-Board 14.png

LVGL_Porting_2.8inch

LVGL_Porting_2.8inch 示例,用于测试2.8inch RGB Touch LCD的显示与触控,可进行修改注释内容进行更换Demo

硬件连接

  • 注意:将2.8inch LCD的排线顺序的“1”、“40”对准ESP32-S3-LCD-Driver-Board 40PIN接口的“1”、“40”位置进行连接,请勿连反,连反可能会导致烧屏。

使用过程

修改环境

  • 由于这款屏幕需要较高频率解决屏闪问题,但是较高频率又会导致屏幕卡顿,所以就需将 "Data cache line size" 设置为 64 。具体参考链接实现, 若要使用其他屏幕,需要替换回下方备份的原文件
  • 进入路径 C:\Users\Waveshare\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-bd2b9390ef (其中 Waveshare 为计算机用户名)

ESP32-S3-Touch-LCD-2.1 Lib 1.png

  • 存档当前文件夹下的 esp32s3 文件夹
  • 请注意先存档原有 esp32s3 文件夹用于后续还原!!!!!(可以直接压缩该文件,同时拷贝一份到其他位置,当前为将原文件压缩为 esp32s3 - Original file.zip 文件)

ESP32-S3-Touch-LCD-2.1 Lib 2.png

  • 删除原有文件( 请注意先存档原有 esp32s3 文件夹用于后续还原!!!!!

ESP32-S3-Touch-LCD-2.1 Lib 3.png

  • 拷贝提供的esp32s3 3.0.2 文件到当前目录( 请注意提供的文件仅适用于3.0.2版本固件下
链接: https://pan.baidu.com/s/1PtdO8HQQV3oFYN-h-Qua0g?pwd=0755
提取码: 0755
  • 根据自己的版本选择上面一个文件进行替换

ESP32-S3-Touch-LCD-2.1 Lib 4.png
ESP32-S3-Touch-LCD-2.1 Lib 5.png

  • 完成ESP32S3配置修改

ESP32-S3-Touch-LCD-2.1 Lib 6.png

示例实现

  • 按照正确的环境配置好Arduino后,打开该示例
  • 选择开发板ESP32S3 Dev Module,选择正确的COM口
  • 点击编译下载
  • 观察LCD显示屏现象
  • 还可以通过修改注释内容进行修改显示的demo

ESP32-S3-LCD-Driver-Board 13.png
类似下图,可修改为:
ESP32-S3-LCD-Driver-Board 14.png

LVGL_Porting_4inch

LVGL_Porting_4inch 示例,用于测试4inch RGB Touch LCD的显示与触控,可进行修改注释内容进行更换Demo

硬件连接

  • 注意:将4inch LCD的排线顺序的“1”、“40”对准ESP32-S3-LCD-Driver-Board 40PIN接口的“1”、“40”位置进行连接,请勿连反,连反可能会导致烧屏。

使用过程

  • 按照正确的环境配置好Arduino后,打开该示例
  • 选择开发板ESP32S3 Dev Module,选择正确的COM口
  • 点击编译下载
  • 观察LCD显示屏现象
  • 还可以通过修改注释内容进行修改显示的demo

ESP32-S3-LCD-Driver-Board 13.png
类似下图,可修改为:
ESP32-S3-LCD-Driver-Board 14.png

ESP-IDF示例程序

注意:在使用ESP-IDF例程前,请先检查ESP-IDF环境与下载设置是否正确配置,具体操作可查看ESP-IDF环境配置

2.1inch_RGB_LCD

2.1inch_RGB_LCD 示例,用于测试2.1inch RGB LCD的使用,驱动2.1inch RGB LCD的显示与触控

硬件连接

  • 注意:将2.1inch LCD的排线顺序的“1”、“40”对准ESP32-S3-LCD-Driver-Board 40PIN接口的“1”、“40”位置进行连接,请勿连反,连反可能会导致烧屏。

使用过程

  • 按照正确的环境配置好vscode后,打开该示例
  • 点击编译下载
  • 观察LCD显示屏现象
  • 还可以通过menuconfig进行修改显示的demo

1、点击menuconfig
ESP32-S3-LCD-Driver-Board 02.png
2、搜索lvgl
ESP32-S3-LCD-Driver-Board 03.png
3、修改lvgl demo
ESP32-S3-LCD-Driver-Board 04.png
4、点击保存后,再重新编译下载
ESP32-S3-LCD-Driver-Board 05.png
ESP32-S3-LCD-Driver-Board 06.png

2.8inch_RGB_LCD

2.8inch_RGB_LCD 示例,用于测试2.8inch RGB LCD的使用,驱动2.8inch RGB LCD的显示与触控

硬件连接

  • 注意:将2.8inch LCD的排线顺序的“1”、“40”对准ESP32-S3-LCD-Driver-Board 40PIN接口的“1”、“40”位置进行连接,请勿连反,连反可能会导致烧屏。

示例使用

  • 按照正确的环境配置好vscode后,打开该示例
  • 点击编译下载
  • 点击menuconfig,搜索lvgl,可以进行修改lvgl demo,点击保存后,再重新编译下载(具体操作可参阅2.1inch RGB LCD

4inch_RGB_LCD

4inch_RGB_LCD 示例,用于测试4inch RGB LCD的使用,驱动4inch RGB LCD的显示与触控

硬件连接

  • 注意:将4inch LCD的排线顺序的“1”、“40”对准ESP32-S3-LCD-Driver-Board 40PIN接口的“1”、“40”位置进行连接,请勿连反,连反可能会导致烧屏。

使用过程

  • 按照正确的环境配置好vscode后,打开该示例
  • 点击编译下载
  • 点击menuconfig,搜索lvgl,可以进行修改lvgl demo,点击保存后,再重新编译下载(具体操作可参阅2.1inch RGB LCD

2.1inch_RGB_LCD_pic

2.1inch_RGB_LCD_pic 示例,用于2.1inch RGB LCD显示图片

硬件连接

  • 注意:将2.1inch LCD的排线顺序的“1”、“40”对准ESP32-S3-LCD-Driver-Board 40PIN接口的“1”、“40”位置进行连接,请勿连反,连反可能会导致烧屏。

使用过程

  • 按照正确的环境配置好vscode后,打开该示例
  • 点击编译下载
  • 可通过修改示例中的test1.c图片文件进行修改显示的图片

ESP32-S3-LCD-Driver-Board 15.png
该屏幕分辨率为480×480,最好使用该分辨率的图片,可通过LVGL Online Image Converter将图片转换为c文件
ESP32-S3-LCD-Driver-Board 16.png
使用新生成的图片文件替换原有的文件后,打开新的图片文件进行修改
ESP32-S3-LCD-Driver-Board 17.png

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.8inch_RGB_LCD_pic

2.8inch_RGB_LCD_pic 示例,用于测试2.8inch RGB LCD显示图片

硬件连接

  • 注意:将2.8inch LCD的排线顺序的“1”、“40”对准ESP32-S3-LCD-Driver-Board 40PIN接口的“1”、“40”位置进行连接,请勿连反,连反可能会导致烧屏。

使用过程

  • 按照正确的环境配置好vscode后,打开该示例
  • 点击编译下载
  • 可通过修改示例中的test2.c图片文件进行修改显示的图片(具体步骤可参阅2.1inch RGB LCD的修改)

修改代码如下:

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 示例,用于测试4inch RGB LCD显示图片

硬件连接

  • 注意:将4inch LCD的排线顺序的“1”、“40”对准ESP32-S3-LCD-Driver-Board 40PIN接口的“1”、“40”位置进行连接,请勿连反,连反可能会导致烧屏。

使用过程

  • 按照正确的环境配置好vscode后,打开该示例
  • 点击编译下载
  • 可通过修改示例中的test3.c图片文件进行修改显示的图片(具体步骤可参阅2.1inch RGB LCD的修改)

修改代码如下:

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,
};

资料

原理图

程序

软件

CH343

串口

数据手册

ESP32-S3

屏幕

2.1寸RGB圆形触控屏
2.8inch 圆形 屏幕资料
4inch 方形 屏幕资料

官方文档

ESP32官方文档


FAQ

检查USB口的供电电压是否小于5V,一般情况下USB口的供电电压在4.9V以上,模块的两路USB口均可正常使用,若低于4.9V,则有可能出现供电不足,usb口掉线的情况,此种情况须更换足电压的USB口使用。


烧录时可长按Boot按键插入USB后再松开按键,进入Download mode才开始烧录, 烧录完重新插拔USB则可以进入SPI_FAST_FLASH_BOOT mode,运行程序。


在使用Arduino的LVGL的程序时,进行编译上传的时间很长是因为Arduino IDE上传程序时会进行编译,lvgl的库较多编译,时间会比较长,需要耐心等待


请注意IDF程序的路径不要有中文,不然会检索出错


若烧录代码后,屏幕无反应,可查看是否有在Arduino IDE -> Tools正确配置:选择对应 Flash(8MB) 和使能 PSRAM(8MB OPI))


技术支持


联系人:欧工
EMAIL:2355861365@qq.com
QQ:2355861365
微信:扫下方二维码添加
欧工企业微信联系二维码.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证