Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenRGB Direct RGB and reactive effects for Redragon K551RGB-1 V2

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.

Verified hardware

  • 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.

Features

  • 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.

Windows build

Download OpenRGB-K551-Direct-Windows-64.zip from the latest GitHub Release.

  1. Close SignalRGB, the Redragon software, and every other OpenRGB instance.
  2. Extract the archive.
  3. Run OpenRGB.exe.
  4. Select Redragon K551RGB-1 V2 and keep its mode set to Direct.
  5. 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.

Applying the source patch

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.patch

Build 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.patch

It is available in patches/OpenRGBEffectsPlugin-KeypressRipple.patch, with the added source mirrored under effects-plugin/KeypressRipple.

Protocol and safety

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.

License

The patch modifies GPL-2.0-or-later OpenRGB source files and is distributed under the GNU General Public License v2. See LICENSE.

About

OpenRGB Direct/per-key RGB support for Redragon K551RGB-1 V2 (320F:5000)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages