外观
TRMNL 固件
TRMNL 是一款商业电子墨水屏信息显示设备(官网 trmnl.com),它的固件 trmnl-firmware 是开源的。这个项目值得看,因为它展示了「ESP32 + 墨水屏 + 超低功耗」的完整工程做法:设备大部分时间深度睡眠,醒来联网取一张图,刷新屏幕,再睡。2024 年创建,近两年关注度不错,所以收入本站。
项目概况
| 项目 | 内容 |
|---|---|
| 仓库 / 官网 | github.com/usetrmnl/trmnl-firmware,trmnl.com |
| 作者 / 组织 | TRMNL(usetrmnl) |
| 开源协议 | GPL-3.0 |
| 支持芯片 | README 描述 TRMNL OG 使用 ESP32-C3;仓库里同时有 ESP32-C5、ESP32-S3 的依赖锁文件与 sdkconfig |
| 首次发布 | 仓库创建于 2024 年 1 月 13 日 |
| 热度 | 约 1200 星(2026 年 10 月) |
主分支标注为持续开发,可能有破坏性变更;README 建议使用带标签的 release 或官方 Flash Assistant。
它是怎么工作的
README 里有完整的流程图和功耗分析,要点如下:
- 设备上电或唤醒后初始化外设;长按复位键超过 5 秒会清除 Wi-Fi 凭据。
- 首次配网走强制门户 (captive portal)。联网后设备把自己的 MAC 地址换成服务器颁发的 API Key 和 Friendly ID,并保存。
- 之后每次唤醒,设备向服务器的
api/display接口请求要显示的图片,下载并刷新墨水屏。 - 服务器可以在响应里带上新固件地址,设备据此做 OTA 升级。
- 出现数据异常时,设备把日志发给服务器。
功耗方面,README 解释说 ESP32-C3 深度睡眠时可以低到约 4 µA(仅定时唤醒),带按键唤醒则平均约 100 µA。整个约 10.5 秒的更新周期里,大部分电量花在 Wi-Fi 活动的几秒。按 15 分钟刷新一次估算,README 给出的实际续航接近 120 天。这些是作者的估算,不是第三方测试。
需要的硬件
| 方案 | 说明 |
|---|---|
| 官方设备 | TRMNL OG(ESP32-C3 + 墨水屏 + 电池),在 trmnl.com 购买 |
| 自制 | 理论上 ESP32 + 兼容墨水屏即可,但需要自己适配显示驱动和板型,仓库有 boards/ 目录可参考 |
| 相关 | 电子墨水屏的玩法见 M5Paper S3 和 Watchy |
上手路径
- 买一台官方设备,或只阅读固件源码学习。
- 如果要自建服务器 (BYOS),阅读 README 中的 Web Server Endpoints 一节,实现
api/display等接口。 - 编译需要 PlatformIO,仓库带有 platformio.ini 和多个 sdkconfig,参见 PlatformIO。
- 在设备配网后把服务器地址指向自己的服务。
生态与衍生
- 官方云平台提供插件式的内容(日历、天气、RSS 等)和渲染服务,具体内容与价格以官网为准,本站未核实。
- 社区有多个第三方 BYOS 服务器实现,但本站未逐一核对。
- 同类低功耗显示项目可参考 传感器与监控。
局限与注意事项
自建服务器与固件升级
影响范围:设备会从你指定的服务器下载图片和固件地址。服务器如果暴露在公网且没有认证,别人可能伪造或读取你的设备信息;OTA 固件来源如果不可信,设备可能被刷成恶意固件。
前置条件:自建服务器使用 HTTPS 和有强度的 API Key,只托管自己编译的固件;不要把主分支未发布的固件刷到唯一的设备上。
回退:用 USB 重新烧录官方 release 固件;清除 Wi-Fi 凭据后重新配网。
- 主分支不稳定,生产使用请选标签版本。
- 固件的价值更多在参考,真要用还是要有设备和服务器。
- 官方云的功能和价格以官网为准。