Direct/per-key RGB support for the Redragon K551RGB-1 V2 keyboard in OpenRGB.
This project does not flash or replace the keyboard firmware. It adds a device-specific OpenRGB Direct mode that streams frames to the keyboard's RAM-only RGB framebuffer.
- Keyboard: Redragon K551RGB-1 V2
- USB VID:PID:
320F:5000 - USB release (
bcdDevice):0103 - Internal firmware image revision:
0105 - RGB command:
0x12(RAM-only dynamic colors) - Framebuffer: 128 RGB slots / 384 packed RGB bytes
The OpenRGB detector enables this Direct implementation only for the exact
320F:5000 + bcdDevice 0103 combination. Other devices sharing the generic
EVision VID/PID continue using the existing OpenRGB driver.
- Full 104-key ANSI matrix exposed to OpenRGB and the Effects Plugin
- Correct firmware-native LED mapping
- Working NumPad Enter at raw framebuffer slot 126
- Both emitters driven under Enter, Left Shift, and Right Shift
- RAM-only animation updates (no repeated profile/flash writes)
- Keepalive for static Direct colors
- Exact 128-slot safety limit
- Integrated Special -> Keypress Ripple effect at 30 FPS
- Physical-key listener with overlapping waves and repeat suppression
Tested with solid colors, gradients, Rain, Rainbow Wave, Keypress Ripple, and normal typing while effects run at up to 60 FPS. Keypress Ripple defaults to 30 FPS to leave comfortable USB bandwidth for keyboard input.
Download OpenRGB-K551-Direct-Windows-64.zip from the latest GitHub Release.
- Close SignalRGB, the Redragon software, and every other OpenRGB instance.
- Extract the archive.
- Run
OpenRGB.exe. - Select Redragon K551RGB-1 V2 and keep its mode set to Direct.
- Use the normal OpenRGB color controls or the included Effects Plugin.
For the reactive effect, open Effects, choose
Special -> Keypress Ripple, select only the K551 on the right, and enable
the effect. The listener runs only while that effect is enabled; no separate
SDK script or firmware modification is required. The physical Fn key is
handled internally by the keyboard and is not exposed to Windows.
Only one RGB application can own the keyboard's vendor HID interface at a time.
The Direct-driver patch was produced against OpenRGB commit ed3d789.
git clone --recursive https://gitlab.com/CalcProgrammer1/OpenRGB.git
cd OpenRGB
git checkout ed3d789
git apply ../OpenRGB-K551-Direct.patchBuild OpenRGB normally for your platform. The patch is available in
patches/OpenRGB-K551-Direct.patch.
The optional reactive-effect patch was produced against OpenRGB Effects Plugin
commit 3debf4f:
git clone https://gitlab.com/OpenRGBDevelopers/OpenRGBEffectsPlugin.git
cd OpenRGBEffectsPlugin
git checkout 3debf4f
git apply ../OpenRGBEffectsPlugin-KeypressRipple.patchIt is available in
patches/OpenRGBEffectsPlugin-KeypressRipple.patch,
with the added source mirrored under
effects-plugin/KeypressRipple.
Command 0x12 expands packed RGB triplets into 128 four-byte firmware records.
The safe frame is exactly 384 bytes, sent as seven 54-byte payloads followed by
one six-byte payload at offset 378.
Never send more than 128 RGB triplets. A larger frame writes beyond the RGB framebuffer into live firmware state and can cause repeated or stuck keyboard input. The included driver never exceeds this limit.
See docs/protocol.md for the reverse-engineering notes and checksums. Proprietary firmware, updater binaries, USB captures, and IDA databases are intentionally not included.
The patch modifies GPL-2.0-or-later OpenRGB source files and is distributed under the GNU General Public License v2. See LICENSE.