待补充
Szybet/InkWatchy
ESP32
3/5
🧩 软硬件结合
已发布
项目简介
A firmware for the open source Yatchy/Watchy - with some unique features
InkWatchy 是一个专为 Watchy 和 Yatchy 开源智能手表打造的固件项目,完全从零编写,旨在替代官方固件,提供更丰富、更灵活的功能体验。它的核心亮点在于高度模块化的设计——用户可以根据需求自由启用或禁用功能,被禁用的模块根本不会被编译进固件,就像从未存在过一样,从而最大化节省存储空间和电池寿命。技术栈方面,InkWatchy 融合了 C/C++ 与 Rust 两种语言,其中 Rust 组件用于实现部分高性能模块(如贪吃蛇游戏),并采用 Slint 框架构建更美观的用户界面,整体基于 ESP32 平台开发。
标签
项目特点
**完全模块化设计**:每个功能都可以独立开关,禁用后不编译进固件,零资源浪费。
**双语言混合开发**:C/C++ 负责底层驱动和基础逻辑,Rust 负责高性能计算模块,各取所长。
**Slint 框架 UI**:使用 Slint 构建更现代、更流畅的图形界面,提升手表交互体验。
**专为 Watchy / Yatchy 优化**:针对这两款开源手表硬件深度定制,替代官方固件,功能更丰富。
**开源可定制**:代码完全开放,用户可以自由修改、添加新功能,打造属于自己的智能手表固件。
技术规格
| 目标硬件 | Watchy、Yatchy 开源智能手表 |
|---|---|
| 主控芯片 | ESP32 |
| 编程语言 | C/C++、Rust |
| UI 框架 | Slint |
| 固件类型 | 替代官方固件的第三方固件 |
| 模块化机制 | 编译时条件编译,禁用模块不编译 |
| 存储优化 | 按需编译,最小化固件体积 |
| 电池优化 | 禁用不必要功能,降低功耗 |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Watchy 主板 | 1 | — | 基于 ESP32 的开源手表主板 |
| Yatchy 主板 | 1 | — | 可选,与 Watchy 兼容 |
| 1.54英寸电子墨水屏 | 1 | — | Watchy 标配 |
| 电池 | 1 | — | 200mAh 锂电池(Watchy 标配) |
| 按键 | 4 | — | Watchy 侧面物理按键 |
| InkWatchy 固件 | 1 | — | 从零编写的替代固件 |
能力画像
**记忆与知识检索**:2/5 — 项目本身不涉及知识库或检索功能,但文档和社区资源可辅助学习。
**动手与操作**:4/5 — 需要动手烧录固件、配置编译环境、调试硬件,动手门槛中等偏高。
**编程与算法**:4/5 — 涉及 C/C++ 和 Rust 编程,模块化设计需要理解编译原理和条件编译。
**设计与建模**:2/5 — 主要关注固件逻辑和 UI 布局,不涉及硬件或机械建模。
**实验与调试**:4/5 — 需要频繁烧录测试、调试模块开关效果、优化电池续航。
**协作与分享**:3/5 — 开源项目,可通过 GitHub 提交 Issue、PR 参与协作,但社区规模较小。
**学习与研究**:4/5 — 适合学习 ESP32 开发、Rust 嵌入式编程、Slint UI 框架、模块化固件设计。
**系统集成**:3/5 — 需要将固件与特定硬件(Watchy/Yatchy)集成,并协调多个软件模块。
项目图库
视频
所需技能
C/C++ 编程基础
Rust 编程基础(可选,用于高性能模块)
ESP32 嵌入式开发经验
PlatformIO 工具链使用
Git 版本控制
电子墨水屏驱动原理
Slint UI 框架基础(可选)
固件烧录与调试能力
适用场景
想给 Watchy 或 Yatchy 手表换一个更灵活、更省电的固件
学习 ESP32 嵌入式开发,尤其是模块化固件架构设计
探索 C/C++ 与 Rust 混合编程在嵌入式领域的实践
研究 Slint 框架在低功耗设备上的 UI 实现
定制属于自己的智能手表功能,去掉不需要的模块以延长续航
开源硬件爱好者动手改造和优化已有设备