# RazerStream: reconstructing Stream Controller device control

> RazerStream replaces the retired control software for the Razer Stream Controller with a macOS app, Swift protocol library and CLI. Its documented device protocol runs over a USB serial port, performs a WebSocket upgrade, then exchanges framed commands and input events. The app configures touchscreen tiles, knobs, buttons and LEDs.

- Type: Case study
- Targets: Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-06
- Original resource: <https://github.com/ShoelessTim/RazerStream>
- Primary source: <https://github.com/ShoelessTim/RazerStream/blob/3d762a19394b5e830d9dcb66675d435596f19df8/README.md>
- Catalog page: <https://awesomerea.org/resources/razerstream-case/>
- Record JSON: <https://awesomerea.org/resources/razerstream-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/razerstream-case/index.md)

## Requirements & limits

- **Prerequisites:** macOS 14 or newer and a Razer Stream Controller with USB VID 0x1532 and PID 0x0D06.
- **Prerequisites:** Xcode 16 or newer to build from source; Accessibility permission is needed for keystroke and media-key actions.
- **Limits:** The app targets macOS only.
- **License:** MIT license.

## Primary sources

1. <https://github.com/ShoelessTim/RazerStream/blob/3d762a19394b5e830d9dcb66675d435596f19df8/README.md>
2. <https://github.com/ShoelessTim/RazerStream/blob/3d762a19394b5e830d9dcb66675d435596f19df8/PROTOCOL.md>

## More in Protocols

- [DABplay+: reconstructing USB DAB+ dongle control](https://awesomerea.org/resources/dabplayplus-case/index.md) · Case study
- [PocketPrinter5890: reconstructing the Lidl 5890 printer protocol](https://awesomerea.org/resources/pocketprinter5890-case/index.md) · Case study
- [Parking sensor kit: reconstructing its display protocol](https://awesomerea.org/resources/parking-sensor-protocol-case/index.md) · Case study
- [pyhaseiq: reconstructing the older Hase iQ stove's WebSocket protocol](https://awesomerea.org/resources/pyhaseiq-case/index.md) · Case study
- [LED Controller: a BanlanX BLE client with audio-feed protocol findings](https://awesomerea.org/resources/led-controller-banlanx-case/index.md) · Case study
- [Zemismart Blind Controller Protocol: RF command reconstruction](https://awesomerea.org/resources/zemismart-blind-protocol-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
