从第一次烧录到日常升级

这份教程面向微雪 ESP32-S3-RLCD-4.2 用户,涵盖安装、闹钟设置、日常升级和 microSD 图片准备。

首次安装 / 无法正常启动

Factory + USB

使用数据线和电脑,从 0x0 写入完整固件。此方式会清除设备中保存的 Wi-Fi 配置。

查看首次烧录步骤

设备已正常运行

OTA + 在线或设置门户

使用设备的在线更新或设置门户写入 OTA 固件,无需进入下载模式,并保留已保存的 Wi-Fi 配置。

查看后续升级方式

开始之前

1. 选择正确的固件

文件适用情况安装方式Wi-Fi 配置
-factory.bin首次安装、旧版迁移、故障恢复USB 从 0x0 写入清除
-ota.bin已安装 v0.7.0 或更新版本在线更新或设置门户保留

两类固件不能互换:不要把 OTA 固件写入 0x0,也不要在设备的设置门户上传 Factory 固件。

确保文件完整

2. 下载并校验固件

  1. 从首页下载所需的 Factory 或 OTA 固件,并记下卡片中对应的 SHA-256。
  2. 使用下面适合当前系统的命令计算下载文件的 SHA-256。
  3. 将计算结果与首页中的值逐字核对。

Windows PowerShell

(Get-FileHash .\esp32-rlcd-firmware-v0.14.0-factory.bin -Algorithm SHA256).Hash.ToLower()

Linux / WSL

sha256sum esp32-rlcd-firmware-v0.14.0-factory.bin

macOS

shasum -a 256 esp32-rlcd-firmware-v0.14.0-factory.bin

如果文件名或版本不同,请替换命令中的名称。校验结果不一致时不要继续安装,重新下载固件。

电脑安装

3. 首次烧录 Factory 固件

下面以 Windows 为例。准备一根支持数据传输的 Type-C 线,并保持设备稳定供电。

3.1 安装烧录工具

安装 Python 3,然后在 PowerShell 执行:

py -m pip install "esptool==5.3.1"
py -m esptool --help

3.2 确认串口

连接 Type-C 后,在 Windows 设备管理器中找到 USB JTAG/serial debug unit,记下对应的 COM 号。也可以在 PowerShell 执行:

Get-CimInstance Win32_SerialPort |
  Where-Object PNPDeviceID -Match 'VID_303A&PID_1001' |
  Select-Object DeviceID, Name

3.3 进入 ROM 下载模式

  1. 保持 Type-C 连接,长按 PWR 关机。
  2. 按住 BOOT
  3. 短按 PWR 开机。
  4. 等待约 2 秒,再松开 BOOT

3.4 写入 Factory 固件

在固件所在文件夹打开 PowerShell。把示例中的 COM5 和文件名替换为你的实际值:

py -m esptool --chip esp32s3 --port COM5 --baud 460800 `
  --before no-reset --after no-reset write-flash `
  --flash-mode dio --flash-freq 80m --flash-size 16MB `
  0x0 .\esp32-rlcd-firmware-v0.14.0-factory.bin

出现 Hash of data verified. 表示写入和回读校验成功。然后长按 PWR 关机,不要按 BOOT,短按 PWR 正常启动。

不要额外执行全片擦除。Factory 固件已经包含 Bootloader、分区表和应用,并会覆盖本项目的网络配置。

第一次开机

4. 配网与校时

  1. 等待全反射屏完成刷新,屏幕会显示 WI-FI SETUP、热点名称、随机密码和二维码。
  2. 使用手机扫码加入临时热点;扫码不可用时,按屏幕信息手动连接。
  3. 手机未自动打开页面时,在浏览器访问 http://192.168.4.1
  4. 选择 2.4 GHz 家庭 Wi-Fi,输入密码并保存。
  5. 设备联网校时、写入 RTC 后自动返回首屏。家庭 Wi-Fi 通常只需配置一次。

暂时没有网络时,可以按屏幕提示离线进入首屏。已经校准且装有正常 RTC 备用电池的设备,断网后仍可继续显示时间、日历和传感器信息。

日常提醒

5. 设置离线闹钟

  1. 短按 KEY 进入系统中心,切换到 SETTINGS,再按住 KEY 3 秒。
  2. 连接屏幕显示的临时热点;页面未自动打开时访问 http://192.168.4.1
  3. 开启闹钟,选择时间和每周重复日期,然后保存设置。

响铃时:短按 BOOT 停止;首次响铃可短按 KEY 延后 5 分钟。每次提醒最长持续 60 秒。

闹钟由 RTC 本地时间驱动,断网和省电模式不影响触发。物理关机期间不会唤醒设备或补发已经错过的提醒;播放音量为 0% 时只显示提醒界面。

离线图片

6. 使用 microSD 图片

图片功能使用 FAT32 格式的 microSD。固件只读取存储卡,不会创建目录、格式化存储卡或修改其中的文件;当前版本不支持 exFAT 和热插拔。

6.1 准备图片

  1. 让设备物理关机并拔掉 Type-C,再取出 microSD。
  2. 将卡连接电脑,确认文件系统为 FAT32,然后在卡根目录创建 rlcd\images
  3. 准备 400 × 300 的二值 PBM P4 图片,或使用项目工具把 JPEG、PNG 等常见图片转换为合规 PBM。
  4. 检查转换结果,再把图片复制到存储卡的 rlcd\images 目录。

在 Windows PowerShell 中,下面的示例会下载工具、安装 Pillow,并把 photo.jpg 转为 00-photo.pbm

git clone https://github.com/taifuer/esp32-rlcd-firmware.git
cd esp32-rlcd-firmware
py -m pip install Pillow
py tools/rlcd-image.py convert C:\path\to\photo.jpg 00-photo.pbm
py tools/rlcd-image.py check 00-photo.pbm
New-Item -ItemType Directory -Force E:\rlcd\images
Copy-Item .\00-photo.pbm E:\rlcd\images\

示例中的 E: 需要替换为 microSD 的实际盘符。转换工具会保持原图比例,将内容放入顶部 400 × 250 可见区;屏幕底部 50 像素由固件保留给按键提示。

6.2 插卡与查看

  1. 从电脑安全弹出 microSD。
  2. 确认设备仍处于物理关机状态,再插入存储卡并正常开机。
  3. 从首屏短按 BOOT 进入月历,再短按一次进入图片页。

插入、取出或更换存储卡前必须物理关机。运行中插卡不会重新扫描,强行热插拔可能损坏文件系统。

目录固定为 /rlcd/images/,最多扫描 32 个候选文件,并显示按文件名排序后第一张校验通过的图片。没有卡、目录不存在或图片无效时,图片页会自动隐藏,不影响时钟和其他页面。

推荐的日常方式

7. 在线更新

在线更新需要设备已经保存可用的 Wi-Fi,并能访问互联网。设备只会检查更新,不会静默下载或自动安装。

  1. 短按 KEY 进入系统中心,再切换到 ONLINE UPDATE
  2. 按住 KEY 2 秒检查版本。
  3. 显示 UPDATE AVAILABLE 后,再按住 KEY 2 秒进入确认页。
  4. 核对目标版本,保持供电,然后按住 KEY 3 秒开始安装。
  5. 等待下载、校验和自动重启;重启后回到该页面核对当前版本。

下载并写入开始后不要断电。检查、连接和确认阶段可以短按 BOOT 取消,开始写入后按键不会中断操作。

没有互联网也能更新

8. 本地离线更新

本地更新通过设备临时热点上传 OTA 固件,不依赖家庭 Wi-Fi 或互联网。

  1. 提前下载并校验目标版本的 -ota.bin
  2. 短按 KEY 进入系统中心,再切换到 SETTINGS
  3. 按住 KEY 3 秒,等待屏幕显示设置热点、随机密码和二维码。
  4. 用手机或电脑连接该热点;页面未自动打开时访问 http://192.168.4.1
  5. 在“本地固件更新”中选择 -ota.bin 并开始更新,保持供电直至设备自动重启。

192.168.4.1 是设备临时热点中的固定管理地址,不是家庭路由器地址。门户最多开放 5 分钟;关闭后可重新进入 SETTINGS 并再次开启。

无法使用更新页面时

9. 使用电脑恢复

设备无法正常启动、分区损坏或仍运行 v0.6.0 及更早版本时,重新执行本教程第 3 节,使用 Factory 固件从 0x0 完整恢复。恢复完成后需要重新配网。

如果设备已经使用 v0.7.0 或更新版本的双 OTA 分区,只是网页更新暂时不便,并且你熟悉 WSL,可以使用项目脚本保留 Wi-Fi 配置:

git clone https://github.com/taifuer/esp32-rlcd-firmware.git
cd esp32-rlcd-firmware
./scripts/update-app.sh --port COM5 \
  --firmware /path/to/esp32-rlcd-firmware-v0.14.0-ota.bin \
  --confirm

这条高级路径仍要求先进入 ROM 下载模式。分区表或 Bootloader 发生变化时必须改用 Factory 固件,不要强行保留旧分区。

故障排查

10. 常见问题

电脑找不到串口

确认 Type-C 线支持数据传输,换一个电脑 USB 口,并在设备管理器中重新查找 USB JTAG/serial debug unit。COM 号可能变化。

esptool 无法连接设备

通常是没有正确进入 ROM 下载模式。重新执行“关机 → 按住 BOOT → 短按 PWR → 两秒后松开 BOOT”,再尝试烧录。

烧录成功但屏幕还是旧画面

全反射屏断电后仍会保留画面。写入结束后物理关机,再在不按 BOOT 的情况下短按 PWR 正常启动,并等待数秒完成刷新。

在线更新检查失败

确认家庭 Wi-Fi 和互联网可用;稍后重试,或改用不依赖互联网的本地更新。检查失败不会改变当前启动固件。

手机没有自动打开配网或更新页面

保持连接屏幕显示的临时热点,在浏览器手动访问 http://192.168.4.1

插卡后没有图片页

确认设备运行 v0.12.0 或更新版本,存储卡为 FAT32,图片位于 /rlcd/images/,并已通过项目工具检查。然后物理关机,重新插稳存储卡后再开机。

准备好了吗?

返回首页下载固件。首次安装选 Factory,正常运行后的日常升级选 OTA。

前往固件下载