ESP32-S3-LCD-1.28

产品介绍

产品简介

ESP32-S3-LCD-1.28 是一款微雪 (Waveshare) 设计的低成本,高性能的微控制器开发板。其中板载了 1.28 英寸 LCD 屏、锂电池充电芯片、六轴传感器(三轴加速度计与三轴陀螺仪)等外设,采用的 ESP32-S3R2 是集成了低功耗 Wi-Fi 和 BLE5.0 的系统级芯片(SoC),此外还具有外部 16MB Flash 和 2MB PSRAM。Soc内部的硬件加密加速器、RNG、HMAC 和数字签名 (Digital Signature) 模块,可以满足物联网的安全要求。多种低功耗工作状态满足在物联网 (IoT)、移动设备、可穿戴电子设备、智能家居等应用场景的功耗需求。

产品特性

  • 搭载高性能 Xtensa® 32 位 LX7 双核处理器,主频高达 240 MHz
  • 支持 2.4 GHz Wi-Fi (802.11 b/g/n) 和 Bluetooth® 5 (LE),板载天线
  • 内置 512KB 的 SRAM 和 384KB ROM,叠封 2MB PSRAM 和外接 16MB Flash
  • 采用 Type-C 接口,紧跟时代潮流,无需纠结正反插
  • 板载 1.28 英寸 LCD 屏,圆形 IPS 面板,240×240 分辨率,65K 彩色
  • 板载 QMI8658 六轴惯性测量单元 (3 轴加速度、3 轴陀螺仪),可检测运动姿态
  • 板载 3.7V 锂电池充放电接口和引出大部分 GPIO 排座
  • 支持灵活时钟,模块电源单独设置等精准控制,实现多场景低功耗模式
  • 集成 USB 串口全速控制器,GPIO 可灵活配置各种外设功能

资源简介


1、ESP32-S3R2
   WiFi 蓝牙 SoC,240MHz 运行频率,封装 2MB PSRAM

2、W25Q128JVSIQ
   16MB NOR-Flash

3、QMI8658
   六轴惯性测量单元 (IMU),包含一个 3 轴陀螺仪和一个 3 轴加速度计

4、ME6217C33M5G
   800mA 输出,低压差,高抑制比

5、CH343P
   USB 转 UART 芯片

6、ETA6096
   高效锂电池充电芯片


7、1.27mm 间距排座
   引出大部分 GPIO

8、BOOT 按键
   复位前按下,进入下载模式

9、RESET 按键
   复位按键

10、MX1.25 电池接口
   MX1.25 2P 连接器,可用于接入 3.7V 锂电池,支持充放电

11、USB Type-C 接口
   USB 转串口,用于烧录程序和日志打印

12、2.4GHz 陶瓷天线


接口介绍


  • Type-C 接口 : 开发板使用CH343P芯片进行USB转UART,连接ESP32-S3的UART_TXD(GPIO43)和UART_RXD(GPIO44),用于固件烧录和日志打印。搭配自动下载电路,接上Type-C线缆后可直接下载固件。
  • 1.27mm 间距排座 : 开发板引出大部分 GPIO 用于外部连接,GPIO可配置成I2C、SPI等外设功能,VSYS可直接输入5V为开发板供电。
  • LCD 接口 :开发板板载4线 SPI 通信的 1.28 寸屏幕,SPI速率可提升至80MHz,触摸使用 I2C 通信(开发板使用 GPIO2 控制背光亮度,另外引出两个 MOS 管控制开关触点在电池座子周边,分别连接GPIO4,GPIO5,可自行焊接小电流设备如震动电机等,详情请查阅原理图
  • I2C 接口 : ESP32-S3提供多路硬件I2C,目前使用GPIO6(SDA)和GPIO7(SCL)引脚做I2C总线。挂载板上QMI8658六轴惯性测量单元和LCD触摸控制芯片,详情请查阅原理图
  • MX1.25连接器 : 开发板的 GPIO1 用于测量电池电压引脚,电池电压使用 200K 和 100K 串联分压连接到 GPIO1, ESP32-S3 系列有 2 路 12Bit SAR ADC 测量单元,源码中转换成电压公式是 3.3 / (1<<12) * 3 * AD_Value
引脚连接
ESP32-S3R2LCDMX1.25QMI8658other
GPIO0BOOT0
GPIO1ADC
GPIO5TP_INT
GPIO6SDA
GPIO7SCL
GPIO8LCD_DC
GPIO9LCD_CS
GPIO10LCD_CLK
GPIO11LCD_MOSI
GPIO12LCD_RST
GPIO40LCD_BL
GPIO47INT1
GPIO48INT2

产品尺寸


产品参数

LCD参数
显示芯片GC9A01A显示接口SPI
分辨率240(H)RGB x 240(V)显示尺寸Φ32.4mm
显示面板IPS像素大小0.135(H)x0.135(V)mm


IMU参数
传感器名称QMI8658
加速度计特性分辨率:16 位
量程 (可选):±2、±4、±8、±16g
陀螺仪特性分辨率:16 位
量程 (可选):±16、±32、±64、±128、±256、±512、 ±1024、±2048°/sec

版本说明

该开发板分为触摸版与非触摸版,请点击对应产品查看使用说明。

使用说明

ESP32-S3-LCD-1.28 目前提供 Arduino IDE 和 MicroPython 两种开发工具和框架,提供了灵活的开发选择,你可以根据项目需求和个人习惯选择适合的开发工具。

开发工具介绍


Arduino IDE

Arduino IDE是一款便捷灵活、方便上手的开源电子原型平台。不需要太多基础,简单学习后,你也可以快速地进行开发。同时,Arduino 拥有庞大的全球用户社区,提供了海量的开源代码、项目示例和教程,还有丰富的库资源,封装了复杂功能,让开发者能快速实现各种功能。


MicroPython

MicroPython是Python 3编程语言的完全实现,它可直接运行在 ESP32、Raspberry Pi Pico 等嵌入式硬件上。你可以通过REPL直接在板子上运行Python脚本,非常适合快速原型设计。

Arduino 和 MicroPython因其简单易学、上手快,非常适合初学者和非专业人士。

器件准备

  • ESP32-S3-LCD-1.28 x1
  • USB线 type A公口 转 Type C公口 x1


在操作前,建议先浏览目录,快速了解文档结构。为顺利操作,请仔细阅读FAQ,提前了解可能的问题。文档中所有资料均提供超链接,方便下载。

Arduino开发

本章介绍 Arduino 环境搭建,包括 Arduino IDE、ESP32板管理、相关库的安装,程序编译下载及示例程序测试,帮助用户掌握开发板,便于二次开发。 


环境搭建

下载和安装 Arduino IDE

  • 点击访问Arduino官网,选择对应的系统和系统位数下载。

  • 运行安装程序,全部默认安装即可。
环境设置是在 Windows 10 系统下进行,Linux和Mac用户可访问Arduino-esp32环境搭建参考。(Mac下使用 需要安装MAC 驱动程序

安装 ESP32 开发板

  • ESP32相关主板在Arduino IDE使用,须先安装“esp32 by Espressif Systems”库。
  • 根据板安装要求进行安装,一般推荐“在线安装”, 若在线安装失败,则使用“离线安装”。
  • 安装教程,详见:Arduino 板管理教程
  • esp32 by Espressif Systems”开发板离线软件包,点击此处下载:esp32_package_2.0.12_arduino离线包
  • ESP32-S3-LCD-1.28 所需开发板安装说明
板名称板安装要求版本号要求
esp32 by Espressif Systems“离线”安装/“在线”安装2.0.12

安装库

  • 在安装 Arduino 库时,通常有两种方式可供选择:在线安装 和 离线安装若库安装要求离线安装,则必须使用提供的库文件
    对于大多数库,用户可以通过 Arduino 软件的在线库管理器轻松搜索并安装。然而,一些开源库或自定义库未被同步到 Arduino 库管理器中,因此无法通过在线搜索获取。在这种情况下,用户只能通过离线方式手动安装这些库。
  • 库安装教程,详见:Arduino 库管理教程
  • ESP32-S3-LCD-1.28 库文件存放于示例程序中,点击此处跳转:ESP32-S3-LCD-1.28示例程序
  • ESP32-S3-LCD-1.28 库文件安装说明
库名称说明版本库安装要求
LVGL图形库v8.3.10“离线”安装
TFT_eSPILCD库v2.5.34“离线”安装
TFT_eSPI_Setups自定义库--“离线”安装
LVGL更多学习及使用可参考LVGL官方文档

运行第一个 Arduino 程序


如果你刚入门学习ESP32和Arduino,还不知道如何创建、编译、烧录和运行Arduino ESP32程序,那么请展开看看,希望可以帮助到你!

新建工程

  • 运行Arduino IDE,选择 File -> New Sketch

  • 输入代码:
void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("Hello, World!");
  delay(2000);
}
  • 保存代码工程,选择 File -> Save As...;在弹出的菜单选择保存工程路径,并输入工程名,如 Hello_World,点击保存

编译和烧录程序

  • 选择对应的开发板,以ESP32S3主板为例:

①. 点击选择下拉框选项“Select Other Board and Port”;
②. 搜索需要的开发板型号“esp32s3 dev module”并选择;
③. 选择COM口
④. 保存选择。

  • 若ESP32S3主板只有USB口,须打开(Enable)USB CDC,如下图所示:


  • 编译并上传程序:

①. 编译程序;②. 编译并下载程序;③. 下载成功。

  • 打开串口监视窗口,程序每隔2秒会打印“Hello World!”,运行情况如下所示:


示例程序


  • ESP32-S3-LCD-1.28 示例程序
示例程序基础例程说明依赖库
ESP32-S3-LCD-1.28-Test测试板载设备功能---
LVGL_Arduino显示 LVGL benchmark,music 等LVGL,TFT_eSPI ,TFT_eSPI_Setups
LVGL_Chinese_Font显示 LVGL 内置的 1000 个常用中文字体LVGL,TFT_eSPI ,TFT_eSPI_Setups
LVGL_Chinese_7500_Char显示 LVGL内置的 7500 个中文字体LVGL,TFT_eSPI ,TFT_eSPI_Setups

Arduino 工程参数设置



ESP32-S3-LCD-1.28-Test

【程序说明】


  • 该程序用于测试屏幕、六轴传感器、BAT的使用

【硬件连接】


  • 将开发板接入电脑


【代码分析】


  • setup()
    • 进行串口初始化,设置波特率为 115200
    • 初始化外部 PSRAM(如果可用),并为图像分配内存空间
    • 初始化 LCD 显示屏,包括设置为水平显示模式、清屏为白色、创建新的图像缓存并设置相关参数
    • 进行一系列图形绘制操作,包括绘制点、线、矩形、圆形、数字和字符串等,并将图像显示在 LCD 上
    • 读取 QMI8658 传感器的数据并显示在 LCD 上,每次先使用Paint_Clear(WHITE)清除图像缓存,然后重新绘制图形并显示传感器数据和 ADC 转换后的电压值

【运行效果】


  • 上电后,屏幕先间隔2秒显示白,红,绿,蓝四种颜色,检查屏幕有无漏光和黑点,若屏幕太快未看清,请按 RESET 按键重新复位开始
  • 接着进入传感器测试环节,颜色显示完毕后,将会在屏幕上显示传感器数据,ACC_X、ACC_Y 和 ACC_Z 数值随着设备角度偏转会随之变化,GYR_X ,GYR_Y ,GYR_Z 数值会随着设备移动加速度的变化随之变化
  • 此时接上3.7V锂电池,正常情况下,BAT(V)数值会降低
  • 直接烧录代码即可,LCD屏幕如图所示

  • 若出现出错误请确保esp32开发板版本号为2.0.12



LVGL_Arduino

【程序说明】


  • 该程序用于显示 LVGL benchmark,music 等

【硬件连接】


  • 将开发板接入电脑

【代码分析】


  • void my_disp_flush():将 LVGL中的图像数据刷新到 TFT 显示屏上。它接收 LVGL 显示驱动结构体指针、显示区域和颜色数据指针作为参数
    • 首先计算要刷新区域的宽度 w 和高度 h,通过获取传入的显示区域的坐标差值并加 1 得到
    • 接着调用 tft.startWrite()开始向 TFT 显示屏写入数据,然后使用 tft.setAddrWindow设置 TFT 显示屏的显示区域为传入的 area指定的区域
    • 之后调用 tft.pushColors将颜色数据(指向 color_p的颜色数据转换为 uint16_t类型)推送到 TFT 显示屏上进行显示,其中参数 w * h表示要推送的像素数量,true表示在推送完成后进行数据传输的结束操作
    • 最后调用 lv_disp_flush_ready(disp_drv)通知 LVGL 刷新完成,以便 LVGL 可以进行后续的操作
  • setup():负责初始化串口通信、LVGL 库、TFT 显示屏以及设置 LVGL 的显示驱动等
    • 首先初始化串口通信,设置波特率为 115200,打印 LVGL 和 Arduino 的版本信息
    • 初始化 LVGL 库,初始化 TFT 显示屏,并设置为横向显示、翻转,初始化 LVGL 的显示缓冲区和显示驱动,将 my_disp_flush函数注册为 LVGL 的刷新回调函数
    • 创建一个 LVGL 的图像对象,并设置图像源为 test1_240_240_4
    • 创建两个定时器,一个用于定时增加 LVGL 的时间滴答,另一个用于定时执行 example_increase_reboot 函数
    • 最后打印 “Setup done” 表示设置完成

【运行效果】



  • 若出现出错误请确保esp32开发板版本号为2.0.12



LVGL_Chinese_Font

【程序说明】


  • 该程序用于显示 LVGL 内置的 1000 个常用中文字体

【硬件连接】


  • 将开发板接入电脑

【代码分析】


  • my_disp_flush()
    • 这个函数是 LVGL 显示驱动的刷新回调函数
    • 根据传入的显示区域参数area计算出要刷新的宽度w和高度h
    • 调用 TFT 显示屏的相关函数tft.startWrite()tft.setAddrWindow()tft.pushColors()来将 LVGL 中的颜色数据color_p写入到 TFT 显示屏的特定区域
    • 最后调用lv_disp_flush_ready()通知 LVGL 刷新完成

【运行效果】



  • 若出现出错误请确保esp32开发板版本号为2.0.12



LVGL_Chinese_7500_Char

【程序说明】


  • 该程序用于显示 LVGL 的 7500 个中文字体,字体文件较大,下载固件时间比较长

【硬件连接】


  • 将开发板接入电脑

【代码分析】


  • setup()
    • 首先开启串口通信,设置波特率为 115200,为可能的串口调试做准备
    • 初始化 LVGL(Light and Versatile Graphics Library),包括设置版本信息输出、注册日志打印回调函数(如果启用了日志功能)
    • 初始化 TFT 显示屏tft和触摸传感器touch,包括设置显示屏的旋转方向和可能的触摸校准数据
    • 初始化 LVGL 的显示缓冲区draw_buf和显示驱动disp_drv,设置显示分辨率、刷新回调函数等,并将显示驱动注册到 LVGL
    • 初始化输入设备驱动indev_drv,设置为指针类型并指定触摸读取回调函数,然后注册输入设备驱动
    • 创建一个标签label,设置文本字体、文本内容(支持颜色重绘),并将其居中显示在屏幕上
    • 可以选择性地调用 LVGL 的示例或演示函数,展示不同的功能效果
  • loop()
    • 调用lv_timer_handler()函数,让 LVGL 图形库处理其内部的定时任务和事件
    • 使用delay(5)函数引入一个小的延迟,避免程序过度占用 CPU 资源

【运行效果】



  • 若出现出错误请确保esp32开发板版本号为2.0.12


MicroPython开发

本节围绕 MicroPython 开发环境搭建展开,主要涉及烧录固件以及安装和 Thonny。对于安装 Thonny 部分,详细阐述了其安装步骤与使用说明,为开发者构建 MicroPython 开发环境提供全面且清晰的指导。

环境搭建

下载和安装 Thonny

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

  • 选择对应的系统和版本,以windows64位为例,鼠标要移动到windows处,才会显示对应的信息,点击下载安装

  • 其余默认安装即可

烧录固件

  • 目前开发板使用定制的固件进行开发,固件在ESP32-S3-LCD-1.28 示例程序中,固件合并成单个文件,注意下载地址是0x00位置
  • 固件路径:
    ...\ESP32-S3-LCD-1.28-Demo\Firmware\MicroPython-bin
  • 烧录固件教程,详见:Flash固件的烧录与擦除教程
  • factory-bin文件夹下的bin文件为测试板载功能的文件,在此处无需烧录
MicroPython 固件制作来自链接MicroPython 固件编译更多学习链接

Thonny使用说明


如果你刚入门学习ESP32和Thonny,还不知道如何使用Thonny,那么请展开看看,希望可以帮助到你!

选择开发板及型号

  • 下载安装最新 Thonny IDE后,打开Thonny IDE -> Configure interpreter...,如下图所示


  • 选择ESP32与选择对应的COM口

  • 点击该按钮,可看到shell中输出语句,则说明开发板固件成功使用

上传例程

下文以使用“ESP32-S3-Touch_1.28”例程为例,若使用其他例程,操作步骤类推。
  • 如何找到您想要的示例程序,如果最开始没有files这一栏,我们可以在view里面找到


  • 将本地文件上传到开发板,选择文件,鼠标右键,找到"upload to/",进行下载

  • 以下是全部上传完成的界面,下载的文件请务必与红框内文件保持一致,否则可能会运行失败

  • 选择.py后缀的文件,点击绿色按钮烧录运行

  • 运行另一份文件时要先点击红色stop按钮,这样另一份文件才能正常运行

示例程序

Demo-flow-02.png

  • ESP32-S3-LCD-1.28 示例程序
示例程序基础例程说明
alien.py随机显示 “alien.jpg” 图像
bitarray.py创建并展示多个随机位置的 “吃豆人” 精灵动画
hello.py随机显示不同颜色的 “Hello!” 文本,并且可以通过循环切换不同的旋转角度
hershey.py循环展示不同的问候语
jpg.py轮流显示两张 JPEG 图片
noto_fonts.py展示三种不同字体的名称
pbitmap.py显示一个预编译的位图图像
rotation.py循环展示不同旋转值下的文本显示效果
scroll.py在显示屏上实现字符的平滑滚动显示

上传例程及特殊例程

上传例程

  • 将本地文件上传到开发板,选择文件,鼠标右键,找到"upload to/",进行下载


  • 以下是全部下载完成的界面,下载的文件请务必与红框内文件保持一致,否则可能会运行失败


  • 选择.py后缀的文件,点击绿色按钮烧录运行(运行图置于后文)

  • 运行另一份文件时要先点击红色stop按钮,这样另一份文件才能正常运行

特殊例程

  • 在所给例程中,boot.py为自动生成的空白文件,bluenarble.py存放的是图片,运行无现象


alien.py

【程序说明】


  • 该程序用于在特定显示屏上随机显示 “alien.jpg” 图像

【硬件连接】


  • 将开发板接入电脑


【代码分析】


  • GC9A01():GC9A01构造函数重要性在于建立硬件连接、设置初始参数并创建可操作的显示屏对象,为后续的显示操作奠定基础
    • spi_interface:建立与显示屏的 SPI 通信
    • widthheight:设置显示屏分辨率
    • reset_pin:连接显示屏的各种控制引脚
    • rotation:设置初始旋转角度

【运行效果】


  • LCD屏幕显示



bitarray.py

【程序说明】


  • 该程序是在特定显示屏上创建并展示多个随机位置的 “吃豆人” 精灵动画

【硬件连接】


  • 将开发板接入电脑

【代码分析】


  • pacman类的move方法:负责更新 “吃豆人” 精灵的状态,实现其在屏幕上的移动和动画效果
    • 首先增加精灵的当前步数,然后通过取模操作确保步数在规定的SPRITE_STEPS范围内循环,对应精灵的不同动画帧或状态
    • 接着在水平方向上移动精灵的位置,当精灵的水平位置达到特定值 302 时,重置步数,是为了触发特定动画状态或行为。最后,通过取模操作确保精灵的水平位置在一定范围内循环,避免超出显示区域
  • tft.map_bitarray_to_rgb565
    • tft.map_bitarray_to_rgb565函数根据精灵的当前步数从SPRITE_BITMAPS中选取位图数据,将其转换为 RGB565 格式的缓冲区sprite。同时,指定了精灵的宽度以及前景色和背景色
  • tft.blit_buffer
    • tft.blit_buffer函数将转换后的缓冲区绘制到显示屏上特定的位置,该位置由精灵的当前坐标确定,并指定了精灵的宽度和高度

【运行效果】


  • LCD屏幕显示


折叠

hello.py

【程序说明】


  • 该程序是在特定的显示屏上随机显示不同颜色的 “Hello!” 文本,并且可以通过循环切换不同的旋转角度

【硬件连接】


  • 将开发板接入电脑

【代码分析】


  • tft.text:在显示屏上绘制文本 “Hello!”
    • 使用指定字体,文本位置通过随机数在显示屏范围内确定,前景色和背景色由随机生成的 RGB565 颜色值决定
  • while True :实现 “Hello!” 文本在不同旋转角度下的随机显示动态效果
    • 通过无限循环和遍历四个旋转角度,设置显示屏旋转角度后清空屏幕,计算文本显示范围,循环调用tft.text函数在随机位置以随机颜色显示文本

【运行效果】


  • LCD屏幕显示



hershey.py

【程序说明】


  • 该程序是在一个特定的显示屏上循环展示不同的问候语

【硬件连接】


  • 将开发板接入电脑

【代码分析】


  • main:函数中的循环部分,在显示屏上循环显示不同字体、颜色和问候语
    • 逐行移动显示位置,获取下一个颜色、字体和问候语,清除上一行内容并绘制新内容,当超出一定范围时重置行位置,添加延迟控制显示速度
  • cycle :创建可循环迭代的对象
    • 接受参数,若可迭代则直接循环,若单个元素则转换为可迭代列表并循环返回,用于方便地循环使用颜色、字体和问候语列表

【运行效果】


  • LCD屏幕显示



jpg.py

【程序说明】


  • 该程序是在特定的显示屏上轮流显示两张 JPEG 图片

【硬件连接】


  • 将开发板接入电脑

【代码分析】


  • main:函数中的循环部分,在显示屏上循环显示不同字体、颜色和问候语
    • 遍历图片文件名列表,调用tft.jpg函数在特定位置以较慢方式显示图片,然后等待 5 秒
  • tft.jpg :在显示屏上显示指定的 JPEG 图片
    • 读取、解码图片文件并绘制到显示屏,根据传入参数确定显示位置和模式

【运行效果】


  • LCD屏幕显示



noto_fonts.py

【程序说明】


  • 该程序是在特定的显示屏上展示三种不同字体(NotoSans、NotoSerif、NotoSansMono)的名称,并且将这些字体名称以居中的方式显示在不同的行上

【硬件连接】


  • 将开发板接入电脑

【代码分析】


  • main:程序主入口,初始化显示屏并展示三种字体名称
    • 创建显示屏对象并初始化,填充背景为黑色,调用center函数依次显示三种字体名称
  • center :将给定字符串以指定字体在显示屏上居中显示
    • 获取显示屏宽度,计算字符串宽度,若小于屏宽则水平居中计算坐标,否则左对齐,最后在指定位置显示字符串

【运行效果】


  • LCD屏幕显示



pbitmap.py

【程序说明】


  • 该程序是在特定的显示屏上显示一个预编译的位图图像

【硬件连接】


  • 将开发板接入电脑

【代码分析】


  • main:程序主入口,初始化显示屏并显示位图
    • 创建显示屏对象,初始化后填充黑色背景,调用tft.pbitmap显示预编译位图模块中的图像
  • tft.pbitmap:在显示屏上显示预编译位图
    • 读取位图数据并绘制到显示屏,根据传入参数确定显示位置

【运行效果】


  • LCD屏幕显示



rotation.py

【程序说明】


  • 该程序是在特定的显示屏上循环展示不同旋转值下的文本显示效果

【硬件连接】


  • 将开发板接入电脑

【代码分析】


  • main:程序主入口,初始化显示屏并循环展示不同旋转值下的文本效果
    • 创建显示屏对象并初始化,在循环中依次设置不同旋转值,清空屏幕后显示包含旋转值信息的文本并等待观察
  • tft.rotation:设置显示屏旋转角度
    • 根据传入参数调整显示屏显示方向置

【运行效果】


  • LCD屏幕显示



scroll.py

【程序说明】


  • 该程序是在特定的显示屏上实现字符的平滑滚动显示

【硬件连接】


  • 将开发板接入电脑

【代码分析】


  • main:程序主入口,初始化显示屏、设置颜色并滚动显示字符
    • 创建显示屏对象,设置颜色生成器获取前景色,初始化显示屏后设置滚动区域,在循环中清除顶部行、在新行显示字符并更新颜色和字符值,通过设置滚动地址实现滚动并控制速度
  • cycle:创建可循环迭代对象
    • 接受参数,若可迭代则直接循环,若单个元素则转换为可迭代列表并循环返回

【运行效果】


  • LCD屏幕显示


Flash固件的烧录与擦除


  • 当前示例程序有提供测试固件,可通过直接烧录测试固件来测试板载设备功能正常与否
  • bin文件路径:
    ...\ESP32-S3-LCD-1.28-Demo\Firmware\factory-bin

资料

原理图

工程图纸

示例程序

数据手册

ESP32-S3

其他器件

软件工具

Arduino

Thonny

固件烧录工具

其他资料链接

FAQ

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

  • 点击复位按键1秒以上,等待 PC 端重新识别到设备后再次下载
  • 可长按BOOT按键,同时按下RESET,然后松开RESET,再松开BOOT按键,此时模块可进入下载模式,可解决大部分无法下载的问题。


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

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


问题: 程序首次编译超级慢怎么处理?

  • 首次编译很慢属于正常情况,耐心等待即可


问题: 找不到AppData文件夹怎么处理?

  • 部分AppData文件夹是默认隐藏的,可以设置为显示。
  • 英文系统:资源管理器->View->勾选“Hidden items”
  • 中文系统:文件资源管理器->查看->显示->勾选“隐藏的项目”


问题: 怎么查看自己使用的COM口?

  • Windows系统:

①通过设备管理器查看: 按下Windows + R键打开“运行”对话框; 输入devmgmt.msc并按回车键打开设备管理器; 展开“端口(COM和LPT)”部分,这里会列出所有的COM端口及其当前状态。
②使用命令提示符查看: 打开命令提示符(CMD); 输入mode命令,这将显示所有COM端口的状态信息。
③查看硬件连接: 如果你已经连接了外部设备到COM口,通常设备会占用一个端口号,可以通过查看连接的硬件来确定使用的是哪个端口。

  • Linux系统:

①使用dmesg命令查看: 打开终端。
②使用ls命令查看: 输入ls /dev/ttyS*或ls /dev/ttyUSB*来列出所有的串口设备。
③使用setserial命令查看: 输入setserial -g /dev/ttyS*来查看所有串口设备的配置信息。


问题:在使用 MAC 设备时,程序烧录失败?


问题:屏幕驱动是?

GC9A01A


问题:ESP32-S3-LCD-1.28用什么电池供电?

MX1.25 2P 连接器,可用于接入 3.7V电池,支持充放电



技术支持

周一-周五(9:30-6:30)周六(9:30-5:30)

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841