netb.st/projects/rival600/protocol

Home Projects Git

Steelseries Rival 600 protocol

All values are given in hexadecimal. Some commands require a minimum amount of trailing 0's to function.
The protocol specification provided here is unofficial and as such not guaranteed to be accurate. Use at your own risk.

General format

Byte 0 Byte 1..N
Command Data

Commands

Value Description
03 Set DPI
04 Set polling rate
05 Set LED color
09 Save configuration
10 Read firmware version
16 Read active DPI setting
31 Set button action
33 Set scroll wheel action
96 Read mouse confidence

0x03: Set DPI

wValue: 02__ (OUTPUT)

Index 0 1 2 3 4 5
Value 03 00 {profile} {dpi} 00 42

0x04: Set polling rate

wValue: 02__ (OUTPUT)

Index 0 1 2
Value 04 00 {rate}

0x05: Set LED color

wValue: 03__ (FEATURE)

Index 0 1 2 3..6 7 8 9 10..23
Value 05 00 {led ID} -- {led ID} {duration} --

Index (cont.) 24 25 26..28 29 30 31 32
Value {repeat} {trigger msk} -- {point count} {red 0} {green 0} {blue 0}

Index (cont.) 33 + 4n + 0 33 + 4n + 1 33 + 4n + 2 33 + 4n + 3
Value {red n} {green n} {blue n} {position n}

Note: at least one point is required


0x09: Save configuration

wValue: 02__ (OUTPUT)

Index 0
Value 09

0x10: Read firmware version

wValue: 02__ (OUTPUT)

Index 0
Value 10

0x16: Read active DPI setting

wValue: 02__ (OUTPUT)

Index 0
Value 16

0x31: Set button action

wValue: 03__ (FEATURE)

Index 0 1 2..6 7..11 12..16 17..21 22..26 27..31 32..36
Value 31 00 {button 1} {button 2} {button 3} {button 4} {button 5} {button 6} {button 7}

0x33: Set scroll wheel action

(((UNANALYZED)))

Index 0 ?
Value 33 ??

0x96: Read mouse confidence

wValue: 02__ (OUTPUT)

Index 0
Value 96