OpenPuck

Set up your OpenPuck — pick your kit · updated August 22, 2026

An OpenPuck is a tiny dongle that acts as a Steam Controller 2 wireless receiver (and can stand in as an Xbox, Switch Pro, or PlayStation pad). Tell us which one you have and we’ll show the right steps.

Which OpenPuck do you have?

The short version

Your OpenPuck came flashed and assembled — nothing to build or install. Plug it into the machine you play on, pair your Steam Controller 2, and you’re set.

1 Plug it in

Plug the OpenPuck into a USB port on the machine you play on — your Steam Machine, gaming PC, laptop, or a dock — with the included USB-C data cable. It powers on right away and is recognized as a “Steam Controller Puck.” No drivers, no setup.

Any USB-A or USB-C port works. If you swap in your own cable or an adapter, make sure it’s a data cable — some are charge-only and won’t work.

2 Pair your controller

Turn on your Steam Controller 2 and put it in pairing mode — it links to the OpenPuck just like Valve’s official dongle. For the exact button steps, see the OpenPuck project.

Want a different layout? The OpenPuck can also present as an Xbox, Switch Pro, or PlayStation controller for games that expect those — switched with controller button chords.

3 Play

That’s it — use it like any wireless receiver. Moving to another machine? Just unplug it and plug it into the next one; it reconnects on its own, no reinstall.

Keeping it updated (optional)

Your OpenPuck already ships on current firmware, so there’s nothing you have to do. If a newer version lands later, you can update it two ways: open the OpenPuck configurator in Chrome or Edge with the puck plugged into that computer, or — if you run Couchside on a Steam Machine / Bazzite box — let the app update it in a tap.

Good to know

The short version

You’re building an OpenPuck from the printed case and a board: flash the board first with the Couchside app, stick on the two foam pads, seat the board in the case, and press the lid on. The case is a tight, one-way fit — so the flash has to happen before it closes.

Flash the board before you close the case

The lid presses on tight and is not meant to come off again — the case is designed to stay sealed. If you close it before flashing, the only way back to the board is to pry apart a case that doesn’t want to open. Flashing takes seconds, so do it first and you’ll never have to.

Flash it in seconds — nothing to download

You don’t download a single file. The Couchside app flashes the OpenPuck firmware straight onto the board from your Steam Machine or Bazzite box — no firmware images, no drivers, no drag-and-drop, no command line. Plug the board in, tap Flash, and it’s a Steam Controller 2 receiver moments later.

What you need

1 Flash the firmware — first

Plug the board into your Couchside machine with the USB-C data cable. A fresh board mounts as a tiny USB drive — that’s its bootloader, sitting there ready to be flashed.

Open the Couchside app on your phone and go to Setup → Utilities (flip Utilities on the first time). The OpenPuck card notices the board and shows a Flash button.

Tap Flash. Couchside copies the current OpenPuck firmware onto the board over USB from the box; a few seconds later the board reboots and comes back as a “Steam Controller Puck.” That’s it — the board is now an OpenPuck.

Couchside picks the right firmware, flashes it, and confirms it took — so you can trust it’s done before the case ever closes. Don’t have the app yet?

2 Stick on the foam pads

Peel and stick the two pads to the board exactly as shown below: one across the top near the USB-C end, one across the bottom edge. Keep them clear of the gold pin holes and the USB-C connector itself.

These pads are the anti-rattle. Once the lid is on they press the board firmly against the case so it can’t shift or buzz. Skip them and the board wiggles around inside.

The back of the nRF52840 ProMicro board with two black foam pads applied — one across the top near the USB-C connector, one across the bottom edge.
Foam pad placement: one up near the USB-C end, one across the bottom. This is exactly where they go.

3 Seat the board in the case

Drop the board into the base with the USB-C port lined up to the cutout at the top of the case. Press it gently down until it sits flat; the foam pads compress against the walls and take up all the slack.

Double-check the USB-C opening lines up with the connector before you go further — you want a cable to reach the port cleanly once the case is closed.

The board seated inside the black 3D-printed case base, USB-C connector aligned with the port cutout, foam pads compressed against the case walls.
Board seated in the base, USB-C aligned to the port cutout, foam taking up the slack.

4 Press the lid on

Line the lid up over the base and press it down firmly and evenly until it’s fully seated all the way around. It’s a tight friction fit — it seats home and stays put.

This is the point of no return: the case is built to stay closed and doesn’t pop back apart easily. So before you commit, make sure the board is flashed (step 1) and the USB-C port lines up with the opening.

The finished OpenPuck: the closed black case with OpenPuck embossed on the lid and the USB-C port visible at the top.
Lid pressed on. That’s a finished OpenPuck — sealed for good.

5 Plug in and pair

Your OpenPuck is done. Plug it into whatever you game on — your Steam Machine, a PC, a handheld dock — and pair your Steam Controller 2 to it. It can also stand in as an Xbox, Switch Pro, or PlayStation pad using button chords. If you flashed it on the same machine you’ll play on, it’s already recognized.

Don’t have Couchside yet?

Couchside is a free app that turns your phone into the dashboard and remote for your gaming box — and the easiest way to flash an OpenPuck. Install the service on your box, then flash from your phone in one tap.

Good to know

Keep this guide handy

QR code that opens couchside.tv/openpuck

Point a phone camera at this code to open this page on your phone — it’s the same code that’s on your kit’s sticker.

Questions?

Open an issue on GitHub or email support@couchside.tv.