DIY_SmartWatch_S3

news2024/11/15 14:10:21

​​​​​

简介:成熟的智能手表方案DIY;采用乐鑫ESP32-S3,支持蓝牙和WIFI。240x280彩色LCD触摸屏;内置9D运动睡眠传感器,支持SPI接口扩展在线心率,血氧等健康传感模组;支持USB TypeC;

开源协议: TAPR Open Hardware License

描述

项目说明

学以致用;自己做一个智能手表,平时既可自己戴;还可用自己所学技能,想怎么改就怎么改;是不是很好玩?这就是我们这个项目的目标!

提供完整的可实用外观结构,通过开源方式,软件和硬件方面提供长期更新支持,帮助智能穿戴设备的兴趣爱好者定制一款属于自己的健康智能手表。

开源协议

 OHL

项目相关功能

         

           项目采用乐鑫ESP32-S3作为主控,支持蓝牙和WIFI通信;待机时,仅运行ESP32-S3内置低功耗RISV-V处理器,保持电池长续航。240x280彩色LCD触摸屏;内置9D运动睡眠传感器,持续在线心率,血氧和血压趋势监测等功能;支持标准USB TypeC充电接口,同时通过此TypeC接口支持外扩其它附件传感器,比如心电,脑电,肌电,呼吸,体脂,人体阻抗,体温,血压等,为各种新的穿戴前沿技术提供硬件接口,软件算法评估与测试平台。

项目属性

自主原创,支持自由复制和修改。

项目进度

2023年6月-7月,立项开始设计外形CAD结构,原理图与PCB,已完成。

2023年7月-8月,PCBA打样,申请PCB/SMT打样耗材,外形3D打印确认,已完成。

2023年8月-9月,软件调试,申请CNC耗材,正在进行中。目前已完成9D传感,LCD触摸,电池充放电等驱动和BLE/WIFI联网调试;LVGL相关GUI框架移植成功,LCD触摸已点亮。

2023年9月以后,优化整机用户体验,尤其是UI等功能。

设计原理

             

         如图所示,项目以乐鑫ESP32-S3为主控,支持WIFI&Bluetooth 5(LE)网络连接;通过I2C总线接口外接9D运动传感,触摸屏和充放电管理单元;一个SPI接口支持240x280彩色LCD屏幕;另一个SPI接口外接健康数据采集单元,实现心率,血氧等人体健康功能。

             提供一个多功能外部按键,实现开关机,Home和长按复位等功能。            

             设备支持USB Debug功能;借助于Type C USB接口的兼容性,亦支持扩展接入其它硬件传感器:比如测量心电/肌电/脑电或阻抗所必需的电极;或者压电/阻传感器等各种新的穿戴前沿技术硬件接口。

软件说明

项目ESP32-S3手表固件基于乐鑫ESP-IDF v5.2开发框架设计,可以基于范例esp-idf\examples\peripherals\lcd\spi_lcd_touch来移植调试:

1> 硬件驱动移植:

A> 针对GUI,以及相关的屏、触摸和按键,修改组件依靠文件idf_component,添加如下内容:

qOYbqFoC20LZF1q9eRijwrrqVioLoDUSwxTj0mno.png

B> 修改相关硬件IO配置,如下内容:

d7Y47aWynsBkVv8K6xZ2aGJ0nKOjVS6YzeQJ4GGY.png

C> 通过idf.py menuconfig配置工程预定义:

2uWUTxazLfdhQvE9MuUwsbd49rzDnA5Ui5PUQpey.png

2> 设计UI:

使用UI设计工具SquareLine Studio 1.3.3设计好UI,并生成代码。

A> 修改CMakeLists.txt文件,将生成的代码导入编译工程:

f16LdGjbjtJruJ3TtpLnpksQn67AOjOzAU9q3NC2.png

B> 如下图,修改并添加UI入口函数并编译工程:

oDjhAfsHhM4detKfaUzsrqysD8A2r8sYOtAQxoda.png

C> 调试运行Logo图示:

oG8yUXkDhTY68q8I4pu56SI2xDa98La2OjtT51F4.png

EpdlUAv974yhZrvQi2hS7Y9Yg2XsHUOiG9P96FvT.png

D> 软件调试现场图:

实物展示

手表图1:

手表图2: 

PCB主板:

手表结构实物:

其他

1> 附DEMO软件源代码

2> 附屏幕测试DEMO视频 

设计图

  • Main
  • USB-RS232_DEBUG

原理图

  • MCU_RF

    在编辑器中打开
  • MCU_RF

    在编辑器中打开

PCB

  • diyWatchESP32S3

    在编辑器中打开
  • diyWatchESP32S3

    在编辑器中打开

BOM

BOM下载在立创商城下单

NoQuantityDeviceDesignatorFootprintValueManufacturer PartManufacturerSupplier PartSupplier
11RFANT3216120A5TU18FILTER-SMD_1206-2P-L3.2-W1.6-LRFANT3216120A5TWalsin(华新科)C127629LCSC
25TEST_PADT2,T12,T9,T8,T7PAD_TEST_C12X12
33?C6,C19,C46C0402?
415?C7,C15,C28,C38,C39,C27,C34,C37,C23,C18,C20,C14,C16,C71,C70C0402?
512?C22,C29,C35,C36,C2,C4,C3,C5,C31,C32,C48,C47C0402?
62?C17,C24C0402?
74?R31,R4,R10,R3R0402?
81SDCL1005C4N7STDFL3L0402SDCL1005C4N7STDFSunlordC13595LCSC
91?C11C0402?
101ESP32-S3(FN8)U5QFN-56_L7.0-W7.0-P0.40-TL-EP4.0ESP32-S3(FN8)ESPRESSIF 乐鑫C2913196LCSC
112?R32,R25R0402?
121BWIPX-4-001ERF1IPEX-SMD_BWIPX-4-001EBWIPX-4-001EBAT WIRELESSC784401LCSC
132?C30,C45C0402?
141?R33R0402?
151X201632MMB4SIX1OSC-SMD_4P-L2.0-W1.6-BLX201632MMB4SIYangxing TechC383840LCSC
161GD25Q64CWIGRU8WSON-8_L6.0-W5.0-P1.27-BL-EPGD25Q64CWIGRGigaDevice Semicon BeijingC395511LCSC
172?R1,R8R0402?
1811.27T-2AWCN1PADS_127_2PBOOMELE
192RS3236-3.3YUTDN4U6,U4XDFN-4_L1.0-W1.0-P0.65-BL-EPRS3236-3.3YUTDN4JiangsuRUNICTechC379350LCSC
201DF57H-2P-1.2V(21)CN3DF57H-2P-1.2V(21)DF57H-2P-1.2V(21)HiroseC202104LCSC
211BQ24157YFFRU15DSBGA-20_L2.1-W2.0-R4-C5-P0.40-BLBQ24157YFFRTI(德州仪器)C181581LCSC
221MWTC252010S1R0MTL2IND-SMD_L2.5-W2.0_YXMBL252010P1uHMWTC252010S1R0MTSunlord(顺络)C2840991LCSC
231?C33C0402?
241?R7R0402?
252GRM188C80J106KA73DC49,C50C060310uFGRM188C80J106KA73DmuRata(村田)C385035LCSC
261TYPEC-325-ACP24SC08USB2USB-C-SMD_XUNPU_TYPEC-325-ACP24SC08TYPEC-325-ACP24SC08XUNPU(讯普)C2840401LCSC
271?R9R0402?
281CW2015CTCCU10CW2015CTCCCW2015CTCCCellwise(赛微)C881838
291?R6R0402?
301LSM6DS3TR-CU3LGA-14_L3.0-W2.5-P0.50-TLLSM6DS3TR-CST(意法半导体)C967633LCSC
312?R13,R14R0402?
321LPS22HBTRU1HLGA-10L_LPS22HBTRLPS22HBTRSTMicroelectronicsC94049LCSC
331QMC6310UU19LGA-8_L1.2-W1.2-P0.40-R3-C3-TLQMC6310UQST(上海矽睿)C669299LCSC
341BM20B(0.8)-20DS-0.4V(51)CN8CONN-SMD_BM20B-0.8-20DS-0.4V-51BM20B(0.8)-20DS-0.4V(51)HRS(广濑)C424535LCSC
352?R23,R5R0402?
362?R24,R11R0402?
371MotorCN5PADS_127_2PBOOMELE
382MMBT3904T_C61616Q1,Q2SOT-523-3_L1.6-W0.8-P1.00-LS1.6-BRMMBT3904TCJ(江苏长电/长晶)C61616LCSC
391SD6210AU2SOT-23-6_L2.9-W1.6-P0.95-LS2.8-BLSD6210ASHOUDING(首鼎半导体)C250809LCSC
401CAP_0603C12C06032.2uF
412CAP_0603C26,C13C060310uF
421?R15R0402?
431BAT54CTD6SOT-523-3_L1.6-W0.8-P1.00-LS1.6-BRBAT54CTCJ(江苏长电/长晶)C77320LCSC
441TP5001P3Q3X1-DFN1006-3_L1.0-W0.6-BRTP5001P3TECHPUBLIC(台舟)C2827727LCSC
451?R16R0402?
462?R17,R21R0402?
472?R19,R20R0402?
481RT9829GQWU17DFN-8_L2.0-W2.0-P0.50-TLRT9829GQWRICHTEK(立锜)C3031687LCSC
491TCF3QRSW1KEY-SMD_TCF3QRTCF3QR圜达C495937LCSC
501YXT-BB10-16S-02CN7CONN-SMD_YXT-BB10-16S-02YXT-BB10-16S-02YXT(益鑫通)C2763964LCSC

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1420424.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第4章 数据表示与特征工程

目录 1. 分类变量1.1 One-Hot编码(虚拟变量)检查字符串编码的分类数据 1.2 数字可以编码分类变量 2. 分箱、离散化、线性模型与树3. 交互特征与多相似特征4. 单变量非线性变换总结(2~4)5. 自动化特征选择5.1 单变量统计5.2 基于模…

[GN] 设计模式—— 创建型模式

文章目录 创建型模式单例模式 -- 确保对象唯一性例子优化饿汉式懒汉式 优缺点使用场景 简单工厂模式例子:优化优缺点适用场景 工厂方法模式 -- 多态工厂的实现例子优缺点优化适用场景 抽象工厂模式 -- 产品族的创建例子优缺点适用场景 总结 创建型模式 单例模式 –…

2024年新提出的算法:(凤头豪猪优化器)冠豪猪优化算法Crested Porcupine Optimizer(附Matlab代码)

本次介绍一种新的自然启发式元启发式算法——凤头豪猪优化器(Crested Porcupine Optimizer,CPO)。该成果于2024年1月发表在中科院1区SCI top期刊Knowledge-Based Systems(IF 8.8)上。 1、简介 受到凤头豪猪(CP)各种…

驼背的危害,远比您能想到的还要多!

现在的年轻人才20多岁的年纪,就拥有了80多岁的腰椎。 不同于老年人由于骨质疏松而引发的驼背,年轻人驼背大部分是因为工作或学习中长期不正常坐姿导致,也称姿势性驼背。 我们日常工作的时候,习惯性的肩膀前倾去工作,导…

【amis低代码前端框架】vue2集成百度低代码前端框架amis

什么是amis:amis 是一个低代码前端框架,它使用 JSON 配置来生成页面,可以减少页面开发工作量,极大提升效率。 第一步:下载amis 命令行内执行以下命令下载安装amis npm i amis第二步:下载完毕amis后 将nod…

[React源码解析] Fiber (二)

在React15及以前, Reconciler采用递归的方式创建虚拟Dom, 但是递归过程不可以中断, 如果组件的层级比较深的话, 递归会占用线程很多时间, 那么会造成卡顿。 为了解决这个问题, React16将递归的无法中断的更新重构为异步的可中断更新, Fiber架构诞生。 文章目录 1.Fiber的结构2…

在Windows11的WSL上运行Llama2-7b-chat 下

上一篇博客讲了我跑Llama的demo的心路历程(上一篇博客传送门),这篇我们主要是讲下怎么配置。 快速开始 使用Linux、Linux、Linux,重要的事情说三遍,如果你和我一样懒得安装双系统,那么在Windows下安装一个…

java组装复杂的map结构

如下图数据库查出来的记录要组装成如下图所示的map结构。 直接上代码 package com.rt.test.other;import org.apache.commons.lang.StringUtils;import java.util.*;public class TestMap {public static void main(String[] args) {Map<String,String> mapnew LinkedHa…

vue 使用 v-viewer 用于图片浏览的Vue组件,支持旋转、缩放、翻转等操作,基于viewer.js。

作者连接 npm&#xff1a; npm install v-viewerlegacy viewerjs main.js 引入&#xff1a; // 引入Viewer插件 import VueViewer, { directive as viewerDirective } from v-viewer; // 引入Viewer插件的图片预览器的样式 import viewerjs/dist/viewer.css; // 使用Viewer图片…

深入Pyecharts:桑基图绘制与炫酷效果实战【第38篇—python:桑基图】

文章目录 深入Pyecharts&#xff1a;桑基图绘制与炫酷效果实战桑基图简介安装 Pyecharts简单桑基图的绘制自定义桑基图的炫酷效果高级样式定制 多组数据桑基图的展示动态桑基图的绘制结合真实数据的桑基图案例导出和分享进阶应用&#xff1a;桑基图与其他图表的组合总结 深入Py…

【Java】创建一个SpringBoot项目

软件版本&#xff1a;IDE专业版 一、创建 创建项目时&#xff0c;要注意的有下面几点 1、 为了使用JDK1.8&#xff0c;我们在创建时用阿里云国服&#xff0c;将Server URL &#xff1a; https://start.spring.io/ 或者http://start.springboot.io/更改为&#xff1a;https:/…

Linux-正则表达式

1.正则表达式的定义&#xff1a; 正则表达式通常用于判断语句中&#xff0c;使用字符串描述、匹配一系列符合某个规则的字符串。 正则表达式是由普通字符与元字符组成。 普通字符包括小写字母、数字、标点符号及一些其他符号。元字符是指在正则表达式中具有特殊意义的专用字符&…

redis 极简分布式锁实现

写在前面 工作中遇到&#xff0c;整理 reids 做简单分布式锁的思考博文适合刚接触 redis 的小伙伴理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&#xff0c;永不停息。所有其它的路都是…

二百二十一、HiveSQL报错:return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

一、目的 在运行HiveSQL时&#xff0c;执行报错 tatement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask 二、在yarn上查看任务报错 The required MAP capability is more than the supported max container capability in t…

springboot3+vue支付宝在线支付案例-解决跨域请求的问题

springboot3vue支付宝在线支付案例-解决跨域请求的问题&#xff01;为了使用外网地址&#xff0c;跨域请求业务接口。我们需要设置一个类。配置一下。 我们采用的方案是。借助于 WebMvcConfigurer package com.example.demo.config;import org.springframework.context.annot…

MySQL前百分之N问题--percent_rank()函数

PERCENT_RANK()函数 PERCENT_RANK()函数用于将每行按照(rank - 1) / (rows - 1)进行计算,用以求MySQL中前百分之N问题。其中&#xff0c;rank为RANK()函数产生的序号&#xff0c;rows为当前窗口的记录总行数 PERCENT_RANK()函数返回介于 0 和 1 之间的小数值 selectstudent_…

Git安装,Git镜像,Git已安装但无法使用解决经验

git下载地址&#xff1a; Git - 下载 (git-scm.com) <-git官方资源 Git for Windows (github.com) <-github资源 CNPM Binaries Mirror (npmmirror.com) <-阿里镜像&#xff08;推荐&#xff0c;镜…

Android studio打包apk比较大

1.遇到的问题 在集成linphone打包时发现有118m&#xff0c;为什么如此之大额。用studio打开后发现都是c不同的pu架构。 2.解决办法 增加ndk配置&#xff0c;不选配置那么多的cpu结构&#xff0c;根据自己需要调整。 defaultConfig { applicationId "com.matt.linphoneca…

线性代数---------学习总结

线性代数之行列式 行列式的几条重要的性质 1.某两行某两列交换位置之后&#xff0c;值变号 2.行列式转置&#xff0c;值不变 3.范德蒙德行列式&#xff0c;用不同行的公比做一系列的累乘运算 4.把某一行的行列式加到另一行上&#xff0c;利用他们之间的倍数关系&#xff0…

(十)springboot实战——springboot3下的webflux项目mysql数据库事务处理

前言 WebFlux 是 Spring Framework 5.0 中引入的一种新型反应式编程模型&#xff0c;支持非阻塞 I/O&#xff0c;适用于高并发、高吞吐量的应用程序。在 WebFlux 应用程序中使用事务需要注意以下几点。使用 Reactive R2DBC&#xff1a;WebFlux 支持使用 Reactive R2DBC 访问关…