reFIRE is a "brain replacement" for the CMStorm QuickFire Rapid keyboard. It replaces the keyboard’s original fixed-function non-customizable controller chip with a powerful microcontroller running modern hackable keyboard firmware.
-
Buy reFIRE on Tindie (US folks)
-
Buy reFIRE on Lectronz (EU/UK folks)
-
Other countries: please message me through Lectronz and I’ll see what I can do!
reFIRE is compatible with the original CMStorm QuickFire Rapid keyboard, which has red indicator lights and no backlight. The later QuickFire Rapid-i keyboard, with white backlight, is a different keyboard and not compatible. |
1. Installation
1.1. Step One: removing the screw(s)
The main screw in the QuickFire Rapid keyboard is hiding behind the circular "OK" warning sticker on the back of the keyboard, in the center. You will need to break through or remove this sticker.
This sticker is trying to scare you. When you remove it, it will leave behind the word VOID. Voiding a warranty because the device’s owner has opened it has been illegal in the US since the Magnuson-Moss Act in 1975, and is also not permitted in most other countries. So remove that sticker with pride. Remember: if CoolerMaster actually supported this keyboard after it was sold, we wouldn’t need to be replacing its printed circuit board ourselves! |
Removing the sticker reveals a cylindrical hole containing a screw. Use a Phillips screwdriver to remove it.
1.2. Step Two: removing the top case
The two halves of the plastic case are held together at four points by plastic latches. These latches are now over a decade old, and were not designed for repeated disassembly/reassembly, so it’s hard to get the keyboard open without breaking at least one. Fortunately, they’re redundant, and losing one or two latches doesn’t really affect the feel of the keyboard.
Using a spudger, putty knife, slender flat-head screwdriver, or (if you’re very brave) your fingernail, slide it into the seam along the front of the keyboard below the spacebar, and work it from the center out to the sides. To get into the seam you’ll need to press toward the body of the keyboard, but then immediately angle up, because the top shell slides over the bottom shell instead of just pressing against it. The latches are near the outside corners. It can help to insert your tool at the latch and swivel the handle up, pushing the top of the case out and the bottom of the case in to release the latches
Be patient and keep trying.
When you get the top of the case loose, the innards of the keyboard will also be loose! Remove the top case with the keyboard sitting firmly on a table. If the innards fall out, it will probably tear off the USB connector. Be careful! |
1.3. Step Three: removing the controller
With the top case removed, you should see a green or greenish-yellow printed circuit board shaped like an inverted U, wrapped around the cursor keys.
We want to gently lift this out.
The easiest way to do this is to remove the keycaps on the cursor keys and the cluster above them (on an ANSI layout this is delete, end, page down), and then use a spudger or screwdriver to work around the edge of the board and pry it up. Be gentle and try to lift equally around all sides, to avoid damaging the connectors under the board. I find that going around the board three or four times, applying gentle nudges at each corner in turn, works best.
Once the controller board is free, set it aside. You will need it if you decide to undo the upgrade.
1.4. Step Four: soldering the pins
The reFIRE kit includes a replacement printed circuit board and two loose rectangular pin headers. You will need to solder these headers to the board for it to work.
There are two options for how to do this. Read both and decide which sounds better to you.
1.4.1. Option 1: install the pins and then solder
The first option is to install the pin headers in the keyboard, put the printed circuit board on top of them, and solder it in place. This makes it much easier to get the alignment right, but also makes it easier to damage your keyboard with a soldering iron. If you choose this option, I suggest removing the keycaps all around the work area so you don’t accidentally melt them.
To solder the pins this way:
-
Take the loose rectangular pin blocks from the reFIRE bag.
-
Install one in each black connector on the keyboard, ensuring that the longer side is down (toward the keyboard), and that all pins are in the connector rather than hanging off to one side.
-
Take the reFIRE PCB and line up its holes with the pins, so that it drops fully into place. The side of the board facing you should have lots of words and no chips.
-
Solder all the pins. (I suggest starting with the outside corners, to hold the PCB in place as you work.)
Even if you choose to solder the PCB in-place, you can still remove it to reverse the upgrade after the solder cools. |
1.4.2. Option 2: solder separately and then install
The second option is to install the pin headers separately on your work surface, and then install the assembled PCB. This lets you do the soldering far away from your precious keyboard, avoiding potential key-melting. I think this option winds up being more work overall, but if you’re concerned about your ability to wield a soldering iron without accidentally melting things, this may be more comfortable for you.
-
Put a heat-resistant object on your work surface. A ceramic drink coaster works great.
-
Take the two blocks of rectangular pins and the PCB from the reFIRE bag, and slot the short side of the pins into the PCB. Make sure they sit on the side that reads "SOLDER ON OTHER SIDE".
-
Carefully flip the assembly over so that the long pokey ends of the pins are against your heat-resistant surface. (A little bit of tape to hold things together during assembly might help.)
-
Solder all the pins. (The side of the board facing you at this point should have no chips on it.)
-
Once the solder is solid, transfer the assembled board to your keyboard, carefully lining up the pins.
It’s easy to mis-align the board at this point, by accidentally offsetting the pins in the keyboard’s connectors. Before pressing down, look around the sides of the board to make sure that the shiny metal pins are all resting in the black connectors beneath, and are not hanging next to the connector. If the board is aligned properly, the gaps around it when seen from above should be approximately even on all sides. |
Once you’re confident in the alignment, press gently down on both groups of pin headers until reFIRE is fully seated.
1.5. Step Five: test
I recommend doing this before you reinstall the plastic shell on the keyboard, just in case something is wrong! |
Connect the keyboard to a computer using an appropriate USB cable.
Mash some keys. If all is well, the keys should do stuff.
If it doesn’t work, unplug the keyboard promptly and check the alignment of the reFIRE PCB in the connectors on the keyboard.
If the alignment looks right, check that the solder on all pins appears to have flowed properly.
If the solder looks good, and it still doesn’t work, contact me.
2. Using QMK
QMK is the de-facto standard hackable keyboard firmware among enthusiasts, and to keep my support burden down, I ship reFIRE with QMK installed. By default, I’ve configured a keymap that is designed to roughly match the original behavior of the QuickFire Rapid keyboard, with media keys and WinLock. If you have the original keycaps still installed, the legends should be accurate. But in case you’ve replaced them:
-
Fn-F5 is Play/Pause
-
Fn-F6 is Stop
-
Fn-F7 is Previous Track
-
Fn-F8 is Next Track
-
Fn-F9 is WinLock
-
Fn-F10 is Mute
-
Fn-F11 is Volume Up
-
Fn-F12 is Volume Down
-
Fn-ESC reboots the keyboard into DFU mode for reflashing (added for QMK)
When you press Fn-F9, it toggles the WinLock status. When WinLock is engaged, the indicator light in the F9 key turns on, and the Windows/GUI/Super keys on both sides of the keyboard stop working. Press Fn-F9 again to turn it off. |
2.1. Building it yourself
QMK support for reFIRE is currently not merged upstream, which means if you want
to build it yourself, you’ll need to build from
my fork. (Make sure to check out the
recode
branch.)
Concretely:
-
Install the QMK tools. If you haven’t worked with QMK before, follow their getting-started guide.
-
Add my fork to your QMK checkout with
git remote add recode https://github.com/cbiffle/recode-qmk/
-
Checkout the recode branch:
git checkout recode/recode
-
Build and flash:
qmk flash -kb cbiffle/refire -km default
At the end of the build, qmk
will try to flash the image onto the keyboard.
This requires you to put the keyboard into DFU mode. There are two ways to do
this:
-
Unplug the keyboard, hold down the ESC key, and plug it in while still holding ESC.
-
Press Fn-ESC to reboot the keyboard without unplugging it.
Note that once you do this, your keyboard will stop being a keyboard until flashing is complete. You might want to have a backup on hand, just in case.
3. Reflashing the manufacturing image
If you’d like to reset the firmware to what I shipped (say, for
troubleshooting), it’s linked at the bottom of this document. I recommend
downloading the DFU version. You will need the dfu-util
command line program,
which you can get from QMK toolbox, or install separately.
Put the keyboard into DFU mode using one of the following methods:
-
If you have enabled the Fn key using DIP switch 6 or a custom layer, press Fn-Esc.
-
Hold ESC while plugging in the keyboard.
-
If the keyboard is unresponsive, follow the directions in the next section.
Now run the command:
dfu-util -D FILENAME.dfu -R
…where FILENAME
should be replaced with the name of the image you
downloaded. The manufacturing images are all linked at the end of this manual.
Note that you may need to unplug/replug the keyboard to get it to wake up after reflashing.
4. Recovering from bad firmware
If all you want to do is update the firmware, you can access DFU mode by either holding ESC while plugging the keyboard in, or (if you have enabled the Fn key using the DIP switches or a custom layer) pressing Fn-Esc. The method described here is for emergencies. |
If flashing fails, or if the firmware is so buggy that you can’t get back to DFU mode, you can force DFU mode in hardware:
-
Remove the top plastic shell of the keyboard (sorry) to expose the controller PCB.
-
Unplug the keyboard.
-
Using a pair of metallic tweezers, the end of a screwdriver, or a random piece of metal, short across the two pads labeled "JP1, short to force bootloader."
-
While holding that, plug the keyboard in.
The keyboard should come up in DFU mode.
5. Using a debugger
reFIRE has a TagConnect-compatible SWD footprint on its top side. You can use this to connect a SWD debugging interface such as an STLink. The easiest way to do this is by buying a TagConnect 2030 to SWD adapter cable, but you could solder wires to the pads in a pinch.
6. Downloads and odds and ends
-
Manufacturing firmware images:
-
in DFU format (easiest)
-
in BIN format (most general)
-
in ELF format with symbols (for debugging)
-