From 25b0e6432865daffb1dbfe4e31095d7f953472dc Mon Sep 17 00:00:00 2001 From: Th3maz1ng Date: Sun, 24 Sep 2023 13:07:47 +0200 Subject: [PATCH] Updated the readme document as some parts were not correct anymore --- README.md | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 6702943..447a80a 100644 --- a/README.md +++ b/README.md @@ -30,22 +30,22 @@ The W800 is a pretty interesting chip with impressive characteristics for its pr * 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). +* A heart rate sensor (MAX30102). #### 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** + * control music playback * find my phone feature * report its battery level * report step counts - **to implement** * display received text messages, emails and calls - **to implement** * show the weather forecast for the next 6 hours or so - **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. +* WiFi is also available but not used yet because I didn't find any good use case for it. It is also quite 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). +* The battery currently used in this version of the watch is a 6mm x 25mm x 35mm (602535) single cell 600 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). @@ -54,7 +54,7 @@ The W800 is a pretty interesting chip with impressive characteristics for its pr * The size of the watch's case is as follow : ![](http://82.64.196.164/images/git/W800_casing_size.png) * The thickness of the watch will be reworked in the next version of the casing, the goal is to shave 3 to 4 mm off to reach 12 to 13 mm. - * The watch weighs around 50 grams with the 500 mAh battery and the straps attached to it. + * The watch weighs around 50 grams with the 600 mAh battery and the straps attached to it. * It also has a docking station designed for it which is used to : * Recharge the W800 Smart Watch by simply putting the watch on it. The connection between the docking and the watch is done through a magnetic 4 pin connector. * Flash a new firmware to the watch. No extra programming hardware is required, only the docking is needed. @@ -128,7 +128,7 @@ make flash * Heart Rate and SpO2 sensor : **Max30102** I2C addr : 0x57 7 bit address. ## Power source : -* A single ~ 400 mAh cell lipo battery. +* A single ~ 600 mAh cell lipo battery. * A charge/discharge controller stage : * TP4056 * DW01A + 8205A @@ -200,16 +200,18 @@ using a magnetic 4 pin plug. * GC9A01 in 4-line serial mode (8 bits) with D/C pin <-- **this one is used**. * Supported LCD touch screen : * CST816D I2C capacitive touch ic. - * Four screens designed and working with LVGL : - * 1 watch face based on a casio watch. - * 1 menu screen with a list of icons. - * 1 setting screen with basic settings (date and time + display brightness) (work in progress). - * 1 compass application using the QMC5883L. + * Five screens designed and working with LVGL : + * A watch face based on a casio watch. + * A menu screen with a list of icons. + * A setting screen with basic settings (date and time + display brightness) (work in progress). + * A compass application using the QMC5883L. + * A find my phone screen which makes the device ring and vibrate (must be connected to watch using BLE through the GadgetBridge app). * Debug UART on PB_2 (**output only**) * Sensors/Actuators : * QMC5883L driver working * BMA456 driver working * BMP280 driver working (temperature + pressure + altitude) + * MAX30102 driver working * Battery voltage sense using ADC is working * Vibration motor controlled by PWM working * Update the W800 SDK from version 1.00.08 to version 1.00.10 released in January of 2023. @@ -226,19 +228,19 @@ using a magnetic 4 pin plug. * [ ] Implement a good algorithm to handle adaptiv MCU clock to save power * Drivers: - * [ ] Write/port the MAX30102 Heart Rate Monitor driver to the project. + * [X] Write/port the MAX30102 Heart Rate Monitor driver to the project. * [ ] Add a wake up alarm app (using the vibration motor). * [X] Add BLE functionality. ## Achieved power consumption recap: (Need to work on sleep current :-( ) -| Mode | Current draw | Estimated battery life (450 mAh lipo) | +| Mode | Current draw | Estimated battery life (600 mAh lipo) | |--------------------------|--------------|---------------------------------------| -|Active (40Mhz clk)
(No BLE / No WiFi) |~52 mA | ~8 hour | -|Active (240Mhz clk)
(No BLE / No WiFi) |~72 mA | ~6 hour | -|Sleep |~4.5 mA |~4 days and 4 hours | -|Standby |~1.8 mA |~10 days and 15 hours | +|Active (40Mhz clk)
(No BLE / No WiFi) |~52 mA | ~11 hour | +|Active (240Mhz clk)
(No BLE / No WiFi)|~72 mA | ~8 hour | +|Sleep |~4.5 mA |~5 days and 12 hours | +|Standby |~1.8 mA |~13 days and 15 hours | ## Some screenshots of the achieved visuals currently running on the watch using lvgl : ![](http://82.64.196.164/images/git/watch_graphics.png) @@ -257,10 +259,11 @@ to save power ## And the watch running : ![](http://82.64.196.164/images/git/W800_running.png) -### **Almost everything works :** +### **Everything works :** * BMA456 ✓ * BMP280 ✓ * QMC5883L ✓ +* MAX30102 ✓ * Screen + touch panel ✓ * CH340E for chip programming ✓ * Vibration motor ✓ @@ -270,7 +273,6 @@ to save power * 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 :** * Write and release a usable firmware for every day use. - **In active dev**