See the QMK firmware section on Flashing for an up to date explanation.
See /u/CampAsAChamp's Windows Guide
Connect RST and GND to enter bootloader. If you're using an official Sparkfun Pro Micro (the red one) you need to short this twice quickly.
You will have 8 seconds to flash before it continues on to the sketch.
Tip: If this is the first time the Pro Micro has been flashed it should go directly to the bootloader on start.
QMK now includes a very easy way to automatically find the serial port and flash without having to race the bootloader. From the qmk directory type:
make lets_split/rev2:YOUR_KEYMAP_NAME:avrdude
or for the Kailh hotswap socket version:
make lets_split/sockets:YOUR_KEYMAP_NAME:avrdude
Be sure to replace YOUR_KEYMAP_NAME
with the name of your keymap.
Example:
$ make lets_split/rev2:YOUR_KEYMAP_NAME:avrdude
Reset your Pro Micro now
Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.
# [snip]
avrdude: verifying ...
avrdude: 22286 bytes of flash verified
avrdude: safemode: Fuses OK (E:CB, H:D8, L:FF)
avrdude done. Thank you.
The controller isn't in bootloader mode. You may have missed the 8 second window to flash. NOTE Power cycling doesn't work, you have to reset it with the reset pin
The serial port you specified isn't the one the controller is using.
As of Feb 7, 2017 this should no longer be necessary. The default rev2
orientation matches the keymap below.
You need to flip the keymap in QMK to match the orientation of your board. If you have the right side setup with the TRRS on the left you'll need to reverse the keymap for that side.
Add a new file to your keymap directory named flip_keymap.h
:
#undef KEYMAP
#define KEYMAP( \
k00, k01, k02, k03, k04, k05, k45, k44, k43, k42, k41, k40, \
k10, k11, k12, k13, k14, k15, k55, k54, k53, k52, k51, k50, \
k20, k21, k22, k23, k24, k25, k65, k64, k63, k62, k61, k60, \
k30, k31, k32, k33, k34, k35, k75, k74, k73, k72, k71, k70 \
) \
{ \
{ k00, k01, k02, k03, k04, k05 }, \
{ k10, k11, k12, k13, k14, k15 }, \
{ k20, k21, k22, k23, k24, k25 }, \
{ k30, k31, k32, k33, k34, k35 }, \
{ k40, k41, k42, k43, k44, k45 }, \
{ k50, k51, k52, k53, k54, k55 }, \
{ k60, k61, k62, k63, k64, k65 }, \
{ k70, k71, k72, k73, k74, k75 } \
}
Then include this file at the top of keymap.c
under #include "lets_split.h"
:
#include "flip_keymap.h"
Use rev2fliphalf
instead of rev2
as the target.