A firmware for the P8 smartwatch based off of the code from ATC1441.
Contributed documentation by jmjatlanta can be found here.
Other documentation and random info by 0x416c6578 can be found here.
Toolchain installation instructions for Linux can be found here.
This project is based on ATCwatch, a custom firmware for the p8 smartwatch. I did this project as a way to learn about embedded programming, and I have extensively commented / documented my code so that people can learn more about the architecture of ATCwatch (since I followed the same tight main
loop for control rather than a realtime OS like other projects use. Huge thanks to Aaron for all his work, I would have never have got this far on my own. This has been a great learning experience in writing efficient embedded C(++), and learning about the nRF SDK.
Due to the discontinuation of nrf52832-based p8 smartwatches, and a focus on University work, this project isn't currently worked on.
- Get heart rate sensor working
- Implement main screen, and a framework for adding new screens
- Switch to using LVGL fonts
- See https://0x416c6578.github.io/ for information about the switch to LVGL fonts
- Better activity estimation with heartrate sensor
- Support reading from and writing to the flash chip
- Faster text writing routine that writes an entire character's data into the LCD buffer before writing over SPI
- Writing integers to the display (both with and without preceding zeroes)
- Removed usage of C++ Strings, just because
- Activity monitor with approximate distance travelled
- Stopwatch implemented (works in background also)
- The app draw is different to ATCwatch, with a row of apps along the bottom, and buttons / swipes between them
- Device doesn't wakeup on wrist raise (increases battery life a bit)