Updated README.md file
Updated current progress status in the README.md file + started to add a getting started section describing the steps required to build and flash the W800_Smart_Watch firmware
This commit is contained in:
parent
a5d1c3dc49
commit
655a37404d
88
README.md
88
README.md
@ -5,14 +5,40 @@ I am also quite unhappy with the smartwatches that are on the market (expensive,
|
||||
I also wanted to test this W800 SOC more deeply and see what it could do and I think it is a perfect fit for the project.
|
||||
So let's go !
|
||||
|
||||
## Getting started :
|
||||
### So, you'd like to try this project yourself ?
|
||||
### Here are the steps to follow, to be able to build the firmware and flash the board :
|
||||
#### On Windows :
|
||||
1) Start by cloning the repository.
|
||||
**Put it in a path that doesn't contain any spaces** ie : C:\Users\Bob\Desktop\projects for example.
|
||||
2) Once cloning is done, you will need to install the [MSYS2](https://www.msys2.org/) tool/environment. This tool is need to compile the project using **Make**.
|
||||
3) Open a terminal by clicking on the **MSYS2** icon and execute the following commands to install :
|
||||
1) Update packages :
|
||||
```bash
|
||||
pacman -Syu
|
||||
```
|
||||
2) Install make :
|
||||
```bash
|
||||
pacman -S msys/make
|
||||
```
|
||||
3) Install automake :
|
||||
```bash
|
||||
pacman -S msys/automake
|
||||
```
|
||||
5) Install autoconf :
|
||||
```bash
|
||||
pacman -S msys/autoconf
|
||||
```
|
||||
|
||||
|
||||
## A Smart Watch project using the Chinese W800 SOC.
|
||||
The W800 is a pretty interesting chip with impressive characteristics for its price (around 1$) :
|
||||
### Core :
|
||||
* 32bit XT804 CPU
|
||||
* 240 Mhz frequency
|
||||
* 240 Mhz max clock
|
||||
### Memory :
|
||||
* 2 MB on chip flash
|
||||
* 288 KB RAM
|
||||
* 288 KB RAM, ~130 KB available to the user
|
||||
### Wireless connectivity :
|
||||
* Bluetooth EDR(Classic) and BLE 4.2
|
||||
* WiFi 2.4Ghz 802.11 b/g/n
|
||||
@ -40,7 +66,7 @@ Possible choices :
|
||||
* ~~A piezo buzzer~~ : dropped, maybe in next version.
|
||||
|
||||
## Power source :
|
||||
* 1 cell lipo 450 mAh battery.
|
||||
* A single 450 mAh cell lipo battery.
|
||||
* A charge/discharge controller.
|
||||
|
||||
## Screen + touch element :
|
||||
@ -89,49 +115,51 @@ using a magnetic 4 pin plug.
|
||||
||PB_11|**I/O**|I²S_DO/MMC_D3/HSPI_DO/SDIO_D3|U/D|**BMA456 IRQ 2 line**||
|
||||
||GND|P|Ground (Central Pad)||||
|
||||
|
||||
## What is done/working so far :
|
||||
|
||||
## What is done/working so far - HARDWARE :
|
||||
* Schematic :
|
||||
* First version of the schematic is done an available [here](design/Kicad/W800_Smart_Watch/W800_Smart_Watch.pdf).
|
||||
* PCB version 1.0 design is done based on the schematic. Waiting for the PCBs from JLCPCB.
|
||||
* Wake up interrupts handling :
|
||||
* Wrist tilt MCU wake up working
|
||||
* LCD touch wake up
|
||||
* MCU sleep feature :
|
||||
* Sleep and Standby modes working but implemented in a crude way.
|
||||
Can and should be improved.
|
||||
|
||||
## What is done/working so far - SOFTWARE :
|
||||
* LVGL 8.3.3 running on the SOC using DMA.
|
||||
* Supported LCD drivers :
|
||||
* ILI9341 in 4-line serial mode (8 bits) with D/C pin
|
||||
* ST7789 in 4-line serial mode (8 bits) with D/C pin
|
||||
* GC9A01 in 4-line serial mode (8 bits) with D/C pin
|
||||
* Supported LCD touch screen :
|
||||
* CST816D capacitive touch ic.
|
||||
* Three screens designed and working with LVGL :
|
||||
* CST816D I2C capacitive touch ic.
|
||||
* Four screens designed and working with LVGL :
|
||||
* 1 watch face based on a casio watch.
|
||||
* 1 menu list screen with icons.
|
||||
* 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.
|
||||
* Debug UART on PB_2 (output only)
|
||||
* Wake up interrupts handling :
|
||||
* Wrist tilt MCU wake up working
|
||||
* LCD touch wake up
|
||||
* Sensors/Actuators :
|
||||
* QMC5883L driver working
|
||||
* BMA456 driver working
|
||||
* BMP280 driver working (temperature + pressure)
|
||||
* BMP280 driver working (temperature + pressure + altitude)
|
||||
* 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.
|
||||
|
||||
## To do :
|
||||
* Write I2C drivers for the :
|
||||
* [X] BMA456
|
||||
* [X] Wrist tilt detection
|
||||
* [X] BMP280
|
||||
* [X] Temperature
|
||||
* [X] Pressure
|
||||
* [X] QMC5883L
|
||||
* [X] Write the init sequence for the GC9A01 LCD driver.
|
||||
* [X] Make LCD display + touch work.
|
||||
* [X] Design and test battery voltage sensing circuit -> voltage divider bridge because ADC input can sense 2.5V Max.
|
||||
|
||||
## To do - HARDWARE:
|
||||
* [ ] Add the MAX30102 Heart Rate Monitor to the current design.
|
||||
## To do - SOFTWARE
|
||||
* [ ] Finish to design the settings page.
|
||||
* [ ] Implement a good algorithm to handle adaptiv MCU clock to save power
|
||||
* [X] Test the charge circuit.
|
||||
* [X] Handle watch auto sleep feature with wake up on screen touch + wrist tilt (POC could be improved).
|
||||
* Design and test the :
|
||||
* [X] vibration motor circuit
|
||||
* [X] Draw the schematic, the first revision of the schematic is available [here](design/Kicad/W800_Smart_Watch/W800_Smart_Watch.pdf).
|
||||
* [X] Design the PCB (routing, placement etc..) on a 2 layer PCB - done.
|
||||
* [ ] Update the W800 SDK from version 1.00.08 to version 1.00.10 released in January of 2023.
|
||||
* [ ] Implement a good algorithm to handle adaptiv MCU clock
|
||||
to save power
|
||||
* Drivers:
|
||||
* [] Write/port the MAX30102 Heart Rate Monitor driver to the project.
|
||||
* [ ] Add a wake up alarm app (using the vibration motor).
|
||||
|
||||
|
||||
## Achieved power consumption recap:
|
||||
(Need to work on sleep current :-( )
|
||||
|
Loading…
Reference in New Issue
Block a user