Flashing the Firmware
There are two ways to flash PolyKybd firmware. The recommended way is over HID directly from PolyKybdHost — no buttons, no bootloader drive. The UF2 bootloader drive method is kept as a recovery fallback.
Recommended: flash over HID from PolyKybdHost
Section titled “Recommended: flash over HID from PolyKybdHost”PolyKybdHost sends the firmware image to the keyboard over its normal USB connection. No BOOT button is needed, and it works even when the keyboard’s protocol version does not match the host, so a keyboard on incompatible firmware can still be updated.
The image goes over the keyboard’s fast link (a USB serial port next to the HID interface) when the firmware and the host both have it (firmware 1.9.4 and host 1.17.28 or newer), which transfers a full image in about 11 s, and over HID otherwise, about 50 s. The tray tooltip names the link in use. Details: Firmware Update over USB.
HID flashing uses a raw .bin image (not the .uf2).
- Open PolyKybdHost (system-tray icon).
- Use the firmware update action — either the release-update flow (which fetches a
published keyboard-firmware release) or Flash firmware .bin… to pick a local
.bin. - Confirm and let it transfer. Progress is shown as it streams the image to the keyboard.
- Apply the update when prompted — the keyboard reboots into the new firmware.
The polyctl console tool can flash without the GUI:
polyctl fw flash path/to/firmware.bin --applyfw flash streams progress to the terminal. Without --apply it stages the image; with
--apply it stages and then applies (reboots into) the new firmware.
You can also check the running version first:
polyctl fw versionFallback: UF2 bootloader drive
Section titled “Fallback: UF2 bootloader drive”Use this if the keyboard can’t be reached over HID (e.g. a bad image left it unresponsive). It flashes
the .uf2 build, not the .bin.
Entering bootloader mode
Section titled “Entering bootloader mode”- Hold down the BOOT button on the PCB.
- While holding it, connect the USB-C cable to the half you’re flashing.
- Release the button.
- The keyboard mounts as a USB drive called
RPI-RP2.
Copying the firmware
Section titled “Copying the firmware”Download the latest .uf2 from the firmware repo releases
(or build your own — see below) and copy it onto the RPI-RP2 drive. The drive unmounts automatically
when flashing completes.
Building from source
Section titled “Building from source”To build your own firmware image, see Firmware Development for the full toolchain setup and build commands. In short:
qmk compile -kb polykybd/split72 -km default # or /split42The build produces a .uf2 (for the bootloader drive). For HID flashing, convert the ELF to a raw
.bin:
arm-none-eabi-objcopy -O binary .build/<target>.elf .build/<target>.binVerifying the flash
Section titled “Verifying the flash”After the update applies and the keyboard reboots:
- Wait 1–2 seconds for the firmware to boot.
- All per-key displays should show characters.
- Press keys to confirm they respond, and check that both halves are active.