github.com/lupyuen/pinetime-rust-mynewt ↗
PineTime Smart Watch firmware based on Rust and Apache Mynewt OS
Open this visualization on its own page →
Contributors
12
Lines of Code
42,694
From
2019-03-18
To
2020-12-22
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.