外观
显示屏与仪表盘
给 ESP32 接一块屏,就能做成桌面时钟、天气站、Home Assistant 墙面面板、电子相框或迷你游戏机。适合想做「看得见」的项目、不想只面对串口日志的人。
这是什么玩法
按屏幕类型,大致分为三类:
| 类型 | 特点 | 典型场景 |
|---|---|---|
| TFT / IPS LCD | 彩色、刷新快、便宜,持续耗电 | 桌面仪表盘、控制面板 |
| AMOLED | 对比度高、色彩鲜艳,价格较高 | 智能手表、小型展示屏 |
| 电子墨水 (e-paper) | 断电保持画面,刷新慢,功耗极低 | 日历、天气、电池供电显示牌、相框 |
典型硬件
- CYD (Cheap Yellow Display):社区对 ESP32-2432S028 一类带 2.8 英寸触摸屏的廉价开发板的昵称,板载 ESP32、ILI9341 屏幕、电阻触摸、SD 卡槽,价格约十美元量级,同款有多个版本,屏驱动和触摸芯片可能不同,详见 Cheap Yellow Display。
- 带屏开发板:LILYGO T-Display-S3、Waveshare ESP32-S3-Touch-LCD、Waveshare ESP32-S3-Touch-AMOLED。
- 乐鑫官方带屏产品:ESP32-S3-BOX-3;高性能的 ESP32-P4 Function EV Board 带 MIPI-DSI 接口,可以接更大的屏。
- M5Stack 系列:CoreS3、Tab5、电子墨水的 PaperS3。
- 电子墨水成品:TRMNL 是一款 7.5 英寸黑白电子墨水设备,据其官方 GitHub 与媒体报道基于 ESP32-C3,固件开源(usetrmnl/trmnl-firmware,GPL-3.0),可以指向自托管服务器;同类硬件也有基于 ESP32 开发板自己组装的方案。
软件
- LVGL:嵌入式 GUI 库,支持按钮、图表、滑块等控件,乐鑫在 官方方案 里提供了集成。
- ESPHome:内置
display组件和lvgl组件,用 YAML 描述界面,适合做和 HA 联动的面板。 - openHASP:为 HA 和 MQTT 设计的开源触摸面板固件,用 JSON 描述页面。
- Tactility:面向 ESP32 的应用平台,可在支持的带屏设备上运行应用。
- 驱动库:Arduino 下常用 TFT_eSPI、LovyanGFX,见 Arduino-ESP32。
入门路径
- 买一块 CYD 或 LILYGO T-Display-S3 这类「屏幕已接好」的开发板,避免从接线开始踩坑。
- 先跑通厂商 Demo 或 TFT_eSPI 例程,确认屏幕显示正常、触摸坐标正确。
- 用 ESPHome 的
display组件显示 HA 里的温度或天气。 - 想要漂亮控件,再学习 LVGL,或者直接用 openHASP 的 JSON 方式设计页面。
- 电子墨水屏则选择带驱动板的成品,例如 Waveshare 电子纸套件,并先读懂其局部刷新与全刷的区别。
进阶方向
- 墙面 HA 控制面板:触摸屏加电源加壳体,装在墙上。
- 电子相框:用电子墨水屏定时从服务器拉取图片,电池可持续数月;彩色墨水屏刷新慢,需要接受数十秒的刷新时间。
- 仪表盘服务端渲染:把网页渲染成图片,由 ESP32 定时拉取并显示,这也是 TRMNL 一类设备的思路。
- ESP32-P4 大屏:算力强,可以跑更复杂的界面,但生态仍在成熟,具体可用性以官方 SDK 为准。
- 低功耗:电子墨水设备大部分时间用深度睡眠,见 传感器与监测。
注意事项
- 电阻触摸屏要校准,电容触摸屏要核对驱动芯片型号。
- 屏幕背光很耗电,电池供电要支持关闭或调暗。
- 电子墨水屏不能高频刷新,频繁全刷会产生残影并缩短寿命,请遵循厂商的最小刷新间隔。
- 内存:大屏加 LVGL 需要 PSRAM,没有 PSRAM 的 ESP32 很快会遇到内存不足。
- 同名不同版的 CYD 很多,买前核对驱动芯片,避免跑 Demo 白屏。