Building Model 100 firmware?

Are there/can we get instructions on how to build the Model 100 firmware, such that we produce the same bits that are distributed officially? That seems like a key baseline from which to start playing with firmware mods :slight_smile:

If you’re on macOS or Linux, the simplest way to compile the official firmware is:

$ git clone https://github.com/keyboardio/Chrysalis-Firmware-Bundle.git
$ cd Chrysalis-Firmware-Bundle
$ make setup
$ make

It may not produce the exact same bits, because this will pull the latest Arduino cores, which might be different than what the official firmware were built with, but it gets you pretty close. The sketch and the Kaleidoscope version will be the same as used for the official builds, however.

You can also run make update to update the dependencies.

Thanks, looks good! Generally speaking is it sufficient to sync to the corresponding version tag in Chrysalis-Firmware-Bundle in order to specifically build it, or are other steps needed?

Run a git submodule update after too, to pull in the Kaleidoscope it is tagged with. You can also make update to update the rest of the dependencies (the arduino core, in particular).

Okay, then how do I actually install the built firmware on the keyboard? I’m on Linux.

You can either use make flash, or Chrysalis. I’d suggest using Chrysalis, because that does a few extra steps to try and make sure things are proper.