2026-1-6 17:30:00 [显示全部楼层]
108浏览
查看: 108|回复: 0

[ESP8266/ESP32] 拒绝撞表!用ESP32自制开源电子墨水手表Watchy,还支持...

[复制链接]
本帖最后由 RRoy 于 2026-1-6 11:01 编辑

今天,我们来介绍又一个炫酷的开源项目——Watchy!

这是一款基于电子墨水屏的智能手表,由 SQFMI 团队开发,完全开源(硬件和软件都获得了认证)。

如果你是 Arduino 爱好者、ESP32 发烧友,或者喜欢 DIY 可穿戴设备,这款手表绝对会让你心动。它不光能显示时间,还支持自定义表盘、WiFi 连接、蓝牙,甚至能接入天气 API。项目在 GitHub 上已经有 2.6k 星。

Watchy 的灵感来源于 Kindle 那样的电子墨水技术:低功耗、阳光下无眩光、可视角度接近 180 度。想象一下,你可以自己动手组装一个智能手表,能显示自定义的时钟、天气、步数,甚至是计算器界面!

拒绝撞表!用ESP32自制开源电子墨水手表Watchy,还支持...图1

官方文档:https://watchy.sqfmi.com/docs/getting-started

下面,我们一起来深入了解这个项目。

Watchy 的硬件规格

Watchy 的核心是 ESP32 微控制器,结合了电子墨水屏,分辨率 200x200 像素。
最新版本(Revision 3.0,2024 年 6 月发布)采用了 ESP32-S3FN8 芯片,支持内置 USB 串口、CDC/JTAG 调试,以及 GPIO10 充电指示。其他关键组件包括:

  • 显示屏:GDEY0154D67(v3 版本)或 GDEH0154D67,SPI 接口。

  • 加速计:BMA423 三轴传感器,支持步数计数和方向检测。

  • RTC(实时时钟):v3 版本用外部 32KHz 晶振,早期版本如 v1.0 用 DS3231。

  • 电池:3.7V 200mAh LiPo 电池,尺寸小巧(402030)。

  • 其他:振动电机、触摸按钮、Micro USB 接口、PCB 天线。

手表的尺寸只有 46mm x 35.5mm x 9.5mm,重 13g,超级便携。

你可以选择直接从 Mouser、The Pi Hut 或 Crowd Supply 买到套件,配件如表带和外壳在shop.sqfmi.com有售。

拒绝撞表!用ESP32自制开源电子墨水手表Watchy,还支持...图2

拒绝撞表!用ESP32自制开源电子墨水手表Watchy,还支持...图3

当然你也可以选择自己设计,硬件设计文件在 GitHub 上开源(KiCAD 和 GERBER 文件),可以自己修改 PCB 或 3D 打印外壳。

拒绝撞表!用ESP32自制开源电子墨水手表Watchy,还支持...图4

3D 模型下载:https://watchy.sqfmi.com/docs/3D

组装过程简单,连接屏幕和电池,固定好即可。注意,屏幕是玻璃材质,别用力撬!如果用自定义外壳,确保 PCB 边缘光滑,避免卡住。

历史版本:从 v1.0 到 v3.0 的演进

Watchy 项目从 2019 年启动,已有多个迭代版本。早期版本(如 v1.0、v1.5、v2.0)现在被标记为“legacy”(遗留),主要是因为硬件升级和软件兼容性变化。

拒绝撞表!用ESP32自制开源电子墨水手表Watchy,还支持...图5

  • v1.0 (2019):用 DS3231 RTC 和 CP2104 USB 串口。

  • v1.5 (2021):换成 PCF8563 RTC。

  • v2.0 (2021):继续用 PCF8563,但优化了 USB 支持。

  • v3.0 (2024):大升级!ESP32-S3、外部晶振、无需额外 USB 串口芯片,支持 USB 设备模式(如 CDC、HID)。

遗留版本的组装需要手动连接屏幕和电池,并用胶带固定(新版可选)。软件设置上,用 Arduino IDE 选择对应板子版本,WiFi 配置通过“Watchy AP”热点。为什么是遗留?主要是新版更高效,但老版依然兼容现有库,如果你手头有旧硬件,别担心,文档齐全!

电池寿命

电子墨水屏的最大优势就是省电!Watchy 每 60 秒唤醒一次,检查加速计、RTC 并更新显示。纯时间显示模式下,能续航 5-7 天;如果加 WiFi 拉取天气数据,2-3 天。

影响因素包括:

  • WiFi/蓝牙使用(超级耗电)。

  • 频繁唤醒和显示更新。

  • 加速计常开。

优化技巧:

  • deepSleep()让 ESP32 深度睡眠,只在 RTC 中断或按钮按下时唤醒。

  • 用完 WiFi 后关掉:WiFi.mode(WIFI_OFF)btStop()

  • 不需要步数时,别初始化 BMA423。

  • 调整更新频率,比如词钟表盘可以每小时更新一次。

通过这些小设置,电池寿命能大幅延长。大家也可以实验不同场景,分享你的优化经验!

如何创建自定义表盘

Watchy 的乐趣在于自定义!项目提供了示例表盘(如/examples/WatchFaces),可以用 Arduino IDE 轻松创建。

步骤:

  1. 继承 Watchy 类,重写drawWatchFace()方法。

  2. 用 Adafruit GFX 库画形状、文本和位图。

  3. 字体:用 truetype2gfx 转换 TTF 字体成.h文件。

  4. 图像:用 image2cpp 转黑白图成字节数组,调用display.drawBitmap()

  5. 测试:用 WatchySim 模拟器(Windows 上很方便)。

拒绝撞表!用ESP32自制开源电子墨水手表Watchy,还支持...图6
WatchySim: https://github.com/LeeHolmes/watchysim

完成后,上传到手表。想分享?截 200x200 黑白图,上传 GitHub,拉 PR 到watchfaces.json。社区有上百个贡献表盘,等你加入!

开发库和资源

Watchy 依赖这些库(都在 Arduino 库管理器中):

  • GxEPD2 + Adafruit GFX:处理显示绘图。

  • DS3232RTC:RTC 时间管理。

  • BMA423 API:加速计接口。

  • WiFiManager:WiFi 配置。

  • Arduino_JSON:解析 API 数据(如天气)。

安装简单:

Arduino IDE 搜索安装。项目还支持 PlatformIO,代码主要 C/C++。GitHub 上有 293 次提交,最新库 v1.4.15(2025 年 8 月)。

常见问题

新手常见坑:

  • 屏幕问题:确保 FPC 线缆插紧,用最新 GxEPD2 库。

  • 组装:先钩上部卡扣,再按下;屏幕保护膜别忘撕。

  • 软件:忽略 AVR 架构警告;macOS esptool 错误可以去看一下 GitHub issue。

  • 单位转换:天气想用华氏度?可以参考自定义指南。

  • 求助:GitHub issue 或 Discord 社区:https://discord.gg/ZXDegGV8E7

更多细节看官方 FAQ。

Watchy 结合了 ESP32 的强大和电子墨水的节能,适合初学者入门,也能让高手玩出花样。有兴趣的小伙伴可以动手试试看了!


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail