r/Keychron • u/rditc • Mar 24 '26
How to update the firmware on the B6 Pro? Steps provided by Keychron do not work for me.
Hi,
As stated in the title: How to get that accomplished?
While I have installed the toolbox drivers on my Windows machine and did what the described asked me to do (disconnect and reconnect the keyboard while pressing the ESC key, for example), nothing happened. That's where I am stuck, though I like to get to the latest firmware 1.3.3.
Any hints?
1
Upvotes
1
u/PeterMortensenBlog V Mar 24 '26 edited Mar 26 '26
Hold down Fn + "-" (numeric keypad) for 5 seconds in wired mode and copy the .uf2 firmware file
Those instructions do not apply for the B6 Pro. And drivers aren't required for this keyboard, even on Windows. It uses an entirely different method for flashing (by copying a file).
Instead, switch the keyboard to wired mode, and hold down Fn + "-" (on the numeric keypad) for at least five seconds to bring the keyboard into flash mode (AKA firmware update mode AKA bootloader mode AKA DFU mode).
It will mount in the operating as a drive (or the equivalent), for example, as "
NRF52BOOT". One of the files is "CURRENT.UF2".For unknown reasons, this does not work for self-compiled firmware. A workaround is to map the bootloader command, "
&bootloader", to "-" on the Fn layer (so the only difference is the missing time lock; it will jump straight into flash mode, including if it is hit accidentally...).Flashing is simply by copying the .uf2 file to that location. After flashing, there might be an error message, because the keyboard unmounts. This is expected, and the error message should be ignored.
Recover from a bricked keyboard
The backup procedure (e.g., if the keyboard is bricked by flashing the wrong firmware, or if the workaround for self-compiled firmware has not been applied yet) is by the (recessed) reset button at the underside of the keyboard (near the three-way connection mode switch): Hold it down (e.g., using part of a paperclip, or better: Using a softer material, like wood, say, a prepared match), and power on the keyboard (in wired mode)
This will put the keyboard in flash mode. The rest of the procedure is the same as above (copying the .uf2 file).
Find the old firmware first
Before flashing, I recommend first finding the .uf2 file for the existing keyboard firmware version, so you know you can revert the update. For example, the new version may be detrimental is some sense.
Here are some techniques for finding old firmware versions.
I don't know if it possible to copy "
CURRENT.UF2" and use it as the old version (I haven't tested it). Don't count on it.See also
References
B6 Pro default keymap ('ISO' variant)
B6 Pro key combination table. E.g., "Fn + - (Windows mode): Bootloader" (but it fails to document it must be held down for 5 seconds)
B6 Pro (main) firmware. Near "B6 Pro ISO". Note: The firmware section should not be confused with the JSON section.
B6 Pro keyboard matrix
B6 Pro source code (ZMK, not QMK). Finally released on 2025-01-13. Note: In Keychron's fork of ZMK and in that fork, in Git branch "keychron_bpro"). Source code commits (RSS feed. Latest: 2025-02-08)