Enthusiast project turns the Steam Controller into a cross-platform gamepad

First look: An open-source firmware project called OpenPuck lets Valve’s Steam Controller mimic other gamepads without requiring Steam to run in the background. The project was built by an enthusiast known as Safijari and runs on a microcontroller that translates inputs on the device itself. The firmware reads the controller’s raw input and, in real time, remaps it to Xbox, PlayStation, or Nintendo-style layouts.

Valve’s new Steam Controller doesn’t natively support XInput, even though XInput remains the standard for many PC games and devices. Typically, Steam has to stay open in the background to bridge that gap. With OpenPuck, the microcontroller handles the translation itself, so Steam doesn’t have to.

Setting it up is straightforward if you’re comfortable with basic microcontroller work. The firmware runs on boards such as the Pro Micro nRF52840, which includes Bluetooth and 2.4 GHz radios. After putting the board into DFU mode and connecting it via USB-C, users can flash it with an Arduino sketch. At that point, the board becomes an OpenPuck, acting as a bridge between the Steam Controller and the device you’re using. There’s also an option to 3D print a case to clean up the final build.

After flashing, users can manage the device through a web-based configurator that runs on the WebUSB API. From there, it’s possible to switch between controller modes, including Switch Pro, Xbox, DualSense, and DualShock 4.

The project description claims the puck has a latency of about 1 millisecond. In use, the Steam Controller behaves much like an official Switch, Xbox, or PlayStation pad once it’s set up. Some modes can be toggled directly using button combinations on the controller, while others – like the PlayStation profiles – need to be selected through the web interface.

Compatibility depends on the platform. The Switch mode works directly on Nintendo’s console and supports gyro and haptics, though users can also choose a simpler Hori Pad emulation that disables those features. PlayStation support is more limited: DualSense and DualShock 4 modes work on PC, while a separate DualShock 3 mode allows native use on a PlayStation 3, including Sixaxis motion controls. The original Steam Controller mode is still available.

There’s also a related project called ReversePuck that extends the idea further. It uses a second NRF52840 Pro Micro board so a Steam Deck can act as a wireless controller. In that setup, the Steam Deck’s inputs are transmitted over a 2.4 GHz connection to a PC running OpenPuck. Most features carry over, though grip inputs aren’t supported.

For a simple dev board and some firmware, OpenPuck offers a surprising amount of flexibility. Because the translation happens on the puck itself, it no longer depends on Steam Input in the background. For users, it’s a practical way to get more use out of the Steam Controller. For developers and hobbyists, it shows how a small embedded board can fix controller compatibility issues that usually need extra software.

Scroll to Top