ZSWatch,一个基于 Zephyr RTOS 的开源智能手表

 

最近刷到一块黑科技玩意儿——ZSWatch,一眼就戳中我心。它可不是普通的“抄抄官方 SDK”的智能表,而是从硬件到软件,完全 DIY 出来的全家桶级产品。以下,跟着我一起去看看它到底牛在哪儿!

是什么工具
ZSWatch,字面意思 Zephyr Smartwatch,也就是基于 Zephyr™ RTOS 的智能手表。整套硬件、固件、App 都开源,想折腾什么就能什么,没得说。

解决了哪些痛点

  • • “市售手表功能锁死”:ZSWatch 能随你改表盘、改固件、加功能。

  • • “闭源生态卡脖子”:全 GPL-3.0,想改源码就改,想加新协议都行。

  • • “功能单一、不够黑客友好”:传感器一大抄,手势导航、环境监测、AoA 方向找表……随便玩!

功能亮点

  • • BLE 通讯 + GadgetBridge / iOS 原生消息推送

  • • 手势唤醒 & 导航:内置 BMI270,挥手就能切换页面

  • • 超多传感器:气压、高精度温湿、光感、磁力计、麦克风……

  • • 动态 Watchface:支持 Zephyr 原生和 ESP32 表盘

  • • DIY Dock:带/不带 J-Link OB,秒变调试神器

硬件一览(部分)

模块

型号

作用

主芯片

nRF5340 (u-blox NORA-B10)

双核 128MHz,BLE

内存/存储

512KB RAM / 1MB Flash

系统运行+存储

显示屏

240×240 圆形触摸屏

交互 UI

传感器

BMI270/BME688/BMP581/LIS2MDLTR

手势、环境、气压、指南针

外置存储

MX25U51245GZ4I00 64MB

数据日志

电源管理 & 接口

nPM1300 / TS3USB221A

供电 & USB/SWD

软件生态

  • • Zephyr RTOS 打底,模块化。

  • • GadgetBridge Android App 即插即用;iOS 则走 ANCS+AMS 原生通道。

  • • 看腻了时间?表盘随手换。

  • • Music 控制、通知弹窗、指南针、设置菜单……N 款 App 任你装。

示例代码
举个快速点亮屏幕的小 demo(Zephyr C 版):

#include <zephyr.h>
#include <device.h>
#include <drivers/gpio.h>

#define SCREEN_PWR_NODE DT_ALIAS(screen_pwr)
static const struct gpio_dt_spec screen_pwr = GPIO_DT_SPEC_GET(SCREEN_PWR_NODE, gpios);

void main(void) {
    if (!device_is_ready(screen_pwr.port)) return;
    gpio_pin_configure_dt(&screen_pwr, GPIO_OUTPUT_ACTIVE);
    printk("ZSWatch 屏幕已点亮!\n");
    /* 这里可以再加更多初始化代码 */
    while (1) {
        k_sleep(K_SECONDS(1));
    }
}

优缺点速览
优点

  • • 真开源:硬件、固件全 GPL-3.0,方便深度定制

  • • 传感丰富:从环境到手势,从导航到光感,几乎没短板

  • • DIY 友好:KiCad 4 层板、3D 打印壳、可选金属 CNC

缺点

  • • 入门门槛高:要会 Zephyr 开发、PCB 焊接

  • • 功能未完全“商业化”:还在持续迭代,BUG 会有

  • • 电池续航相比大厂略逊一筹,需要常充电

总结
ZSWatch 更像是一块“黑客实验板”,适合对硬件、固件、App 都想大改特改的朋友。它解决了“闭源卡脖子”和“官方 SDK 功能受限”这两大痛点,随便装表盘、烧固件、加传感器,想怎么玩就怎么玩。如果你正好想 DIY 一块真手表、研究低功耗 RTOS,ZSWatch 别错过。

项目地址:https://github.com/ZSWatch/ZSWatch

 

发表评论