Working with the Open Source MNT Reform Keyboard 4.0 on OpenSuSE
If you find any issues with the instructions then do not hesitate to create an issue hereChangelog
Date | Description |
---|---|
2025-06-28 | Initial tutorial showing how to upgrade the firmware under OpenSuSE Tumbleweed with cross-compiling |
Introduction
The MNT Reform Keyboard 4.0 is an open source hardware and software mechanical keyboard with LEDs manufactured
by the
German company MNT Research.
The keyboard uses only standard and open source components, so it is easy repairable.
You can use it as an external keyboard to any computer or as an embedded keyboard into MNT Research's own
laptops (e.g. MNT Reform, MNT Reform Pocket).
You can find the
- official manual for the MNT Reform Keyboard 4.0
- open source hardware specification for the MNT Reform Keyboard 4.0
- open source firmware for the MNT Reform Keyboard 4.0
The MNT Research team does not indicate any specific IDE to be used. If you do not have any preferred IDE then the Eclipse Theia IDE is a good starting point in all environments.
I will focus in this document on using it under OpenSuSE with an off-the-shelf x86-64 laptop.
Updating the Firmware with cross-compile
You may want to update the firmware of the keyboard either to have the latest features provided by MNT Research
or because you have implemented yourself new features (e.g. related to LEDs, a different layout etc.).
There is some documentation to do this (e.g. for the keyboard 4.0), but it does not take into account OpenSuSE or x86-64 architectures.
One challenge is that the firmware itself runs on a RP2040 and we want to here use an off-the-shelf laptop based on x86-64.
There is a simple solution to this: cross-compile. This sounds only complicated and is very easy if you follow
the instructions here.
First, we need to install some packages, such as compiler, that are needed to build the firmware:
Now we can clone the MNT Reform repository.
Afterwards we need to clone the Raspberry pico
sdk as it is an important dependency for the firmware.
The initialization of the submodules is important - otherwise you will see later compile issues. You will need
it as well if you update (git pull...) the pico-sdk repository.
Then, we can build the firmware.
Keep in mind that
- we build it for the standalone keyboard (KBD_MODE_STANDALONE) that you can connect to a PC and not for the MNT Reform laptop series
- we build it for the international keyboard version (KBD_VARIANT_INTL) and not the US variant
- we set the version of the firmware to the commit hash (shortened) of the HEAD of the repository. You may want to change this when you do local changes that are not committed. The version is shown on the keyboard screen when you press the Circle key + s
Execute the following commands
Now we can flash the firmware on the keyboard.
Connect the keyboard to your computer and press the Circle key + x. The keyboard allows now to flash the firmware.
Execute the following commands
Afterwards do not forget to check if the version is indeed the one you specified by pressing the Circle key + s. It should be shown on the keyboard screen.