Skip to content
/ watchful Public

Pinetime firmware using Embassy

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

lulf/watchful

Repository files navigation

CI

Watchful

(Anagram for ulfwatch)

Real Time Async Enterprise Watch OS written in Rust!

Firmware for Pinetime based on Embassy. The goal is to provide a firmware for the PineTime that is written in Rust and can function as watch OS.

PineTime on my arm running Watchful

Features

  • Basic UI with menus using embedded-graphics.
  • Automatically synchronizes time with using BLE standard Current Time Service.
  • Rollback to previous firmware if reset or crashing before new firmware is validated in watch UI.
  • Compatible with existing InfiniTime bootloader.

NOTE: Some features that has been removed after recent switch to mcuboot, but will be added again soon:

  • DFU: Implements Nordic DFU protocol so you can update from a phone app such as nRF Connect to perform firmware updates.

Getting started

If you have InfiniTime running already, it's easy to try out Watchful. You can use the same app you use to update InfiniTime to try out Watchful (such as GadgetBridge).

Pick the watchful-dfu.zip from the latest release and upload it to your watch. To revert back to InfiniTime, head into the menu -> settings -> reset, and mcuboot will do the rest.

Developing

The recommended way to develop Watchful is to get a PineTime Development Kit, to which you can connect a debug probe. For flashing and running with the debug probe, probe-rs is recommended.

To run Watchful:

cd firmware
cargo run --release --features panic-probe,baremetal

Recovering from older versions of Watchful

NOTE: If you've used watchful before, it now has switched from using embassy-boot to mcuboot as provided by default on InfiniTime. To achieve that, the nrf-softdevice has been replaced with trouble.

The infinitime-recovery app allows you to move from previous versions of Watchful to the new.

License

Code in tools/mcuboot are subject to mcuboot licensing.

Watchful is licensed under either of

at your option.