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
- Download the GNU ARM Embedded Toolchain for 64-bit MacOS
- Double-click the installer and follow the prompts to install the toolchain
- Add the toolchain to your PATH:
export PATH="$PATH:/Applications/ARM/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 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:
make BOARD=X DISPLAY=y
, with X and Y replaced with the following:- For Sensor Watch Pro boards
make BOARD=sensorwatch_pro
- For Sensor Watch Lite boards
make BOARD=sensorwatch_red
- For classic green or blue boards,
make BOARD=sensorwatch_green
ormake BOARD=sensorwatch_blue
- If you are using the original LCD that came with the Casio, add
DISPLAY=classic
- Otherwise, add
DISPLAY=custom
- For Sensor Watch Pro boards
The built firmware will be at build/firmware.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_config.h
. Simply add, remove, and/or rearrange faces in this list to your liking and re-compile/re-flash your firmware.
An official web-based builder for Second Movement, forked from the previous unofficial online firmware builder, is forthcoming. Watch this space.