I’m not a programmer. You could call me a motivated tinkerer. From the detailed help guides, I was able to download, modify, and flash the latest Keyboardio firmware. Is there a way to update my firmware without losing my keymaps and plugin additions? Is this something that I should be doing as the firmware is updated? I haven’t been able to figure this out on my own.
You can have your own Model01_Firmware.ino, which is the main file for the “sketch” (the Arduino parlance for the firmware project). This file is where all your customizations will be, while “updating the firmware” will probably mean updating all the Kaleidoscope libraries that your Model01_Firmware.ino uses.
Hopefully that makes some kind of sense…this thread may be of some use to you. Basically, you’ll have the Arduino-Boards repository, which contains all the Kaleidoscope firmware libraries that you can periodically update and your own Model01_Firmware.ino, which is the file that you’ll compile & upload to your keyboard (and which will
#include the various libraries you need, pulling them from the Arduino-Boards repository).
As long as your keyboard is working the way you want it to, there’s really no reason to update it. Most of the compatibility and security reasons we keep software up to date don’t apply to the Model01’s firmware. It doesn’t have a network interface, it doesn’t run on an operating system, and its communication protocols are very, very stable.
That said, don’t let me discourage you from updating the software. Exactly how you do it depends on whether you’re using the Arduino boards manager (≈ the GUI) or git (≈ the CLI).