跳转到内容

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 里有完整的流程图和功耗分析,要点如下:

  1. 设备上电或唤醒后初始化外设;长按复位键超过 5 秒会清除 Wi-Fi 凭据。
  2. 首次配网走强制门户 (captive portal)。联网后设备把自己的 MAC 地址换成服务器颁发的 API Key 和 Friendly ID,并保存。
  3. 之后每次唤醒,设备向服务器的 api/display 接口请求要显示的图片,下载并刷新墨水屏。
  4. 服务器可以在响应里带上新固件地址,设备据此做 OTA 升级。
  5. 出现数据异常时,设备把日志发给服务器。

功耗方面,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

上手路径 ​

  1. 买一台官方设备,或只阅读固件源码学习。
  2. 如果要自建服务器 (BYOS),阅读 README 中的 Web Server Endpoints 一节,实现 api/display 等接口。
  3. 编译需要 PlatformIO,仓库带有 platformio.ini 和多个 sdkconfig,参见 PlatformIO。
  4. 在设备配网后把服务器地址指向自己的服务。

生态与衍生 ​

  • 官方云平台提供插件式的内容(日历、天气、RSS 等)和渲染服务,具体内容与价格以官网为准,本站未核实。
  • 社区有多个第三方 BYOS 服务器实现,但本站未逐一核对。
  • 同类低功耗显示项目可参考 传感器与监控。

局限与注意事项 ​

自建服务器与固件升级

影响范围:设备会从你指定的服务器下载图片和固件地址。服务器如果暴露在公网且没有认证,别人可能伪造或读取你的设备信息;OTA 固件来源如果不可信,设备可能被刷成恶意固件。

前置条件:自建服务器使用 HTTPS 和有强度的 API Key,只托管自己编译的固件;不要把主分支未发布的固件刷到唯一的设备上。

回退:用 USB 重新烧录官方 release 固件;清除 Wi-Fi 凭据后重新配网。

  • 主分支不稳定,生产使用请选标签版本。
  • 固件的价值更多在参考,真要用还是要有设备和服务器。
  • 官方云的功能和价格以官网为准。

参考资料 ​

ESP32 非官方中文调查手册,与乐鑫科技(Espressif Systems)无隶属关系。