# Hand-Drawn Watch Face for Rust + Mynewt on PineTime Smart Watch ![Hand-Drawn Watch Face for Rust + Mynewt on PineTime Smart Watch](watchface.png) [__Preview this Watch Face in your web browser__](https://lupyuen.github.io/handdrawn-watchface/lvgl.html) Hand-drawn Rust Watch Face for PineTime Smart Watch with LVGL and Mynewt... 1. Bluetooth LE Time Sync 1. Time only, no date 1. Digits rendered as bitmaps ([See the graphics assets](https://github.com/lupyuen/handdrawn-watchface/releases/tag/v1.0.0)) Built with [`pinetime-watchface`](https://crates.io/crates/pinetime-watchface) framework for watch faces. To select this watch face in the [`pinetime-rust-mynewt`](https://github.com/lupyuen/pinetime-rust-mynewt) firmware... 1. Add [`handdrawn-watchface`](https://crates.io/crates/handdrawn-watchface) to [`pinetime-rust-mynewt/rust/app/Cargo.toml`](https://github.com/lupyuen/pinetime-rust-mynewt/blob/master/rust/app/Cargo.toml) 1. Set `WatchFaceType` in [`pinetime-rust-mynewt/rust/app/src/lib.rs`](https://github.com/lupyuen/pinetime-rust-mynewt/blob/master/rust/app/src/lib.rs) ```rust /// Declare the Watch Face Type type WatchFaceType = handdrawn_watchface::HandDrawnWatchFace; ``` The bitmaps occupy 160 KB of ROM. To fit them into PineTime's 512 KB Flash ROM, the large title font needs to be removed from the PineTime firmware build, leaving only the small font. (No changes needed for the WebAssembly Simulator) To remove the title font from the PineTime firmware build, edit [`pinetime-rust-mynewt/libs/pinetime_lvgl_mynewt/lv_conf.h`](https://gitlab.com/lupyuen/pinetime_lvgl_mynewt/-/blob/master/lv_conf.h) and change... ```c #define LV_FONT_MONTSERRAT_48 1 ... #define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_48 ``` To... ```c #define LV_FONT_MONTSERRAT_48 0 ... #define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_24 ``` The WebAssembly Simulator for this watch face was auto-generated by a GitHub Actions Workflow: [`simulator.yml`](.github/workflows/simulator.yml) Source code for the WebAssembly Simulator is at the [`mynewt`](https://github.com/AppKaki/lvgl-wasm/tree/mynewt) branch of [`github.com/AppKaki/lvgl-wasm`](https://github.com/AppKaki/lvgl-wasm/tree/mynewt) Refer to the article... ["Create Your Own PineTime Watch Face in Rust... And Publish on crates.io"](https://lupyuen.github.io/pinetime-rust-mynewt/articles/watchface)