Skip to content
ForairaaaaaPublic

About

DIY AMOLED 屏手表

Resources

Stars

983 stars

Watchers

15 watching

Forks

Latest commit

 

History

45 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monica

视频介绍:https://www.bilibili.com/video/BV1AP411Q7dk

硬件开源:https://oshwhub.com/eda_rgprdhwej/monica

原理图

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

PCB

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

程序

应用、驱动层解耦

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

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

驱动层

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

应用层

  • App 基类、安装卸载框架:所有 App 的对象基类,描述了 App 的基础框架。安装卸载框架实现简单的 App 列表管理

  • App 生命周期管理:支持前后台的 App 运行生命周期 调度器 (单线程,单前台,多后台) ,使用 状态机 (FSM)实现

  • 系统内置 APP:都是在 App 层之上实现的应用,但 启动动画 和 启动器 会被 Framwaork 框架特殊调用

用户自定义表盘

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

模型

存在问题:

  • 目前模型只能选激光烧结,树脂打印会有缝
  • 按键位置有偏移,需要按靠上部位

About

DIY AMOLED 屏手表

Resources

Stars

983 stars

Watchers

15 watching

Forks

Releases

Packages

Used by

Contributors

Languages