ESP32-S3-Touch-LCD-1.28
| ||||||||||||||||||||
| ||||||||||||||||||||
说明
产品简介
ESP32-S3-Touch-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 屏,240×240 分辨率,65K 彩色
- 板载 QMI8658 六轴惯性测量单元 (3 轴加速度、3 轴陀螺仪),可检测运动姿态
- 板载 3.7V 锂电池充放电接口和引出 6 个 GPIO 的 SH1.0 连接器
- 支持灵活时钟,模块电源单独设置等精准控制,实现多场景低功耗模式
- 集成 USB 串口全速控制器,GPIO 可灵活配置外设功能
硬件说明
接口说明
- Type-C 接口: 使用 CH343P 芯片用于 USB 转 UART 连接 ESP32-S3 的 UART_TXD(GPIO43),UART_RXD(GPIO44),用于固件烧录和日志打印
- SH1.0 连接器: 开发板引出 6 个 GPIO 可用于外部其它连接,GPIO 可以灵活配置成 I2C ,SPI等外设功能, VSYS 可直接输入 5V 给整个开发板供电
- LCD 接口: 开发板板载4线 SPI 通信的 1.28 寸屏幕,触摸使用 I2C 通信, SPI 速率可以提高到 80MHz 运行
- 开发板使用 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-S3R2 | LCD | SH1.0 | MX1.25 | QMI8658 | other |
GPIO0 | BOOT0 | ||||
GPIO1 | ADC | ||||
GPIO2 | LCD_BL | ||||
GPIO3 | INT2 | ||||
GPIO4 | INT1 | MOSFET1_CS | |||
GPIO5 | TP_INT | MOSFET2_CS | |||
GPIO6 | TP_SDA | SDA | |||
GPIO7 | TP_SCL | SCL | |||
GPIO8 | LCD_DC | ||||
GPIO9 | LCD_CS | ||||
GPIO10 | LCD_CLK | ||||
GPIO11 | LCD_MOSI | ||||
GPIO12 | LCD_MISO | ||||
GPIO13 | TP_RST | ||||
GPIO14 | LCD_RST | ||||
GPIO15 | GPIO15 | ||||
GPIO16 | GPIO16 | ||||
GPIO17 | GPIO17 | ||||
GPIO18 | GPIO18 | ||||
GPIO19 | |||||
GPIO20 | |||||
GPIO21 | GPIO21 | ||||
GPIO33 | GPIO33 |
硬件连接
- ESP32-S3-Touch-LCD-1.28 板载 USB 转 UART 芯片和自动下载电路,接上 Type-C 线缆后可直接下载固件
- 开发板使用时注意陶瓷天线区域,避免PCB板,金属,塑料件盖住陶瓷天线
- 板载高效充放电管理芯片 ETA6096 和 MX1.25 电池接口,目前设置充电电流为 1A,用户可自行更换 R15 电阻更改充电电流,接入 3.7V 单节锂电池,详情请查阅原理图,建议接入 500mAH 以下的 3.7V 单节锂电池
产品尺寸
环境设置
ESP32 系列开发板的软件框架成熟,可使用 C/C++(Arduino,ESP-IDF),MicroPython 等进行快速开发产品原型,以下简要介绍:
- MicroPython 是 Python 3 编程语言的精简高效实现,其中包括 Python 标准库的一小部分,并且经过优化,可在微控制器和受限环境中运行。(当前不支持此产品的开发)
- 环境设置是在 Windows 10 系统下进行,用户可以选择使用 Arduino 或 Visual Studio Code(ESP-IDF) 作为 IDE 进行开发, Mac/Linux 操作系统用户请参考官方说明
ESP-IDF
Arduino
1. 下载安装Arduino IDE,注意默认配置及全英文路径
2. Arduino IDE 安装 ESP32 库,详细安装过程如下,相关资料请点击链接参考
- 中国大陆安装
- 下载离线包esp32_packages2.0.12_arduinome.exe 后双击安装,若之前在线安装失败,请删除掉 %LOCALAPPDATA%/Arduino15/packages 下的 esp32 文件夹
- 安装离线包后,打开 Arduino IDE,在 File->Preferences 下 Settings 界面的 Additional boards manager URLs 处填写下面链接后保存
https://arduino.me/packages/esp32.json
- 重启 Arduino IDE,离线包安装完成
- 其它地区安装
- 在 File->Preferences 下 Settings 界面的 Additional boards manager URLs 处填写下面链接后保存
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- 在 Board Manager 中搜索 esp32 进行安装,下载安装完成后重启 Arduino IDE 生效
3. 打开 Arduino IDE,注意菜单栏中 Tools 选择 16MB Flash 和使能 QSPI PSRAM,如下图所示
库安装
- TFT_SPI,lvgl 库安装后需要配置文件,建议直接使用Esp32-s3-touch-lcd-lib中的 TFT_eSPI_Setups,TFT_eSPI ,lvgl 文件夹复制到 C:\Users\xxxx\Documents\Arduino\libraries 目录下,xxxx 代表您电脑上用户名,注意甄别
MicroPython
1. 下载安装最新 Thonny IDE后,打开Thonny IDE -> Configure interpreter...,如下图所示
2. Type-C 接口接入USB线缆,查找设备管理器或对应COM口,下载或运行程序,具体请查看硬件连接章节
3. 本教程请忽略此步骤,按照下图步骤所示选择 ESP32-S3 系列的在线 MPY 固件下载,下载前会清除开发板的 Flash 内容,整个下载过程持续1分钟左右,MPY固件可以在官网下载
4. 目前开发板使用定制的固件进行开发, 固件在示例程序压缩包,固件制作来自链接,固件合并成单个文件,参考其它固件下载方式,注意下载地址是0x0位置
5. 烧录固件后,将 mpy 目录下的示例程序导入开发板,如下图所示
参考MicroPython Documentation , releases note 进行编程
其它固件下载方式
若使用flash_download_tool_3.9.5下载固件, 请按照如下图所示操作,注意 ESP32-S3 应用程序固件地址是 0x10000, partition_tables.bin 地址是 0x8000 , bootloader.bin 地址是 0x0
示例程序
Arduino
- Arduino 示例程序请参考 arduino-esp32 或 Arduino IDE 中的 File->examples,屏幕驱动程序请查阅示例程序
- Arduino_LVGL 示例,用于显示 LVGL benchmark,music 等,LVGL 的开发请参考LVGL开发文档
- Arduino_Chinese_Font 示例,用于显示 LVGL 内置的 1000 个常用中文字体
- Arduino_Chinese_7500_Char 示例,用于显示 LVGL 的 7500 个中文字体,字体文件较大,下载固件时间比较长
Micropython
mpy示例来自己链接,需要先下载定制 mpy 固件后在进行开发, 详情请参考环境设置的Micropython 章节