Posted on

How to flash Pro Micro controller with QMK firmware

Flash controller with QMK

There are a many ways to flash the Pro Micro Controller with QMK Firmware.
Here are 3 ways you can do it.

💡 You can (and i strongly suggest) to flash the controllers before soldering them.
In this guide i used Lily58 Pro firmware and Pro Micro Controller as an example.

Pre-requisites:

1) QMK Toolbox + compiled firmware in .hex file

QMK Toolbox: if you already have the compiled .hex file (Lily58 Pro firmware .hex) then connect the controller to the PC via a reliable USB cable.
In QMK Toolbox select the Local file your .hex file.
Check Auto-Flash.
Now bridge the GND and RST pins 2x times on the Pro Micro with tweezers and you’ll see the process of flashing the controller in the Toolbox.
Wait until it finishes making sure there were no errors. Repeat the same with the 2nd controller. You can use either of them on left and/or right half.

QMK Toolbox Successfully Flashed the Controller
GND and RST pins on Top Right

2) QMK MSYS + QMK Toolbox

If you don’t have the already compiled .hex file or you want to edit your own keymap then install QMK MSYS and prepare the QMK environment described here.
After prepared QMK environment execute the following command line code for Lily58 Pro:

qmk compile -kb lily58 -km default
QMK MSYS Firmware compilation

What that does is compile the default keymap located in: C:\Users\YourUsername\qmk_firmware\keyboards\lily58\keymaps\default\keymap.c
After successful compiling you’ll find your .hex file in C:\Users\YourUsername\qmk_firmware folder.
Now you can flash your keymap to each controller using QMK Toolbox.

For any other keyboard replace the <keyboard> with the keyboard’s name present in QMK firmware folder and <keymap> with the name of the keymap present in the keymaps folder of the selected <keyboard> :

qmk compile -kb <keyboard> -km <keymap>

3) QMK MSYS only

You can compile and flash your keymap in one step without using QMK Toolbox at all.
Select the correct bootloader for your controller (avrdude, dfu etc).
In this process it will create the .hex file and at one point it will ask you to bridge the GND and RST pins 1x time (or 2x times, depending on the controller) on the Pro Micro for it to be flashed.

Pro Micro(Catarina): qmk flash -kb lily58 -km default -bl avrdude 
Elite-C: qmk flash -kb lily58 -km default -bl dfu 
Proton-C: qmk flash -kb lily58 -km default -bl dfu