https://github.com/jcalado/companion-surface-d200
Bitfocus Companion surface plugin for the Ulanzi Stream Controller D200
https://github.com/jcalado/companion-surface-d200
bitfocus-companion companion companion-surface hid node-hid stream-controller stream-deck typescript ulanzi ulanzi-d200
Last synced: about 2 months ago
JSON representation
Bitfocus Companion surface plugin for the Ulanzi Stream Controller D200
- Host: GitHub
- URL: https://github.com/jcalado/companion-surface-d200
- Owner: jcalado
- Created: 2026-04-20T20:13:22.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-04-21T08:28:32.000Z (about 2 months ago)
- Last Synced: 2026-04-21T09:26:34.157Z (about 2 months ago)
- Topics: bitfocus-companion, companion, companion-surface, hid, node-hid, stream-controller, stream-deck, typescript, ulanzi, ulanzi-d200
- Language: JavaScript
- Homepage: https://www.ulanzi.com/products/stream-controller-d200
- Size: 121 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# companion-surface-ulanzi-d200
Companion surface plugin for the **[Ulanzi Stream Controller D200](https://www.ulanzi.com/products/stream-controller-d200)**: 13 physical
buttons on a 5×3 grid plus a status window, 196×196 px icons.
Built against [`@companion-surface/base`](https://github.com/bitfocus/companion-surface-api).
Wire protocol reverse-engineered with help from
[redphx/strmdck](https://github.com/redphx/strmdck) and USBPcap captures of
Ulanzi Studio.
## Features
- 13 configurable buttons, each with a Companion-rendered icon
- Brightness control from Companion
- Button press/release events
- Small-window status display with seven modes (analog dial clock, four
digital clock variants (time; time + weekday; time + date; date + time +
weekday), system stats (CPU / RAM), or a custom background image),
selectable per-surface via the ⚙ **Config** panel. Digital modes honour a
12/24-hour checkbox. Background images are loaded from a local file path
(PNG/JPEG), automatically resized and center-cropped to 458×196.
## Quickstart
Requires **Companion 4.3.0+** and **Node 22**.
```bash
yarn install
yarn build
```
Then register the build directory with Companion as a developer module and
enable it under **Modules → Surfaces**. Windows works out of the box; Linux
needs a udev rule and a USB 2.0 hub.
See [**SETUP.md**](./SETUP.md) for the full walkthrough, platform notes,
firmware quirks, and troubleshooting.
## Development
```bash
yarn dev # tsc --watch
yarn build # → dist/
yarn package # full package for Companion
```
## Not yet implemented
- Keyboard emulation on interface 1 (intentionally left to `usbhid`)
## Support the project
If this plugin is useful to you, you can buy me a coffee at
[ko-fi.com/jcalado](https://ko-fi.com/jcalado). Support helps keep the project
maintained and encourages future work (more surfaces, bug fixes, features).
## License
MIT.