Edit README
- Fix markdown - Copy edits for spelling and grammar
This commit is contained in:
parent
b33ad92600
commit
381ac4d7da
24
README.md
24
README.md
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
*https://www.pine64.org/pinetime/*
|
*https://www.pine64.org/pinetime/*
|
||||||
|
|
||||||
The **Pinetime** smartwatch is built around the NRF52832 MCU (512KB Flash, 64KB RAM), a 240*240 LCD display driven by the ST7789 controller, an accelerometer, a heartrate sensor and a vibrator.
|
The **Pinetime** smartwatch is built around the NRF52832 MCU (512KB Flash, 64KB RAM), a 240*240 LCD display driven by the ST7789 controller, an accelerometer, a heart rate sensor, and a vibration motor.
|
||||||
|
|
||||||
The goal of this project is to design an open-source firmware for the Pinetime smartwatch :
|
The goal of this project is to design an open-source firmware for the Pinetime smartwatch :
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ The goal of this project is to design an open-source firmware for the Pinetime s
|
||||||
- Using **[LittleVGL/LVGL 6.1.2](https://lvgl.io/)** as UI library...
|
- Using **[LittleVGL/LVGL 6.1.2](https://lvgl.io/)** as UI library...
|
||||||
- ... and **[NimBLE 1.3.0](https://github.com/apache/mynewt-nimble)** as BLE stack.
|
- ... and **[NimBLE 1.3.0](https://github.com/apache/mynewt-nimble)** as BLE stack.
|
||||||
|
|
||||||
##Overview
|
## Overview
|
||||||
|
|
||||||
![Pinetime screens](images/0.7.0/montage.jpg "PinetimeScreens")
|
![Pinetime screens](images/0.7.0/montage.jpg "PinetimeScreens")
|
||||||
|
|
||||||
|
@ -23,16 +23,16 @@ As of now, here is the list of achievements of this project:
|
||||||
|
|
||||||
- Fast and optimized LCD driver
|
- Fast and optimized LCD driver
|
||||||
- BLE communication
|
- BLE communication
|
||||||
- Rich user interface via display, touchpanel and push button
|
- Rich user interface via display, touch panel and push button
|
||||||
- Time synchronisation via BLE
|
- Time synchronization via BLE
|
||||||
- Notification via BLE
|
- Notification via BLE
|
||||||
- Multiple 'apps' :
|
- Multiple 'apps':
|
||||||
* Clock (displays the date, time, battery level, ble connection status, heart rate and step count)
|
* Clock (displays the date, time, battery level, ble connection status, heart rate and step count)
|
||||||
* Heart rate
|
* Heart rate
|
||||||
* Motion
|
* Motion
|
||||||
* System info (displays various info : BLE MAC, build date/time, uptime, version,...)
|
* System info (displays various info: BLE MAC, build date/time, uptime, version, ...)
|
||||||
* Brightess (allows the user to configure the brightness of the display)
|
* Brightness (allows the user to configure the brightness of the display)
|
||||||
- Supported by 2 companion apps (developpments ongoing):
|
- Supported by 2 companion apps (developments ongoing):
|
||||||
* [Gadgetbridge](https://codeberg.org/Freeyourgadget/Gadgetbridge/src/branch/pinetime-jf) (on Android)
|
* [Gadgetbridge](https://codeberg.org/Freeyourgadget/Gadgetbridge/src/branch/pinetime-jf) (on Android)
|
||||||
* [Amazfish](https://openrepos.net/content/piggz/amazfish) (on SailfishOS)
|
* [Amazfish](https://openrepos.net/content/piggz/amazfish) (on SailfishOS)
|
||||||
- **[Experimental]** OTA (Over-the-air) update via BLE
|
- **[Experimental]** OTA (Over-the-air) update via BLE
|
||||||
|
@ -61,19 +61,19 @@ As of now, here is the list of achievements of this project:
|
||||||
|
|
||||||
## TODO - contribute
|
## TODO - contribute
|
||||||
|
|
||||||
This project is far from beeing finished, and there are still a lot of things to do for this project to become a firmware usable by the general public.
|
This project is far from being finished, and there are still a lot of things to do for this project to become a firmware usable by the general public.
|
||||||
|
|
||||||
Here a quick list out of my head of things to do for this project:
|
Here a quick list out of my head of things to do for this project:
|
||||||
|
|
||||||
- Improve BLE communication stability and reliability
|
- Improve BLE communication stability and reliability
|
||||||
- Improve OTA and MCUBoot bootloader
|
- Improve OTA and MCUBoot bootloader
|
||||||
- Add more functionalities : Alarm, chrono, configuration, activities, heart rate logging, games,...
|
- Add more functionalities : Alarm, chronometer, configuration, activities, heart rate logging, games,...
|
||||||
- Add more BLE functionalities : call notifications, agenda, configuration, data logging,...
|
- Add more BLE functionalities : call notifications, agenda, configuration, data logging,...
|
||||||
- Measure power consumption and improve battery life
|
- Measure power consumption and improve battery life
|
||||||
- Improve documentation, take better pictures and video than mine
|
- Improve documentation, take better pictures and video than mine
|
||||||
- Improve the UI
|
- Improve the UI
|
||||||
- Create companion app for multiple OSes (Linux, Android, IoS) and platforms (desktop, ARM, mobile). Do not forget the other devices from Pine64 like [the Pinephone](https://www.pine64.org/pinephone/) and the [Pinebook Pro](https://www.pine64.org/pinebook-pro/).
|
- Create companion app for multiple OSes (Linux, Android, IoS) and platforms (desktop, ARM, mobile). Do not forget the other devices from Pine64 like [the Pinephone](https://www.pine64.org/pinephone/) and the [Pinebook Pro](https://www.pine64.org/pinebook-pro/).
|
||||||
- Design a simple CI (preferably selfhosted and easy to reproduce).
|
- Design a simple CI (preferably self-hosted and easy to reproduce).
|
||||||
|
|
||||||
Do not hesitate to clone/fork the code, hack it and create pull-requests. I'll do my best to review and merge them :)
|
Do not hesitate to clone/fork the code, hack it and create pull-requests. I'll do my best to review and merge them :)
|
||||||
|
|
||||||
|
@ -84,6 +84,6 @@ Here are some people I would like to highlight:
|
||||||
|
|
||||||
- [Atc1441](https://github.com/atc1441/) : He works on an Arduino based firmware for the Pinetime and many other smartwatches based on similar hardware. He was of great help when I was implementing support for the BMA421 motion sensor and I²C driver.
|
- [Atc1441](https://github.com/atc1441/) : He works on an Arduino based firmware for the Pinetime and many other smartwatches based on similar hardware. He was of great help when I was implementing support for the BMA421 motion sensor and I²C driver.
|
||||||
- [Koen](https://github.com/bosmoment) : He’s working on a firmware based on RiotOS. He integrated similar libs than me : NimBLE, LittleVGL,… His help was invaluable too!
|
- [Koen](https://github.com/bosmoment) : He’s working on a firmware based on RiotOS. He integrated similar libs than me : NimBLE, LittleVGL,… His help was invaluable too!
|
||||||
- [Lup Yuen Lee](https://github.com/lupyuen) : He is everywhere : he works on a Rust firmware, buils a MCUBoot based bootloader for the Pinetime, design a Flutter based companion app for smartphones and write a lot of articles about the Pinetime!
|
- [Lup Yuen Lee](https://github.com/lupyuen) : He is everywhere: he works on a Rust firmware, builds a MCUBoot based bootloader for the Pinetime, designs a Flutter based companion app for smartphones and writes a lot of articles about the Pinetime!
|
||||||
|
|
||||||
*If you feel like you should appear on this list, just get in touch with me or submit a PR :)*
|
*If you feel like you should appear on this list, just get in touch with me or submit a PR :)*
|
||||||
|
|
|
@ -24,17 +24,17 @@ As I said in the introduction, the datasheet will be your bedside book during yo
|
||||||
|
|
||||||
The schematic of your board (the Pinetime schematics in this case) will also be very important, as you'll need to know how the LCD controller is physically connected to the MCU.
|
The schematic of your board (the Pinetime schematics in this case) will also be very important, as you'll need to know how the LCD controller is physically connected to the MCU.
|
||||||
|
|
||||||
How to read the datasheet? I recommand to read it from the beginning to the end (no joke) at least once. You certainly do not need to read everything in details, but it's good to know what information is available and where in the document. It'll be very useful during the developpment phase.
|
How to read the datasheet? I recommend to read it from the beginning to the end (no joke) at least once. You certainly do not need to read everything in details, but it's good to know what information is available and where in the document. It'll be very useful during the development phase.
|
||||||
You'll want to read some part with more attention :
|
You'll want to read some part with more attention :
|
||||||
- Data color coding in 4-Line Serial Interface : how to send the pixel to be display to the controller
|
- Data color coding in 4-Line Serial Interface : how to send the pixel to be display to the controller
|
||||||
- Display Data Ram : how is the memory organised
|
- Display Data Ram : how is the memory organized
|
||||||
- Power On/Off sequence
|
- Power On/Off sequence
|
||||||
- System function commands : all the commands you can send to the controller.
|
- System function commands : all the commands you can send to the controller.
|
||||||
|
|
||||||
## One Pixel at a time
|
## One Pixel at a time
|
||||||
|
|
||||||
|
|
||||||
## Bulk transfert
|
## Bulk transfers
|
||||||
|
|
||||||
## DMA
|
## DMA
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user