TLDR: There’s a bug in all Model 100 firmware versions prior to 0.90.1 which can - and will - lead to corrupted keymaps and colormaps when adjusting them with Chrysalis. Please upgrade to at least Chrysalis 0.11.5, and the new firmware. Details below.
The Bug
I have just released version 0.90.1 of the firmware, fixing a bug in all past firmwares for the Keyboardio Model 100. The bug in question is triggered almost every time data larger than 64 bytes is sent to the keyboard over its virtual serial port - something that happens when Chrysalis saves anything. It also happens during Chrysalis’ flashing process, because that involves restoring EEPROM from a backup made at the start of the process. Symptoms of the bug are most visible on the keymap, because it tends to result in corrupted keymaps being stored on the keyboard, usually not on the first layer, but on layers 1 or 2.
Since this bug renders Chrysalis practically useless, upgrading the firmware is very strongly recommended. Upgrading will not undo the corruption, unfortunately. I’d strongly recommend resetting to factory defaults, to make sure that the data saved on the keyboard is as one would expect.
Upgrade Instructions
To make sure the keyboard is in a known good state, the best way to approach the upgrade is to do not only a firmware update, but a factory reset too. At the moment - until Chrysalis is updated to allow doing this in one step - this is a two step process.
Flashing the new firmware
Unfortunately, the firmware version the Model 100 ships with has some stability issues when trying to use it with Chrysalis, so we’ll have to take a few extra steps to ensure the firmware is updated.
- First, unplug your Model 100. We’re going to put it into programmable mode first.
- Press and hold the
Prog
key while plugging the keyboard in. Once the keyboard is plugged in, theProg
key should be lit up red, and you can release it. - Start up Chrysalis, and connect to the Model100:
- This will take you to a screen that says the firmware needs to be updated. Click the “Update firmware” button there:
- Arriving at the “Firmware Update” screen, press the “Update” button:
Do not enable the factory reset switch here, it does not work (yet) when the keyboard is in programmable mode at the start. - When the confirmation dialog pops up, just press “Continue”. You do not need to hold the
Prog
key, despite what the instructions say, because the keyboard is already in programmable mode.
- Once the flashing process completes, reconnect to your keyboard again, and visit the “Preferences” screen, and select “My Keyboard” there:
- Click the “Reset EEPROM to Factory Defaults” button, and confirm that you really do want to do that:
Once the EEPROM reset is complete (it should take about 10 seconds), your keyboard will be reset to factory defaults, running the latest firmware.
If you want to upgrade the firmware again in the future, you do not need to follow these steps anymore. You do not need to put your keyboard into programmable mode up front, you can just connect with Chrysalis, go to “Firmware updates”, and do the normal update procedure, without doing a factory reset. These steps are only required once, to go from the unfortunately buggy factory firmware to a fixed one.