A while ago, I took the plunge and decided to buy a mechanical keyboard. I've settled on the Ducky One 2 Mini (I should have bought the TKL version). And I don't regret it (Except for the missing dedicated arrow keys). I don't even notice it when I type and the RGB lights can be mesmerizing when I'm thinking.
Last Saturday in the afternoon, I was updating the keyboard firmware when a thought struck me: Can I install custom firmware on it? I mean the default one is great, but I like to tinker with my devices at a lower level, not just with the options the manufacturer provided. I quickly searched on google to see if the firmware was open-sourced and unfortunately, it wasn't. But searching "ducky one 2 mini firmware" yielded promising results, particularly this post.
This was the first time I heard about the QMK project. It's a custom firmware for mechanical keyboards and has a bunch of cool features. I liked what I was reading in the documentation and I decided to give it a go.
I cloned the forked version of the guy (I still don't know his name) who worked on the version for Ducky and created a test branch. I first merged in the mbi5042gp
branch which I think it's the driver interface to control the RGB lights. Then I merged in the duckyone2mini
branch which contains the configuration for the keyboard.
The first build failed due to missing files in the lib/chibios-contrib
folder. I recalled that this was a submodule and went in for the commit that may contain those missing files. Instead, I found a pull request made by the same guy (great work!). This pull request adds the missing files for the Microcontroller Unit included in the keyboard unit. So a quick git remote add
, then a git checkout
retrieved the needed files.
Another build failed, but that was due to some errors in the Makefiles and a constant's name (I should make a pull request for that). They were easy to fix and a final build generated the .hex
file needed for the keyboard.
I would say that the QMK firmware was very enjoyable and that it was fun to use. But I did not flash the keyboard. It's the only one I have and it will be $100+ gone if I bricked it in the process. And I do not have the necessary tools to do a full recovery (JTAG anyone). So here I am with a compiled firmware and no courage to try it. But I learned a few things during the process and will learn more about the QMK project in the feature.
Hi Holy-Elie!
This looks great! I happen to have a Ducky One 2 Mecha Mini that this might work on that's actually a spare right now. The arrow key and CTRL+arrow key functionality was insufficient for me (love the board, but this killed it for me), so I wound up buying a pok3r. Short version being, if you want me to test your CFW on a One 2 Mecha mini (should be pretty much identical to the One 2 mini) that won't be a big deal if it gets bricked, could you point me to the files you generated?