ESP32-S3-LCD-1.47 使用教程

产品概述

产品参数

参数名称参数
接口USB Type-A
主控芯片ESP32-S3
屏幕类型TFT
屏幕控制芯片Display :ST7789
板载设备Micro SD


板载功能使用

内部硬件连接


LCD

LCD引脚ESP32S3
MOSIGPIO45
SCLKGPIO40
LCD_CSGPIO42
LCD_DCGPIO41
LCD_RSTGPIO39
LCD_BLGPIO48

RGB 灯珠

RGB 灯珠ESP32S3
RGB_ControlGPIO38

SD Card

SD CardESP32S3
SD_D0 / MISOGPIO16
SD_CMD / MOSIGPIO15
SD_SCK / SCLKGPIO14
SD_D3 / CSGPIO21
SD_D1GPIO18
SD_D2GPIO17


环境设置

ESP32 系列开发板的软件框架成熟,可使用 C/C++(Arduino,ESP-IDF)进行快速开发产品原型,以下简要介绍:

  • 乐鑫官方的 C/C++ 库方便快速安装,中国大陆用户遇到下载问题请查看FAQ解决
    • ESP32系列 的 Arduino 开发手册
    • ESP32系列 的 ESP-IDF 开发手册
  • 环境设置是在 Windows 10 系统下进行,用户可以选择使用 Arduino 或 Visual Studio Code(ESP-IDF) 作为 IDE 进行开发,Mac/Linux 操作系统用户请参考官方说明

ESP-IDF

  • 推荐使用VSC插件进行开发

安装VSCode

  1. 打开VSCode官网的下载页面,选择对应系统和系统位数进行下载
  2. 运行安装包后,其余均可以默认安装,但这里为了后续的体验建议,建议在此处勾选框中的1、2、3项
    • 第一二项开启后,可以直接通过鼠标右键文件或者目录打开VSCode,可以提高后续的使用体验.
    • 第三项开启后,选择打开方式时,可以直接选择VSCode

安装Python环境

  1. 首先,前往Python官网下载Python 3.11。你也可以在Microsoft Store商店下载,这样无需手动配置环境变量。
  2. 勾选"Add python.exe to PATH",将Python加入系统的环境变量。
  3. 选择自己想要的安装路径,点击"Install"。

安装Espressif IDF插件

  • 注:当前插件最新版本为V1.7.1,为体验一致,用户可以选择与我们一样的版本
  1. 打开VSCode,使用快捷键Shift+Ctrl+X,进入插件管理器
  2. 在搜索栏中,输入Espressif IDF,选择对应的插件点击 install即可
  3. 使用快捷键F1,输入
    esp-idf: configure esp-idf extension

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

  5. 打开后显示该界面
  6. 选择下载服务器,我们推荐国内用户使用Espressif作为你的下载服务器
  7. 选择想要现在的ESP-IDF版本,我们选择最新的V5.3(注意ESP-IDF从V4.4版本后才开始支持ESP32-S3)
  8. 下面两个分别为ESP-IDF容器安装地址和ESP-IDF所需的工具安装地址,
    • 注意:如果之前有安装过ESP-IDF,或者失败过的,请务必彻底删除文件或者创建全新的无中文路径
  9. 配置完成后,点击 install 进行下载


  10. 进入下载页面,其会自动安装对应工具与环境,稍等片刻即可,安装完成后,会进入以下界面,说明安装完成


使用官方例程

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


  2. 选择你当前的IDF版本

  3. 以Hello world例程为例

  4. ①选择对应例程
  5. ②其readme会说明该例程适用于什么芯片(下文有介绍例程怎么使用与文件结构,这里略)
  6. ③点击创建例程
  7. 选择放置例程的路径,要求无例程同名文件夹


修改COM口
  1. 左下角第一项显示使用对应的COM口,点击可以修改对应COM口
  2. 我们的CH343的COM为COM5,所以我们选择COM5,请根据自己CH343对应COM口进行选择
  3. 选择使用的工程或者例程
  4. 然后我们的COM口就修改好了


修改驱动对象
  1. 左下角第二项显示的是使用的驱动对象,点击可以修改对应驱动对象
  2. 选择使用的工程或者例程
  3. 点击后需要稍等片刻
  4. 选择我们需要驱动的对象,也就是我们的主芯片为ESP32S3

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


其余状态栏简介

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


编译、烧录、串口监视
  1. 点击我们之前介绍的 编译,烧录,打开串口监视器按键
  2. 编译可能需要较长时间才能完成,尤其是在第一次编译时。
  3. 因为我们使用的是CH343为USB转串口芯片,并且板载自动下载电路,无需手动操作即可自动下载
  4. 下载成功后,自动进入串口监视器,可以看到芯片输出对应的信息并提示10S后重启


示例程序

  • 打开 VScode 软件,选择文件夹打开示例

ESP32-S3-LCD-1.47 VScode example 1.png

  • 选择提供的 ESP-IDF 下的示例,点击选择文件

ESP32-S3-LCD-1.47 VScode example 2.png

  • 连接设备后,选择好COM口和型号,点击下方编译并烧录即可实现程序控制

ESP32-S3-LCD-1.47 VScode example 3.png

Arduino 下使用

  • 请注意,Arduino 上的 ESP32 3.0.2 基于 ESP-IDF v5.1开发,与此前基于 ESP-IDF V4.X 有较大差异,在进行以下操作后,原先程序可以正常运行的程序可能需要进行一些调整才可使用
  • 请注意,电脑用户名必须是英文,用户名为中文会导致编译出错

搭建环境

  • 安装 Arduino IDE
  • 安装完成后打开 Arduino IDE
  • File -》 Preferences进入首选项
  • 添加 JSON 链接
https://espressif.github.io/arduino-esp32/package_esp32_index.json


  • 将项目文件夹修改为 C:\Users\Waveshare\AppData\Local\Arduino15\packages(其中 Waveshare 为计算机用户名)
  • 进入开发板管理器,搜索 esp32 ,在下方的 esp32 by Espressif Systems 中选择 3.0.2 版本并点击安装(若不能正常安装可使用手机热点尝试)


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


安装库文件

  • 请注意此前是否已经安装过该库,若已安装请存档原有的库,防止运行其他程序时出现错误失败
  • 打开Arduino IDE,打开库搜索
  • 搜索lvgl库并安装(此操作为了在 Arduino 环境中搭建库文件夹,若之前已经安装过其他库,即存在以下指的文件夹则不用执行这一步)



  • 进入库文件存放路径 c:\Users\Waveshare\AppData\Local\Arduino15\packages\libraries(其中 Waveshare 为计算机用户名),此操作为进入项目文件夹目录下的libraries,不确定在哪个文件夹请进入首选项查看


  • Arduino查看库路径
  • 删除刚才下载的 lvgl 库(若前面没有安装则忽略这一步)

  • 安装提供的两个库,在示例路径中新建一个Lib 文件夹


  • 在本页面的下方将一个库文件lvgl库)下载并解压,存放到刚才新建的Lib路径
  • 复制提供的库到 c:\Users\Waveshare\AppData\Local\Arduino15\packages\libraries(其中 Waveshare 为计算机用户名) 下,不确定在哪个文件夹请进入首选项查看


  • 继续安装 PNGdec 库


  • 完成库安装

示例程序

  • 打开 LVGL_Arduino 示例,根据以下操作实现显示,示例LCD显示功能
  • 选择型号 ESP32S3 Dev Module 与端口


  • 设置板子参数


  • 编译并烧录示例
  • 烧录成功可观察到LVGL页面
  • 示例 LCD_Imege 可实现以一定间隔时间依次显示SD卡下根目录的PNG文件,请注意,提供的PNG文件必须正常,不能直接修改后缀实现
  • 产品使用的ESP32在Arduino IDE上可玩性比较高,可以在已有程序框架下简单进行UI界面的修改即可实现酷炫操作,在一些开源平台上的资源也可以在小幅修改下直接使用。


擦除设备Flash

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


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


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


  • 等待擦除完成

资料

文档

原理图

ESP32-S3-LCD-1.47 原理图

ESP32-S3

LCD

LCD 手册

程序

   lvgl库
   示例程序

FAQ

问题:模块出现一直复位的情况,从设备管理器查看识别状况会一闪一闪的?

这种情况可能是由于 Flash 空白导致 USB 口不稳定,可长按BOOT按键,同时按下RESET,然后松开RESET,再松开BOOT按键,此时模块可进入下载模式烧录固件(程序)即可解决该情况。


问题:模块下载程序后,重新下载,有时会出现无法连接串口,或者烧录失败的情况?

可长按BOOT按键,同时按下RESET,然后松开RESET,再松开BOOT按键,此时模块可进入下载模式,可解决大部分无法下载的问题。