Coder Social home page Coder Social logo

p8-firmware's Introduction

p8-firmware

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.

TODOs:

In the future

  • Get heart rate sensor working
  • Implement main screen, and a framework for adding new screens
  • Switch to using LVGL fonts
  • Better activity estimation with heartrate sensor
  • Support reading from and writing to the flash chip

Changes over ATCWatch

  • 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)

p8-firmware's People

Contributors

0x416c6578 avatar jmjatlanta avatar

Stargazers

Nico avatar Xu Zewei avatar Andri avatar Dan Lipsitt avatar  avatar _m avatar Felix Biego avatar  avatar Evgeniy Voichenko avatar Ricardo de Azambuja avatar ssavva05 avatar Marcos Rios avatar  avatar loRe avatar Sam avatar Jeremy Clark avatar dapgo avatar

Watchers

 avatar  avatar  avatar

p8-firmware's Issues

Enhanced fonts - LVGL

LVGL fonts are mentioned in the README as a TODO. Has there been progress?

I would like (probably need) this for my project, and would be willing to take a stab at it, but I don't want to re-do something someone else has already done.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.