Coder Social home page Coder Social logo

forairaaaaa / monica Goto Github PK

View Code? Open in Web Editor NEW
598.0 9.0 103.0 102.24 MB

DIY Amoled 屏手表 (。・`ω´・)

Home Page: https://www.bilibili.com/video/BV1AP411Q7dk

License: GNU General Public License v3.0

CMake 0.02% Shell 0.01% C++ 1.57% Makefile 0.01% C 98.22% Python 0.16% Meson 0.01% Assembly 0.01% HTML 0.01% Handlebars 0.01% Ruby 0.01%

monica's Introduction

Monica

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

硬件开源:https://oshwhub.com/eedadada/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

模型

存在问题:

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

monica's People

Contributors

dependabot[bot] avatar forairaaaaa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

monica's Issues

gif 图片播放卡顿

你好,我们同样使用esp32s3 + lvgl gif 库播放动画,但是动画卡顿,远没有在monica 项目中播放的 gif 动画流畅,可以分享一下monica项目中的 background.gif 文件资源嘛。

Can you share the PCB files?

Hey! I just discovered this project after seeing it linked by JLCPCB on their subreddit. Can you share the kicad files/the original pcb files as well? I saw you shared only manufacturing parts.
Thank you!

模型问题

模型无论是光固化还是激光烧结,都有可能有缝,而且文中提及的激光烧结可能还更严重点,两条缝,光固化反而只有一边,能提供源文件修改吗?修改完打印验证完再分享出来

为什么串口无log输出

为什么串口无log输出,我看sdkconfig中并没有关闭日志输出,是将输出重定向到别的地方了吗?

PSRAM报错

PSRAM报错,是bom表里的esp32 s3的型号写错了吧,s3是得带PSRAM吧。

能不能出教程!

海底撩大大真是太牛逼辣!

我想复刻一下,卑微的求个教程。
谢谢谢谢谢谢!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.