From 392bc42f6469e04686ebcf8d4b3c4d418144b125 Mon Sep 17 00:00:00 2001 From: Th3maz1ng Date: Sat, 29 Apr 2023 08:45:09 +0200 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 49 +++++++++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 6479be8..4f09863 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # W800_Smart_Watch +![](http://82.64.196.164/images/git/W800_watch_header.png) ## Why this project : I was interested in working on a bigger project with more challenges and which could be useful. I am also quite unhappy with the smartwatches that are on the market (expensive, no access to the firmware, data collection and privacy issues), that's why I decided to try doing my own that I can fully customize. This is going to be a long adventure with a lot of discoveries along the way :). @@ -24,6 +25,33 @@ The W800 is a pretty interesting chip with impressive characteristics for its pr * BLE stack : NimBLE * TCP IP stack : lwip v2.1.3 +## W800 Smart Watch V1 specifications : +#### Sensors : +* A magnetometer (QMC5883L) used by the compass app for example +* An accelerometer (BMA456) to get wrist tilt detection (to wake the screen up), step counts, activity detection (standing, walking and running) and more. +* A pressure and temperature sensor (BMP280) used by the altimeter app for example. +* A heart rate sensor (MAX30102) is planned to be added (connection pads on the PCB, no driver written). +#### Screen and Actuators : +* A 1.28 inch touch screen is being used on the watch (GC9A01 screen controller). +* A vibration motor to notify the user of events. +* No physical buttons as everything can be done using the graphical interface. +#### Connectivity : +* The watch has BLE (4.2) connectivity which is used to connect to a phone using the GadgetBridge app to : + * control music playback - **to implement** + * find my phone feature - **to implement** + * report it's battery level + * report step counts - **to implement** + * display received text messages, emails and calls - **to implement** +* WiFi is also available but not used yet because I didn't find any good use case for it. It is also very power hungry. +#### Battery and Battery life: +* The battery currently used in this version of the watch is a 6mm x 25mm x 35mm (602535) single cell 500 mAh lipo battery (had one laying around). +* Using the current battery, expected battery life is : + * ~ 5 days in sleep mode. + * ~ 9 hours when continuously connected to BLE with the phone (I may be able to slightly improve power consumption in BLE mode - working on it). +#### Casing and docking station : +* The case of the watch is 3D printed and the STL files are available [here]() + + ## Getting started : ### So, you'd like to try this project yourself ? ### Here are the steps to follow, in order to build the firmware and flash the board : @@ -87,23 +115,6 @@ make down make flash ``` -## Sensors : -The goal is to embed the following sensors in the watch : -* An accelerometer (for wrist tilt detection, single and double tap detection , foot step counting and more) -Possible choices : - * ADXL345 - * MPU6050 - * BMI160 - * LSM6DS3 - * **BMA456** <-- **SELECTED** i2c addr : 0x18 or 0x19 7 bit address, has the wrist tilt detection feature. -* A magnetometer (possible choices): - * **HMC5883L** <-- After reading some comparison articles between the HMC5883L and QMC5883L and the datasheets, the later seems better in term of perfomances. - * **QMC5883L** <-- **SELECTED** i2c addr : 0x0D 7 bit address, better soldering footprint - * LSM303DLHC - * BMM150 <-- Package with balls, hard to solder -* An air pressure/temperature sensor (to display the altitude for example) - * **BMP280** <-- **SELECTED** i2c addr : 0x76 or 0x77 - ## Actuators : * A vibration motor to notify events to the user. * ~~A piezo buzzer~~ : dropped, maybe in next version. @@ -247,15 +258,13 @@ to save power * Vibration motor ✓ * Charge IC ✓ -### **To sort out :** +### ** Known issues :** * DW01A chip not driving the double N mosfet as expected (when plugging a battery, the watch doesn't start without beeing plugged into the charger at least once). Thought it might be a capacitor value issue, replaced C12 with a 82nf and 68nf caps, but it did not solve the problem :(. **TLDR : after installing the battery, the watch might need to be plugged to it's charger at least once to start up** * The new battery should have a size of **26.8x26.8 mm** maximum : 602626 (400 mAh) would be a good choice. ## Next steps : -* Finish to design and print the casing. -* Add BLE. * Write and release a usable firmware for every day use.