Building Sensor Watch Firmware

Install the cross-compiling toolchain on Linux

  • Debian/Ubuntu: apt install gcc-arm-none-eabi libnewlib-arm-none-eabi

  • Archlinux: pacman -S arm-none-eabi-gcc arm-none-eabi-newlib

Other Linux:

  • Download the GNU ARM Embedded Toolchain for 64-bit Linux
  • Extract it: tar xjf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2
  • Add it to your PATH: export PATH="$PATH:/path/to/extracted/gcc-arm-none-eabi-10.3-2021.10/bin"

Note: if you want, you can add the above PATH export to your shell’s startup script to make it persist between shell invocations

Install the cross-compiling toolchain on MacOS

Note: if you want, you can add the above PATH export to your shell’s startup script to make it persist between shell invocations

Compile firmware

  • From within the repo:
  • cd movement/make
  • make COLOR=RED (for Sensor Watch Lite boards), or for classic green boards, just make

The built firmware will be at build/watch.uf2. You can now flash this firmware to your watch.

“I just want to pick my own set of watchfaces”

The list of included watchfaces can be found in the watch_faces array in movement/movement_config.h. Simply add, remove, and/or rearrange faces in this list to your liking and re-compile/re-flash your firmware.

You can also use the unofficial online firmware builder to build both the watch firmware and the emulator.