选择ESP32什么型号?
本文选择ESP32-S3 N16R8
也可以选择其他ESP32-S3,区别只是内存闪存性能不同
为什么选择ESP32-S3?
因为在显示LVGL图形时,同时连接WIFI+MQTT等,会造成以下错误提示
没有足够的DMA可用的内存来分配显示缓冲区
RuntimeError: Not enough DMA-able memory to allocate display buffer
mpn |
内置sram |
内置rom |
外扩psram |
外扩flash |
ESP32-S3-WROOM-1-N4 |
512K |
384K |
0M |
4M |
ESP32-S3-WROOM-1-N8 | 512K | 384K | 0M | 8M |
ESP32-S3-WROOM-1-N16 | 512K | 384K | 0M | 16M |
ESP32-S3-WROOM-1-N4R8 | 512K | 384K | 8M | 4M |
ESP32-S3-WROOM-1-N4R2 | 512K | 384K | 2M | 4M |
ESP32-S3-WROOM-1-N8R2 | 512K | 384K | 2M | 8M |
ESP32-S3-WROOM-1-N16R2 | 512K | 384K | 2M | 16M |
ESP32-S3-WROOM-1-N8R8 | 512K | 384K | 8M | 8M |
ESP32-S3-WROOM-1-N16R8 | 512K | 384K | 8M | 16M |
选择编译好的固件MicroPython+LVGL
刷入到ESP32-S3后,无需再单独引入LVGL,因为固件已默认包含
注意事项
本文有两种固件
一种是lv_micropython_esps3n16r8_color16.bin(色深16)
一种是lv_micropython_esps3n16r8_color32.bin(色深32)
使用 IL9341 驱动时,需要设置颜色深度以匹配 ILI9341,也就是构建固件时就要指定
-DLV_COLOR_DEPTH=16
其他的驱动如ili9488,则使用COLOR_DEPTH=32就好了
-DLV_COLOR_DEPTH=32
本合集主要演示显示驱动ili9488+触摸驱动ft6x36,所以需要下载固件为lv_micropython_esps3n16r8_color32.bin
同时也要注意,MicriPyhton官网的ESP-S3固件
-
只支持MicroPython,不支持LVGL
-
最高只支持R8N8(外存8M,内存8M),不支持R16N8(外存16M内存8M)
本文的固件是支持R16N8的,不用担心买了高配置,但是只能使用了部分性能的场景
本文使用的显示屏为
3.5寸TFT液晶显示屏模块串口SPI驱动ILI9488带电容触摸RGB320*480
正面展示
反面展示
产品介绍
-
3.5寸彩屏,支持65K色显示,显示色彩丰富
-
480X320高清分辨率,带电容触摸功能
-
采用SPI串行总线,只需几个IO即可点亮显示
-
带SD卡槽方便扩展实验
-
提供丰富的示例程序
-
军工级工艺标准,长期稳定工作
-
提供底层驱动技术支持
产品参数
名称 | 参数 |
SKU | |
尺寸 | 3.5(inch) |
类型 | TFT |
驱动芯片 | 屏幕ILI9488-触摸FT6236 |
分辨率 | 480*320 (Pixel) |
模块接口 | 4-wire SPI interface |
有效显示区域(AA区) | 48.96×73.44(mm) |
模块PCB底板尺寸 | 55.1×96.18(mm) |
VCC电源电压 | 3.3V~5V |
逻辑IO口电压 | 3.3V(TTL) |
功耗 | 约为90mA |
产品重量 | 30(g) |
接口定义
序号 | 标号 | 引脚说明 |
1 | VCC | 电源输入(3.3V~5V) |
2 | GND | 电源地 |
3 | CS | LCD片选 |
4 | RESET | LCD复位 |
5 | DC | LCD总线命令/数据选择 |
6 | SDI(MOSI) | LCD SPI 显示总线数据输入 |
7 | SCK | LCD SPI 显示总线时钟信号 |
8 | LED | LCD背光控制(高电平点亮) |
9 | SDO(MISO) | LCD SPI 显示总线数据输入出 |
10 | NC/3V3 | |
11 | CTP-SDA | 电容触摸 数据输出 |
12 | CTP-SCL | 电容触摸 时钟信号 |
13 | CTP-INT | 电容触摸 中断信号 |
14 | CTP-RST | 电容触摸 片选信号 |
注意事项
一定要买屏幕时候,看清屏幕支持的参数
-
串口SPI
-
驱动ILI9488
-
触摸FT6236
-
480*320
因为有些屏幕外观一样,功能一致,但是驱动不一样,引脚不一样
要跟着本合集运行项目,建议保持显示驱动,触摸驱动,尺寸一致
除了上述主体物品(ESP32-S3,3.5寸触控屏)外
还需要以下物品
-
USB数据线(建议在买ESP32-S3的时候搭配卖家的配套USB一起买,保证可以正常可以传输数据,而不是只有充电的作用)
-
杜邦线(母对母)(用来连接ESP32-S3和触控屏)
简单总结
本文记录本合集需要准备的实物物品
-
ESP32-S3 R16N8(其他ESP32-S3 R8N8 N8R2也行,但是没有测试过)
-
3.5寸TFT液晶显示屏模块串口SPI驱动ILI9488带电容触摸RGB320*480(重点驱动ILI9488+触摸ft6x36)
-
USB数据线(可传输数据,用来刷入固件)
-
杜邦线(母对母)(需要延长,可以另外再买母对公,公对公)
固件
ESP32-S3 R16N8 +MicroPython+LVGL固件(COLOR_DEPTH=32)
注意这个固件MicroPython官方和LVGL官方都没有提供,只有网友自己编译的,市面上很难找到
成本预算
以下为我在淘宝买的物品价格
物品名称 |
参考价格 |
备份 |
ESP32-S3 R16N8开发板+USB数据线 |
59元+8元 |
8元为快递费用 |
3.5寸TFT触控屏(电容屏) |
59元+5元 |
5元为快递费用 |
杜邦线(母对母) |
1.93元 |
免运费 |
总计 |
132.93元 |
仅供参考 |
初步效果
-
当前时间显示+天气预报(HTTP+中文字体)
-
哔哩哔哩计数器(LVGL GIF动图)
-
网站实时在线人数(LVGL PNG图片+MQTT)
-
温湿度仪表盘(LVGL小摆件+动画)
END