Fucking mechanical keyboards. Damn it, how the hell did I end up down this cash burning rabbit hole? Mid-life crisis I guess? Most guys buy a hotrod and I end up with mechanical keyboards. My first foray into mech keyboards was when I bought the Keychron K8 TKL board which I posted about last year. I kept that board for about six months before I gave it to my son. It was a good board don’t get me wrong, I liked it and there is nothing wrong with it but I also had no idea what I wanted in a mechanical keyboard at the time either. The biggest reason I replaced the Keychron was because it was not programmable with QMK or VIA/VIAL.
After getting into and reading about boards this turns out to be a must have for me. So I got a drop CTRL TKL board. This was pretty pricey I will have to admit. More than it should be considering what it is and what other keyboards out-there offer and go for in the custom keyboard world. From what I can tell the Drop CTRL is looked down upon not necessarily because it is a bad board but because it is a mass produced board and ready to buy at any time – in stock. It also has a RGB ring around the edges and after being in the community for a month or so you find out real quick that RGB is pretty hated in the group. Only newcomers in the group like RGB or gamers. Real mechanical keyboard enthusiasts don’t rock RGB and real high end boards don’t rock RGB either. I will have to admit that after a few months of using Crystal pudding keycaps with RGB on 24/7 I don’t really need it anymore. I got my fill of RGB. I also now know the difference and the reasoning behind north vs south facing RGB lights as well.
Note: For the majority of this post I will be referring to the Drop CTRL keyboard
QMK is a keyboard firmware based on the qmk_keyboard firmware with some useful features for Atmel AVR and ARM controllers, and more. Doesn’t say much does it?
QMK is pretty much “The Holy Grail of keyboard customization as someone else said. QMK usually offers tons of features like layers, custom keymaps, and the ability to edit your LEDs RGB patterns. It typically runs on Atmel controllers (Arduinos) which are used to power most custom keyboards it seems. QMK can be a pain to work with cause of editing keymap files and complex RGB patterns. It can be complicated and I think it has a steep learning curve that would drive away most users. This is where VIA/VIAL come in. VIA is a feature in QMK that lets you change your keymap on your keyboard without needing to reflash firmware, on the fly. QMK usually involves editing text and config files while VIA and VIAL are programs that run to allow you to edit the board. The changes you make using VIA/VIAL remain persistent on the keyboard, so even when you unplug and replug your keyboard back in, the keymap settings still remain. Some keyboards even allow you to use VIA/VIAL to edit the RGB color maps and patterns, although this feature seems to be few and far between. All QMK boards allow custom keymaps and multiple layers. The amount of layers you can have depends on the memory available on the board your keyboard is utilizing. From what I understand most QMK boards will ship with the amount of layers they support but sometimes you can add more.
- QMK, what is it?
- Flash at least flash once?
- RGB Lighting – North vs South
- Install QMK
- How to flash
- How to a Flash Drop CTRL
- How to use Drops online tool
- How to use QMKs online tool
Should you flash? Some say “if it ain’t broke don’t fix it”. But I say if you do nothing else other than want to type on your keyboard I recommend you at least setup QMK/VIA/VIAL and flash the most recent copy of your boards firmware it to the board. QMK is constantly updated and the firmware your board is shipped with is probably out of date by the time you get it. This may not be so with custom Group-Buy boards but anything mass produced should be updated. GMMK Pro or for example with a Drop CTRL it adds smart EEPROM (memory persistence) and there is a massive host of new LED patterns to play with. Otherwise there are like 4 patterns or some shit and no EEPROM.
You will see boards specify whether they are north or south facing LEDs and then you will wonder why and what is the difference. Least I did.
North facing LEDs are usually on cheaper boards, usually mass produced boards. The upside is that they illuminate shine-through keycaps very nicely. Since the LEDs and the letters are both on the north side it fits well. Downside is that with non-shine-through keycaps you don’t get to see the RGB effects very well. With south facing LEDs and non-shine-through keycaps you can see the RGB effects under the keys a lot more clearly. This is actually pretty important because the majority, like 98% of keycaps out there, are non-shine-through keycaps. Good to note.
Also something to note is that most boards that are QMK or VIA/VIAL compatible the LEDs and patterns usually are not. It is something to pay attention to when looking and buying a board. Do you want to be able to change the LED colors on the fly or at least very easily? Or is editing a file and flashing the board OK to you?
Follow this page and it will set you up with QMK on your system, whichever that may be. It supports MacOS. Windows and Linux as well as FreeBSD.
What are they and what is the difference? VIA is a piece of software that allows you to visually edit your keyboards keymaps on the fly in real time. If you are lucky you can also edit the RGB settings, modes and such. But not usually. What is VIAL? Well it is pretty much the same thing but the open-source alternative to VIA. It seems to get more updates and support more features like rotary knobs and the ability to edit RGB things more often than VIA.
Here is an interesting post on Reddit I found regarding VIAL, I figured I’d post it here even though I ran into zero issues with VIAL.
- Visit QMK online config tool, load the keyboard and layout, name the new custom keymap.
- Create your new keymap by click and or drag and drop on the visual keyboard map.
- When done, click compile.
- Click download the firmware.
- Now you have a fresh bin file to flash.
- Go to your command prompt/terminal and flash the new bin you downloaded.
You can save the json file for the keymap (basically yourkeymap.c file for the CTRL), this you can edit and add your extras not available on the Drop configurator website. When you return you can upload your edited json file so you can further edit the keymap with the online config tool later. There is also a keyboard test window for visually showing you what is mapped to what.
How to flash your VIA compatible firmware on your keyboard
Download the VIA app from https://github.com/the-via/releases/releases
Open the VIA App
Plug in your board or if it plugged in already it should auto detect, if not please follow the next step!
Download the VIA enabled QMK firmware from https://caniusevia.com/docs/download_firmware
Download QMK Toolbox from: https://github.com/qmk/qmk_toolbox/releases
Install QMK Toolbox. When installed you might have the option to install drivers, please say yes. If not, click on the bottom of QMK Toolbox and install drivers.
Restart Your Computer – sometimes you have to restart here.
Open up QMK Toolbox. Press the “OPEN” button and navigate to where you downloaded the firmware from Step 4.
Reset your board by either pressing the button on the back WHILE PLUGGED in, or hold Esc WHILE PLUGGING in. If yellow text appears on screen, you have correctly reset the board into bootloader mode
Click the “Clear EEPROM,” and let it run. Should result in this following text: https://imgur.com/a/lRHetSY
Next click the FLASH button, let the program run. Should result in this following text: https://imgur.com/a/1Uhbo0j
Follow those instructions on the basics on flashing the board if you want to stick with using the online drop configuration tool. If you want to use QMK and be able to do a whole lot more than the config tool allows then you need to use mdloader via the command line/terminal to flash the board.
To use mdloader it is just as easy, use the online QMK configuration tool to build the keymap and or edit the files by hand, then compile and download the bin file. the bin file is what we ned to flash the board. These boards do not use hex files they use bin files.
In a command prompt/Terminal window type:./mdloader --first filename.bin --restart
You should see something like this:
Scanning for device for 60 seconds
Press Fn+B for four seconds and release (reset), the board will go into flash mode and you should see something like this:
Device port: /dev/cu.usbmodem234431 (SAMD51J18A)
Opening port '/dev/cu.usbmodem234431'... Success!
Found MCU: SAMD51J18A
Bootloader version: v2.18Sep 4 2018 16:48:28
Applet Version: 1
Writing firmware... Complete!
Booting device... Success!
Closing port... Success!
You should see something similar to that and your keyboard should have rebooted with the new firmware loaded.
[crayon-6391a594d3f42733869351 inline="true" ]mdloader --upload saved_firmware.bin --addr 0x4000 --size 0x10000 --restart
If you drop the –restart the board stays off and you have to unplug it. The –first flag is so the computer uses the first found device port as programming port when flashing, –upload reads from the board –download writes to the board.
Here is a quick video on how to flash the keyboard, they don’t go into very much depth but if all you want to do is use the Drop online tool and flash the board then you can use this video and be done.
Visit drops online website tool to config the board.
This allows you to visually change the keymap and adjust the LED colors of the underglow and per key RGB
Visit QMKs online website tool to change the keymaps and save the bin /son file to upload and edit for later use. no LED online config tool, just the keymap. Make sure you change the layout to match your board.
If you are interested in making your own firmware, which I have not tried this yet, start here.
Its not my fault if something breaks, make sure you do your research.