lupyuen/pinetime-rust-mynewt

Created Dec 24, 2020 · View the lupyuen/pinetime-rust-mynewt repository page

PineTime Smart Watch firmware based on Rust and Apache Mynewt OS

Want this for your repo?

Render a free sample of any GitHub repo in seconds.

Visualize your own →

Contributors

12

Lines of Code

42,694

From

Mar 18, 2019

To

Dec 22, 2020

About lupyuen/pinetime-rust-mynewt

This project provides a complete firmware implementation for the PineTime smart watch, combining Apache Mynewt OS with embedded Rust to create a functional and educational platform. The firmware runs on the nRF52832 processor and includes the MCUBoot bootloader, enabling secure wireless firmware updates over Bluetooth Low Energy using MCU Manager's Simple Management Protocol.

The system integrates the LVGL graphical user interface library for watch display rendering and supports Bluetooth LE services including time synchronization through the Current Time Service. A distinctive feature is support for custom watch faces written in Rust and published as standalone crates, allowing developers to create and share their own watch interfaces. The firmware provides comprehensive documentation and example articles demonstrating how to build watch faces, implement Bluetooth features, and manage the firmware update process.

The project is designed as an educational platform for learning embedded systems development, with particular emphasis on Rust in embedded contexts. It includes automated build systems using both GitHub Actions and GitLab CI, making firmware compilation accessible in the cloud. The repository contains build scripts for multiple platforms including Linux, macOS, and Windows, along with support for various debugging and flashing tools like ST-Link v2 and Raspberry Pi-based SWD interfaces, lowering barriers to entry for developers interested in smart watch development.

Share this video