Search | Running | Sailfish OS | All Posts | About Me

Compiling a Sensor Watch Pro firmware on FreeBSD

October 31, 2025 — Nico Cartron

Writing this article following my previous one about the "regular" Sensor Watch firmware.

I recently bought and assembled a Sensor Watch Pro, and compiling a firmware on FreeBSD has a few differences, so as usual I'm documenting it here for me, but might be useful to others.

Git clone

When first trying to compile, I had error messages about the gossamer folder, which was indeed empty... whereas the original one on Github was not... but was also a submodule: gossamer @ eb8e7d6

So I had to clone the repo using --recurse-submodules:

git clone --recurse-submodules https://github.com/joeycastillo/second-movement.git

Prerequisites

You still need the sames packages, i.e.:

  • python
  • arm-none-eabi-binutils
  • arm-none-eabi-newlib
  • gcc-arm-embedded

PATH

For some reason, when using the previous export command, gmake would complain, so I had to specify the folder for gcc-arm-embedded without symlink, i.e.:

export PATH=$PATH:/usr/local/gcc-arm-embedded-14.2.rel1/bin

Choosing the watchfaces

That did not change, you need to edit the movement_config.h file, and inside the watch_faces array, specify the watchfaces you want.

Compiling

Finally, we ready to compile!

Compared with the Sensor Watch, the BOARD name is sensorwatch_pro, and if you're sporting the new CUSTOM LCD, you need to specify it (otherwise you still need to pass the DISPLAY parameter, but as classic).

gmake BOARD=sensorwatch_pro DISPLAY=custom

There we go, you now have a custom firmware in build/firmware.uf2, all you have to do is upload it using the USB connection.


Tags: BSD


I don't have any commenting system, but email me (nicolas at ncartron dot org) your comments!
If you like my work, you can buy me a coffee!