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

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.

The Problem It Solves

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.

Setup and Hardware

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.

Configuration and Modes

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
  • 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.

Platform Compatibility

Compatibility depends on the platform:

  • 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.

Related Project: ReversePuck

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.

Conclusion

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.

Comments

No comments yet. Start the discussion.