Skip to main content

Stream Deck Mini Protocol

Introduction

The Stream Deck Mini family are USB 2.0-compliant input devices featuring a compact 2×3 grid of keys atop a single LCD screen. They communicate with the host via the USB HID protocol, enabling key event reporting, image upload, and device configuration.

For all concepts, data types, report structures, and shared commands refer to the General Reference page. This page documents only what is specific to the Stream Deck Mini family.

warning

The Mini family uses a different HID protocol from all other Stream Deck families. Report IDs, command bytes, input report structure, and image upload flow differ significantly. Do not assume compatibility with the General Reference commands.


Devices Overview

Summary

NameModelVIDPIDCapabilities
Stream Deck 6-Key Module20GAI99010x0FD90x00B86 Key Layout
Stream Deck Mini20GAI99010x0FD90x00636 Key Layout
Stream Deck Mini 202220GAI99020x0FD90x00906 Key Layout
Stream Deck Mini Discord20GAI99010x0FD90x00B36 Key Layout
note

All models in this family share the same HID command set and 6-key layout. Adjust the PID when targeting a specific model.


Capabilities & Physical Characteristics

6 Key Layout

EntityProperty
LCD Image320 × 240 px (low DPI)
Keys matrix3 × 2
Key Image80 × 80 px
Keypad Keys Index Layout
Image showing the Stream Deck Mini keypad buttons index layout.
Unit Pixel Layout
Image showing the Stream Deck Mini unit pixel layout.

Data Format

note

The Mini family shares the same basic data types and RGB Triplet definitions as all other Stream Deck families. The report structures below, however, differ from the general reference.

Input Report

Input reports transmit key press state change events from the device to the host. The host polls the device using a non-blocking HID READ command. The device returns a fixed 65-byte structure.

OffsetTypeNote
+ 0x00UINT8Report ID
+ 0x01BYTE[]Payload

Output Report

Output reports transmit bulk data from the host to the device (e.g. images). The host sends these with HID WRITE. Each output report has a fixed size of 1024 bytes.

OffsetTypeNote
+ 0x00UINT8Report ID
+ 0x01UINT8Command
+ 0x02BYTE[]Payload

Feature Report

Feature reports set and retrieve device information or trigger commands. The host forms a structure with a maximum size of 32 bytes, zero-padded to fill.

  • HID SEND FEATURE REPORT to send
  • HID GET FEATURE REPORT to request a response
OffsetTypeNote
+ 0x00UINT8Report ID
+ 0x01UINT8Command
+ 0x02BYTE[]Payload

Command Descriptions

Input Reports

The host polls the device with HID READ. If no event is pending, HID READ returns TIMEOUT and the payload is undefined.


Key Press State Change

An event is generated on every change of key state. The payload contains one byte per key indicating its state.

OffsetTypeNote
+ 0x00Input ReportReport ID: 0x01
+ 0x01UINT8[64]First 6 bytes used. Each byte is 0x00 (released) or 0x01 (pressed)

Output Reports

Report ID: 0x02. Sent with HID WRITE. Multiple reports may be sent if data exceeds the maximum payload size.


Upload Data to Image Memory Bank

Uploads an image to the device's temporary storage memory bank, either for immediate display as a key image or for use by subsequent commands. The image must be split into chunks sized to fit the output report payload.

OffsetTypeNote
+ 0x00Output ReportReport ID: 0x02, Command: 0x01
+ 0x02UINT8Chunk Index
+ 0x03UINT8Reserved: 0x00
+ 0x04UINT8Show Image flag
+ 0x05UINT8Key Index
+ 0x06BYTE[10]Reserved: fill with 0x00
+ 0x10BYTE[]Chunk Data

Setter Feature Reports


Forcibly triggers the display of the boot logo.

OffsetTypeNote
+ 0x00Feature ReportReport ID: 0x0B, Command: 0x63
+ 0x02UINT8Show Boot Logo: 0x00

Set Backlight Brightness

Sets the LCD backlight brightness level.

OffsetTypeNote
+ 0x00Feature ReportReport ID: 0x05, Command: 0x55
+ 0x02UINT80xAA
+ 0x03UINT80xD1
+ 0x04UINT80x01
+ 0x05UINT8Brightness Value

Set Sleep Mode Duration

Sets the duration of idle time in seconds before the device enters Sleep Mode.

OffsetTypeNote
+ 0x00Feature ReportReport ID: 0x0B, Command: 0xA2
+ 0x02INT32Duration in seconds (set 0 to disable)

Getter Feature Reports


Get Firmware Version

Requests the firmware version string of the device.

Request:

OffsetTypeNote
+ 0x00Feature ReportReport ID: see below

Response:

OffsetTypeNote
+ 0x00UINT8Report ID: see below
+ 0x01BYTE[4]N/A
+ 0x05UINT8[12]Version String ASCII

Report IDs by firmware type:

Report IDNameNote
0xA0LD
0xA1AP2Primary firmware
0xA2AP1Backup firmware

Get Unit Serial Number

Requests the unit's serial number string.

Request:

OffsetTypeNote
+ 0x00Feature ReportReport ID: 0x03

Response:

OffsetTypeNote
+ 0x00UINT8Report ID: 0x03
+ 0x01BYTE[4]N/A
+ 0x05UINT8[DataLength]Serial Number String ASCII

Get Sleep Mode Duration

Requests the configured idle duration before the device enters Sleep Mode.

Request:

OffsetTypeNote
+ 0x00Feature ReportReport ID: 0xA3

Response:

OffsetTypeNote
+ 0x00UINT8Report ID: 0xA3
+ 0x01UINT8Data Length
+ 0x02INT32Duration
note

The size of a Feature Report is fixed to 32 bytes.


Device Setup & Communication

Setup Connection

Open the device as a USB HID device. Once connected, the host can receive input events, upload images, and issue control commands.


Polling Input Controllers

The host should periodically poll the device with HID READ using a timed call. A TIMEOUT indicates that no key state changed.

tip

Recommended polling period is 50ms.


Uploading Images

All images must be exported as BMP format before upload — unlike other Stream Deck families which use JPEG.

Key Image

  1. Prepare an 80 × 80 px image.
  2. Rotate the image 90° clockwise before upload.
  3. Export as BMP format.
  4. Send using Upload Data to Image Memory Bank with Show Image flag set to 0x01 and the target key index.

Full LCD Image

info

The Mini family does not support uploading a full LCD image in a single command. Instead, upload each key's LCD slice individually using the key image flow above.

  1. Prepare an 80 × 80 px image per key slice.
  2. Rotate the image 90° clockwise before upload.
  3. Export as BMP format.
  4. Send using Upload Data to Image Memory Bank with Show Image flag set to 0x00 for the target slice.

Closing Connection

Close the USB HID device handle.

tip

Before closing the connection, it is good practice to use Show Logo to restore the default visual state.


INDEX

Input Reports Reference

Report IDDescription
0x01Key press state change

Output Reports Reference

Report IDCommandDescription
0x020x01Upload Data to Image Memory Bank

Feature Reports Reference

Setter Feature Reports

Report IDCommandDescription
0x0B0x63Show Logo
0x050x55Set Backlight Brightness
0x0B0xA2Set Sleep Mode Duration

Getter Feature Reports

Report IDDescription
0xA0Get Firmware Version (LD)
0xA1Get Firmware Version (AP2)
0xA2Get Firmware Version (AP1)
0x03Get Unit Serial Number
0xA3Get Sleep Mode Duration