芯查查logo
  • 物料选型
  • 数据服务
    1. 新产品
    2. 查替代
    3. 丝印反查
    4. 查品牌
    5. PCN/PDN
    6. 查方案
    7. 查代理
    8. 数据合作
  • SaaS/方案
      SaaS产品
    1. 供应链波动监测预警
    2. 半导体产业链地图
    3. BOM管理
    4. 解决方案
    5. 汽车电子
    6. 政府机构
    7. 数据API
  • 商城
  • 行业资讯
    1. 资讯
    2. 直播
  • 论坛社区
    1. 论坛
    2. 学习
    3. 测评中心
    4. 活动中心
    5. 积分商城
  • 查一下
【开源项目】DIY智能手表Monica:极客的腕上科技艺术品
发布时间:昨天 17:42
版块:
电子DIY
简介:在这个智能穿戴设备泛滥的时代,一款真正由极客为极客打造的开源智能手表项目——Monica,正在技术爱好者圈子里掀起一股DIY热潮。这款基于ESP32-S3智能手表不仅硬件设计精良,软件架构更是别具匠心

一、原理图

  • 主控:ESP32-S3,32M 外置 Flash
  • IMU:BMI270 + BM150 (抬手唤醒、计步器、指南针)
  • 电源管理:AXP2101
  • 其他:SD卡槽、RTC、蜂鸣器、MIC、气压传感、按键
  • 屏幕:1.8寸 Amoled 368*448
  • 电池:402728 400毫安

hardware1.png

PCB

  • 单面四层0.8MM,元件比较密集
  • 1.27MM 母座用于下载和 USB 连接
  • 引出串口和 I2C 接口等,预留用于底板拓展

hardware2.png

程序

Monica 的软件设计堪称教科书级别。它采用分层架构,清晰解耦:

  • 底层:HAL硬件抽象层,管理应用外设驱动。
  • 中间层:使用LVGL图形库和SimpleKV 键值数据库,实现应用与驱动的解耦,让开发更高效。
  • 应用层:支持 App 安装、卸载、生命周期管理,甚至可以自定义表盘!只需在 watch_faces 文件夹里放上你的背景图和数字资源,就能拥有独一无二的表盘。

firmware.png

应用、驱动层解耦

  • SimpleKV:简单的 Key-Value (键-值) 内存数据库框架,实现两层的数据交互。使用 键 (字符串) 索引数据,切断应用层和驱动层的数据耦合。
  • Lvgl: 使用 Lvgl 作上层应用默认图形库,及其文件系统接口

因此,只要设备适配 Lvgl ,就可以直接使用这套 Mooncake UI框架。

firmware2.png

驱动层

  • HAL:外设驱动的对象抽象
  • Hardware Manager:硬件管理层。负责底层的 硬件初始化、运行时的 状态维护更新,例如自动睡眠、抬手唤醒、计步器更新等
  • USB MSC模式:为了读写 SD 卡方便,同时按 电源 和 下 按键启动时,会进入 USB MSC 模式,SD 卡会被挂载成 U盘,接上 USB 即可直接读写

应用层

  • App基类、安装卸载框架:所有 App 的对象基类,描述了 App 的基础框架。安装卸载框架实现简单的 App 列表管理
  • App生命周期管理:支持前后台的 App 运行生命周期 调度器 (单线程,单前台,多后台) ,使用 状态机 (FSM)实现
  • 系统内置APP:都是在 App 层之上实现的应用,但 启动动画 和 启动器 会被 Framwaork 框架特殊调用

firmware3.png

用户自定义表盘

watch_faces 目录下的每一个文件夹都视作一个表盘

  • background目录:存放表盘背景资源 (png、gif)
  • number目录:存放从0~9的时间数字资源 (png)
  • face.json:资源描述文件,如时间数字坐标等
watch_faces/
|
├── AyanamiRei
│   ├── background
│   │   ├── background.png
│   ├── face.json
│   └── number
│       ├── 0.png
│       ├── ~
│       └── 9.png
|
├── FloatingNum
│   ├── background
│   │   └── background.png
│   ├── face.json
│   └── number
│       ├── 0.png
│       ├── ~
│       └── 9.png
|
└── PixelThinking
  ├── background
  │   ├── background.png
  ├── face.json
  └── number
      ├── 0.png
      ├── ~
      └── 9.png

存在问题:

当然,Monica 也有它的“遗憾”。原版使用的 1.8 寸屏幕已经停产,这让一些后来者望而却步。但开源的魅力就在于——问题即挑战,限制即创新的起点。

已经有玩家尝试替换其他型号的屏幕,修改驱动代码,甚至重新设计 PCB 来适配新器件。这种“折腾”的过程,恰恰是 DIY 的灵魂所在。

3D模型

model.pngmodel2.png

完全开源

Monica 最迷人的地方,是它的完全开源。

  • 硬件设计:原理图、PCB 文件全部公开,使用嘉立创 EDA 设计,四层板布局紧凑,适合进阶玩家学习。
  • 软件代码:GitHub 仓库结构清晰,注释详尽,从驱动到应用层层递进,是学习 ESP32 和嵌入式 GUI 开发的绝佳范本。
  • 社区活跃:项目发布以来,已有超过 5000+ 克隆,上百条讨论,有人成功复刻,有人提出改进建议,还有人基于它开发了新功能。

项目地址:

  • GitHub: https://github.com/Forairaaaaa/monica
  • 嘉立创开源平台: https://oshwhub.com/eedadada/monica
  • 项目视频: https://www.bilibili.com/video/BV1AP411Q7dk

实物秀

monica2.mp4_20230604_001454.009.png

monica2.mp4_20230604_001608.565.png

monica2.mp4_20230604_001711.494.png

为什么你应该关注Monica?

如果你是:

  • 一个想深入学习 ESP32 和嵌入式开发的工程师;
  • 一个热爱动手、喜欢折腾硬件的 Maker;
  • 一个想做点酷东西却苦于没有方向的学生;
  • 或者只是一个对“智能穿戴”充满好奇的普通人……

那么,Monica 就像一扇门,带你进入一个软硬结合、创意无限的世界。

本文来自公众号:小康师兄,小康师兄新书《从零开始学ESP32物联网应用开发》已全网上市,京东/淘宝/当当均可购买。

DIY及创意
昨天 17:42
  • 举报
😁😂😃😄😅😆😉😊😋😌😍😏😒😓😔😖😘😚😜😝😞😠😡😢😣😤😥😨😩😪😫😭😰😱😲😳😵😷😸😹😺😻😼😽😾😿🙀🙅🙆🙇🙈🙉🙊🙋🙌🙍🙎🙏✂✅✈✉✊✋✌✏✒✔✖✨✳✴❄❇❌❎❓❔❕❗❤➕➖➗➡➰🚀🚃🚄🚅🚇🚉🚌🚏🚑🚒🚓🚕🚗🚙🚚🚢🚤🚥🚧🚨🚩🚪🚫🚬🚭🚲🚶🚹🚺🚻🚼🚽🚾🛀Ⓜ🅰🅱🅾🅿🆎🆑🆒🆓🆔🆕
@好友

全部评论

加载中
游客登录通知
已选择 0 人
自定义圈子
移动
发布帖子
发布动态
发布问答
发布者
卢工爱分享
目录

一、原理图

PCB

程序

应用、驱动层解耦

驱动层

应用层

用户自定义表盘

存在问题:

3D模型

完全开源

项目地址:

实物秀

为什么你应该关注Monica?

最新帖子
【开源项目】DIY智能手表Monica:极客的腕上科技艺术品【星允派 NEBULA PI】09:USB虚拟CDC与串口1【星允派 NEBULA PI】15:高级定时器输出PWM【星允派 NEBULA PI】14:使用DMA方式读取ADC获奖名单-【有奖话题35期】硬件比软件难,为何待遇不如软件?
热门版块
查看更多
问型号
问技术
问行情
汽车电子工程师论坛
工业电子专区
电子DIY
新手入门指南
单片机/MCU论坛
PCB设计
开源项目

55

收藏

分享

微信扫码
分享给好友

评论