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

Install the cross-compiling toolchain on Windows

  • Download the GNU ARM Embedded Toolchain for Windows

  • Install

  • On the final screen choose the option to add to path

  • if you dont, then the readme has instructions to set the path

  • Download GnuCoreUtilities

  • Install and add to path

  • set PATH="C:\Program Files (x86)\GnuWin32\bin";%PATH%

  • Create an alias

  • doskey gmkdir="C:\Program Files (x86)\GnuWin32\bin\mkdir" $*

  • Download GnuMake

  • Install and add to path

  • set PATH="C:\Program Files (x86)\GnuWin32\bin";%PATH%

  • Download Python

  • Install and add to path

  • Create an alias

  • doskey python3="C:\Users\dgran\AppData\Local\Programs\Python\Python312\python" $*

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.

Last modified November 22, 2023: Update building.md (b147462)