Creating a firmware for the Mysterium keyboard with OLED support (REVISITED)

November 2, 2024 - Reading time: 2 minutes

After creating my own firmware for the Mysterium keyboard with OLED support I noticed that one key (< > |) did not work. Of course! I missed that he default keymap was for ANSI keyboards and my keyboards are ISO keyboards. 🤦

The https://github.com/vial-kb/vial-qmk repository does not contain an ISO keymap for the Mysterium. That's why I tried the https://github.com/piit79/qmk_firmware repository by 42Keebs. Unfortunately, it seems to be a little bit outdated. I was not able to compile the firmware without editing the code first and volume control had problems when I tested the keyboard with a Windows system (volume was unintentionally set to minimum or maximum).

That's why I decided to create a Frankenstein firmware by using the vial-qmk repo with a copy of the ISO keymap from the qmk branch by 42Keebs. My fork of vial-qmk can be found at https://github.com/marcnause/vial-qmk.

I made the following changes:

  • add OLED support (as described in previous blog article, see link in first paragraph)
  • change encoder resolution (volume would only be changed on every second step)
  • add ISO keymap from 42Keebs' qmk branch
  • change key code from KC_PAUS to KC_MUTE for the encoder to be able to mute voluem by pressing the encoder

Then I compiled the firmware with

qmk compile -kb 42keebs/mysterium/v15d -km default 

and flashed it as described in Flashing the firmware of the Mysterium DIY keyboard.

If you don't want to compile the firmware yourself, you can download my version (right-click and save as): 42keebs_mysterium_v15d_iso.hex