Giter Site home page Giter Site logo

smotlaq / open-watch Goto Github PK

View Code? Open in Web Editor NEW
159.0 4.0 24.0 44.43 MB

An open-source handmade smartwatch. All of the codes, PCBs and schematics are available. ⌚

License: MIT License

C 82.80% Makefile 2.78% HTML 3.02% Assembly 0.18% Java 3.60% CMake 0.01% C++ 7.61%
smart-watch iot stm32 arm hc-05 stm32f030 bluetooth watch pcb max30102

open-watch's Introduction

Contributors Forks Stargazers Issues MIT License

Table of Contents
  1. About The Project
  2. Donation
  3. Components
  4. Roadmap
  5. Pictures
  6. Results
  7. License
  8. Refereces
  9. Contact

About The Project

Welcome to Open-Watch ✋🏻😃 a wearable device for health monitoring and fitness tracking.

Special thanks to PCBWay for sponsoring us on this open-source project and providing these awesome 4-layer PCBs! Open-Watch is an open-source smartwatch project developed for our B.Sc. final thesis. This smartwatch can measure the linear acceleration of your hand, rotational speed, heart rate, and SpO2 (oxygen saturation). All of these data will be processed by an STM32 processor with an ARM Cortex-M core. You can find these essential components here.

MPU6050 was used for IMU purposes. We use the Kalman filter to reduce the noise effect and extract clean data from the sensor (3-axis linear acceleration, 3-axis rotational velocity, and 3-axis rotation angle).

MAX30102 is the sensor used for health care purposes. We just read raw data and devolve the processes to the smartphone.

Open-watch will send these collected data to a smartphone via a Bluetooth module. On the smartphone side, an Android app reads the data from Bluetooth and processes them. For health care applications like heart rate and SpO2 analysis, we use ML-based algorithms to extract these parameters from raw data read from the pulse-oximeter sensor. In this section a real-time algorithm for analysis of photoplethysmography signal (PPG) for measurement of SpO2 will be implemented.

The final valuable data will be shown on a smartphone as well as the smartwatch screen.

(back to top)

Donation

Do you want to support us in this project?

Buy me a Coffee

(back to top)

Components

(back to top)

Roadmap

  • Hardware design
    • Microcontroller
    • Vibration motor
    • Bluetooth
    • Buzzer
    • Touch keys
    • Charger
    • PPG sensor
    • MPU6050
  • PCB design
  • PCB Ordering
  • Body design
  • 3D print
  • Soldeing
  • Firmware programming
    • RTC
    • Alarm
    • Bluetooth commands
    • Vibration waves
    • Buzzer
    • OLED
      • UI/UX
    • Touch buttons
    • Battery level indicator
    • MPU6050
      • Get raw data
      • Kalman filter
      • Movement detection
    • PPG sensor
      • Get raw data
      • Transfer data using Bluetooth
  • Android programming
    • Get blutooth data
    • UI/UX
    • Plot the raw PPG signals
    • PPG data analysis
      • Heartbeat
      • SpO2
  • Assembling
  • Final test 😎

See the open issues for a full list of proposed features (and known issues).

(back to top)

Pictures

OpenWatch

PCB Overview

PCB - 2D

PCB - 3D

PCB - Real

(back to top)

Star history

Star History Chart

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Refereces

Dataset:

MIMIC-III Database (https://mimic.mit.edu)

[1] Johnson, A., Pollard, T., & Mark, R. (2016). MIMIC-III Clinical Database (version 1.4). PhysioNet. https://doi.org/10.13026/C2XW26.

[2] Moody, B., Moody, G., Villarroel, M., Clifford, G., & Silva, I. (2020). MIMIC-III Waveform Database (version 1.0). PhysioNet. https://doi.org/10.13026/c2607m

[3] Kemp, J., Zhang, K., & Dai, A. (2020). MIMIC-III - SequenceExamples for TensorFlow modeling (version1.0.0). PhysioNet. https://doi.org/10.13026/n2v5-5b32.

Main references:

[1] Kiyasseh et al, CLOCS: Contrastive learning of cardiac signals across space, time, and patients, In Proc. ICML 2021

[2] Torres-Soto, J., Ashley, E.A. Multi-task deep learning for cardiac rhythm detection in wearable devices. npj Digit. Med. 3, 116 (2020). https://doi.org/10.1038/s41746-020-00320-4

[3] El Hajj C, Kyriacou P.A. Cuffless blood pressure estimation from PPG signals and its derivatives using deep learning models, Biomedical Signal Processing and Control. 70 (2021) https://doi.org/10.1016/j.bspc.2021.102984

[4] Solà, J., & Delgado-Gonzalo, R. (2019). The Handbook of Cuffless Blood Pressure Monitoring: A Practical Guide for Clinicians, Researchers, and Engineers. The Handbook of Cuffless Blood Pressure Monitoring. https://doi.org/10.1007/978-3-030-24701-0

(back to top)

Contact

Salman AmiMotlaq - @SMotlaq - [email protected]

Seyedmohammadsaleh Mirzatabatabaei - @seyedsaleh - [email protected]

Amirhossein Aghajari - @Aghajari - [email protected]

Project Link: https://github.com/SMotlaq/open-watch

(back to top)

open-watch's People

Contributors

aghajari avatar seyedsaleh avatar smotlaq 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

open-watch's Issues

manual

hello, cool project, will there be any video instructions on the assembly and functionality of this project?

For powesaving idee

Add like a sleep timer for the oled lets say 1 minuut no interaction it turns on oled sleep mode
#idee

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.