Friday Ink 今天是周五吗
今天是周五吗
2025年11月29日更新:根据读者的反馈和长达一年的实测,我补充了关于 SSD1607 与 SSD1681 屏幕驱动的功耗对比细节,以及 Rust 固件开发的更多背景。

前言
这是一个拖了很久的项目, 有很多废案. 隔一段时间想起来有这回事情,于是缝缝补补, 推倒很多次.
旧设计回顾
MCU从最开始使用的是ESP32, 也用过ESP32C3, 最后使用是CH582F.
起初他有很多功能,比如移植了一个lua解析器, 这样就可以动态的加载lua脚本, 以显示不同的内容.
也引入过FreeType, 用来解析.ttf字体, 以具有显示不同尺寸文字的效果.

尽管废案的完成度已经相当高了.但是实测续航表现十分糟糕. 一想到他要充电就让我感到无奈.
终于有一天看到了CH582F这款芯片. 唤起了重新实现Friday Ink的念头.
查了一些资料后, 那一刻我觉得这就是我要找的芯片. QFN28封装, 纽扣电池就能驱动, 二话不说斥巨资12元买入开发板着手开发.
基础参数
硬件参数
- 主控为CH582F 32KB Ram + 448KB Flash
- 时钟芯片是PCF8563T
- 屏幕为1.54英寸墨水屏 SSD1607
- DCDC芯片选用SGM6603-3.3YN6G
- CR2032电池提供电源
注:
- 当使用屏幕驱动IC为SSD1607时候, 需要焊接SGM6603, 因为需要借助SGM6603来彻底断开墨水屏供电
- 这块屏幕是我从闲鱼上捡来的, 买回来发现和合宙9.9块钱的墨水屏丝印一样, 驱动IC也一样.
- 在实际使用时候,休眠状态下功耗始终降低不下来. 于是我一怒之下怒一下了, 加了个DCDC来管理墨水屏的供电. 有效的将他的休眠电流从70μA降低到了3μA
- 当使用屏幕驱动IC为SSD1681时候, 不需要焊接SGM6603, 此时使用0欧电阻短接SGM6603的Pin5和Pin6, 并且无需焊接SGM6603下方4.7μH的电感
- 这是目前中景园在售的黑白双色电子墨水屏, 显示效果比我在咸鱼上买的效果好很多. 虽然分辨率同为200x200,但就是效果清晰, 对比度也好, 缺点就是比我咸鱼上5块钱买的贵.
- 由于能够正常休眠,所以不需要DCDC了, 功耗表现稍微比SSD1607版本好一丢丢
尺寸
- 34mm×39mm×8mm
耗电信息
- 休眠状态下≈3μA
- 刷新 10~20mA, 刷新完毕后会立刻进入休眠
用纽扣电池作为输入,然后接上合宙的电流表, 110小时后统计信息如下:

Rust固件开发
固件最开始是使用C开发的, 而且完成度也是很高, 只差休眠和蓝牙部分了. 结果这时候莫名其妙的加了一个Rust嵌入式的群, 群里面有个佬又正好做了CH582F的Rust适配.
于是决定试试Rust来开发.
显示部分直接用了bindgen把u8g2绑过来, bind就完事.
休眠部分, ch58x-hal没有封装, 所以这次只能手搓寄存器, 于是对着官方的休眠代码, 人肉翻译了起来. 好在最后能工作(当然能工作, 毕竟我只是翻译了一下)
Friday Ink的核心功能
只要启动时候检测一下有没有按下按钮,按下就显示一张图片, 再去扫描周边的蓝牙广播,扫描到符合时间协议的就设置本地RTC执行重启.
如果没有按下按钮就检测今天是不是星期五, 执行刷屏, 此时设备立刻休眠. 直到第二天00:00唤醒.
附加说明:在315天后的2025年6月24日, 我手上使用SSD1607版本的Friday Ink没电了, 理论上SSD1681版本功耗表现更加优异, 经过反馈续航大概在400天.
Q&A
Q: 时间校准时候卡在校准页怎么办
A: 推荐提前发送时间广播, 让手机和装置足够接近. 然后装置进入校准, 并在发现20S后未能自动退出校准或按钮无法强制退出校准时, 取下电池, 重新安装电池.
Q: 小程序已经无法使用
A: 时间校准协议已经公开, 还请各位复刻者使用蓝牙开发板发布符合协议的广播进行时间同步
社区复刻展示
很高兴在项目开源之后有小伙伴做了出来, 还加上了一个麦金塔的外壳.

项目链接
Friday Ink 今天是周五吗