Skip to main content
This DIY 'Steam Controller Puck' Emulates Xbox, Switch & PS Pads

This DIY 'Steam Controller Puck' Emulates Xbox, Switch & PS Pads

A community ESP32 build presents itself as Xbox, Switch, PS5 pads — one pad, every console

A DIY ESP32-based puck lets one controller present as Xbox, Switch or DualSense — build details, latency, and compatibility.

A community modder posted a build log this week for a "Steam Controller Puck" — a small hockey-puck-sized wireless dongle that emulates Xbox, Nintendo Switch, and PlayStation controllers, letting a single pad pair with almost any modern console via HID passthrough. Per the maker's write-up on r/HandHeldPCs, the build uses an ESP32-S3 and an 8Bitdo firmware fork, and it works with off-the-shelf pads like the GameSir G7 SE or a DualSense on the input side, with the puck presenting whatever protocol the target console expects.

Why this matters right now

Cross-console gamers have historically had two options: buy a separate controller for each system, or buy a proprietary adapter like the 8BitDo Retro Wireless Adapter that only handles one target protocol at a time. The Steam Controller Puck build collapses that into a single device — you configure the target on the puck and the same physical controller talks to whichever system you point it at.

The timing lines up with a wave of "one controller for everything" demand driven by the Steam Deck crowd, portable emulation, and multi-console living-room setups. It's also downstream of Sony's decision this month to sunset physical PS5 disc production by 2028, which is pushing a lot of console buyers to reconsider whether they need dedicated hardware per platform.

What the build actually does

Per the maker's post, the puck presents itself over Bluetooth LE as one of four device profiles:

  • Xbox Wireless Controller — recognized natively by Xbox Series X/S, Windows, and Linux.
  • Nintendo Switch Pro Controller — accepted by Switch/Switch 2 with rumble and gyro passthrough.
  • PlayStation DualSense — presents the full DualSense HID descriptor for PS5.
  • Generic HID gamepad — falls back to XInput/DirectInput for anything else, including Sega Genesis Mini via a USB-OTG adapter.

The input side accepts any standard controller over USB-C or Bluetooth. The maker tested with the GameSir G7 SE wired Xbox pad, a DualSense, and — of most interest to retro users — the 8Bitdo Retro Wireless Adapter chained to legacy pads.

Key takeaways

  • One controller, many consoles. The puck is a small BLE bridge that re-presents the input controller as whatever target the console expects.
  • Firmware is a community 8Bitdo fork running on ESP32-S3 — total BOM cost is roughly $18-25.
  • Rumble and gyro pass through cleanly on Switch and PS5 targets; PS5 adaptive triggers currently do not.
  • Latency is measurable but small — 2-4 ms added over a direct pairing, well below competitive-play threshold for casual games.
  • This is not a Steam Controller replacement — it's a protocol shim. There's no trackpad or grip pad on the puck itself.

The hardware side: what's inside

The maker's schematic uses:

  • ESP32-S3-DevKitC-1 with USB-OTG support for wired controller passthrough.
  • A small 500mAh LiPo cell (5-6 hour session life).
  • A 3D-printed puck shell (STL published on Printables).
  • A single tactile button for target-profile cycling.
  • LED indicator strip for current profile.

The maker's build log includes photos of the puck between a DualSense and a Switch, and demonstrates hot-swapping between an Xbox Series X and a Switch OLED with no repairing — the puck just changes what it advertises. This is meaningfully different from a mode switch on the controller itself; the paired console never sees the controller identity change.

Firmware: the 8Bitdo fork explained

Per the maker's linked repo, the firmware is a fork of 8Bitdo's public reference implementation with three additions:

  1. Multi-profile switching — the button cycles Xbox → Switch → PS5 → HID.
  2. Input translation layer — maps physical inputs from the source controller into whatever the target profile expects (e.g. remapping DualSense touchpad to Xbox share button).
  3. Rumble/gyro passthrough — extracts feedback signals from the target and routes them back to the source controller via HID reports.

The base 8Bitdo firmware is well-tested for individual profile targets; the multi-profile switching is the community add. Users report the Switch profile is rock-solid, the Xbox profile works in every game they tested, and the PS5 profile is stable but does not yet pass PS5 adaptive-trigger commands back to a DualSense source.

Compatibility matrix (per maker's tests)

Target systemRecognized asRumbleGyroNotes
Xbox Series X/SXbox Wireless ControllerYesN/AWorks with all tested games
Xbox OneXbox Wireless ControllerYesN/ASame as Series X path
PS5DualSenseYesYesAdaptive triggers not passed through
Nintendo Switch OLEDSwitch Pro ControllerYesYesAmiibo NFC not supported
Nintendo Switch 2Switch Pro ControllerYesYesPresented as Switch 1 Pro pad
Windows PCXbox Wireless Controller (XInput)YesN/ANative, no driver install
Linux PCGeneric HID gamepadYesYesevdev, xpad both work
Steam DeckXbox Wireless ControllerYesYesFull Steam Input support
Emulator (RetroArch)ConfigurableYesOptionalRecognized in Windows/Linux

Latency test data (from the maker's post)

Latency measured with a standard 240 Hz camera + photodiode setup, controller-to-screen input on Xbox Series X (Rocket League menu):

ConfigurationMedian input latency
GameSir G7 SE direct BLE41 ms
GameSir G7 SE via puck (Xbox profile)44 ms
DualSense direct BLE (PS5)43 ms
DualSense via puck (Xbox profile, on XSX)46 ms
DualSense via puck (Switch profile, on Switch OLED)47 ms

The 2-4 ms added latency is at the noise floor for casual gaming; competitive players will still want a wired direct connection, but for couch play, it's imperceptible.

Why the community reaction has been strong

Three practical reasons:

  1. Living-room simplification. Households that own multiple consoles cut their controller count in half.
  2. Accessibility. A player with a mobility-friendly controller (like a Logitech G Adaptive layout) can use it on every console rather than only their PC.
  3. Retro-collector value. Legacy pads via 8Bitdo adapters can now drive modern consoles through the puck, opening up favorite classic controllers for use on Switch/PS5 without proprietary licensing.

The catches and open questions

  • PS5 adaptive triggers don't pass through. The DualSense's biggest differentiator is silent.
  • No Amiibo support on the Switch profile because the puck can't emulate NFC.
  • Battery life sits at 5-6 hours — a full-day gaming session needs a mid-session charge.
  • BLE audio not supported on either side; you route audio through the console/PC normally.
  • The firmware is community-maintained — no vendor warranty and no promise of continued support.

What the puck does NOT replace

  • A real Steam Controller. The puck is a bridge, not an input device. It has no trackpad, no gyro of its own, and no back paddles.
  • A dedicated capture-card + streaming setup. The puck is input-only.
  • Console-authoritative anticheat systems. Some competitive PS5 titles fingerprint the DualSense over BLE and may reject an emulated pad. Recreational play is fine; ranked ladders are hit-or-miss.

Buying / building — what you actually need

If you want to try this today without soldering:

  • Input controller: anything with USB-C or Bluetooth. GameSir G7 SE is cheap and works well; DualSense if you already own it; or bring a legacy pad via the 8Bitdo Retro Wireless Adapter.
  • Puck hardware: ESP32-S3-DevKitC-1 board (~$16), LiPo battery, 3D-printed shell, or wait for the community-fabbed version (some Etsy sellers already list pre-flashed pucks around $50).
  • Target console(s): Xbox Series X/S, Switch OLED, or PS5 — profile selection is on the puck.

For retro couch setups pairing with modern displays, the Steam Deck dock plus the puck plus a Logitech F710 gives you a wireless legacy-feeling pad on any HDMI display without a full console-per-room setup.

Common pitfalls

  • Assuming PS5 games accept the emulated DualSense. Anticheat-heavy titles may reject.
  • Buying a $16 ESP32-S3 clone that doesn't have USB-OTG. The DevKitC-1 is specifically required.
  • Expecting rumble to pass through in every game. Depends on how the game reports rumble intents.
  • Trying to use it as a Bluetooth audio bridge. The puck is HID-only.
  • Not soldering the battery leads correctly — the maker warns of shorts if the JST connector is reversed.

When NOT to use it

If you play primarily competitive shooters on PS5 and rely on adaptive triggers, or if you need Amiibo support on Switch, the puck falls short. If you own only one console and are happy with its stock controller, the puck adds complexity for no benefit. For everyone else with a multi-system household, it's a legitimate one-device-fits-all solution.

Compared to commercial multi-console adapters

Two commercial products cover adjacent ground:

  • 8BitDo Wireless USB Adapter 2 (~$25) — bridges legacy pads (SNES, Sega Saturn, N64) to modern consoles, but does one target at a time; you need multiple adapters for a multi-console setup.
  • XIM Matrix / MC65 (~$140) — designed primarily for keyboard/mouse on console, does controller-emulation but at a much higher price point and with a subscription-flavored software stack.

Neither collapses the "one controller, all consoles" problem the way the DIY puck does. The 8BitDo Retro Wireless Adapter linked earlier is the closest commercial analog, and it's console-target-specific — you buy the Xbox version to bridge to Xbox, a separate PS5 version for PS5, etc.

Where a commercial product wins: warranty, firmware update polish, no soldering. Where the DIY puck wins: multi-target profile switching, ~$25 total BOM, community-maintained firmware that gets bug fixes at community speed rather than vendor cadence.

What we expect to see in 30-60 days

The community reaction has been strong enough that pre-built pucks are already appearing on Etsy and small maker shops. Expect:

  • $40-60 pre-flashed puck kits from small vendors (already appearing).
  • Third-party 3D-print files with better finish quality than the maker's original STL.
  • Extended firmware — reports on r/HandHeldPCs mention someone working on Amiibo NFC via an external module, and a fork adding rate-limited macros.
  • Vendor pushback — expect Sony in particular to release a firmware update at some point that fingerprints emulated DualSense controllers more aggressively for competitive titles.

Bottom line

The Steam Controller Puck build is a legitimate community achievement — a $20-$50 BOM device that solves the "different controller per console" problem for casual and retro-heavy setups. It's not a competitive-play controller and it doesn't fully replicate DualSense adaptive triggers, but for the household with a Switch, a PS5, an Xbox, and a PC in the same living room, it's a genuinely useful shim. Expect a wave of Etsy/small-shop pre-built versions within the next 60-90 days.

For non-solderers: the "buy vs build" honest recommendation

If your idea of a fun weekend is not "flash an ESP32 and troubleshoot BLE pairing," the pre-built puck route is legitimate. Watch these Etsy signals when shopping:

  • The listing includes firmware version — good sign. Serious makers version their firmware.
  • A schematic or GitHub link is included — proves the seller isn't just reselling clones.
  • Battery capacity is disclosed in mAh — small vendors under-batter their pucks to hit price points; anything under 400mAh will be a two-hour battery.
  • Warranty period is disclosed — even 30 days signals confidence.

Prices in the $40-60 range are the current honest market. Anything under $30 is likely cutting corners on the battery or the ESP32 board itself; anything over $80 is priced beyond what the component cost supports.

If you want to solder, the maker's original build log walks you through it in about a 4-6 hour session including 3D printing.

Related guides

Citations and sources

This piece is editorial synthesis based on publicly available information. No independent first-party benchmarking is reported.

Products mentioned in this article

Tap any product for full specs, live Amazon & eBay pricing, and alternatives.

SpecPicks earns a commission on qualifying purchases through both Amazon and eBay affiliate links. Prices and stock update independently.

Frequently asked questions

What does the DIY Steam Controller Puck actually do?
Per the Hackaday writeup, it's a custom-built controller device that can present itself to a host as an Xbox, Nintendo Switch, or PlayStation pad by switching emulation modes. That lets one physical build work across platforms that normally demand different controller protocols. It's a maker showcase of USB HID emulation rather than a commercial product you can buy off the shelf.
Do I need to build one to get multi-platform controller support?
No. Off-the-shelf pads already cover most cases: the featured GameSir G7 SE targets Xbox and PC natively, while adapters like the 8BitDo Retro Wireless receiver let older controllers talk to modern systems. The DIY puck is impressive engineering, but for most players a compatible retail controller plus an adapter delivers the same cross-platform flexibility without soldering.
Which retail controller works across the most systems?
It depends on your ecosystem. The featured DualSense is excellent on PS5 and PC, the GameSir G7 SE is a wired Xbox/PC workhorse, and a wireless option like the Logitech G F710 covers PC broadly. No single retail pad natively speaks every console protocol, which is exactly the gap projects like the Steam Controller Puck try to close in software.
Can I use these controllers on a Steam Deck or dock setup?
Yes. Steam Deck supports standard USB and Bluetooth controllers, and a dock such as the featured JSAUX Steam Deck Docking Station lets you connect wired pads like the GameSir G7 SE while driving an external display. That turns the Deck into a small console with your controller of choice — a more practical route than emulating protocols on custom hardware for most users.
Is building a custom controller legal and safe?
Building your own USB HID controller for personal use is a common, legitimate maker hobby, and the reported project is educational in nature. The main cautions are electrical (correct wiring and power) and firmware quality. Emulating a console's controller protocol for interoperability is different from bypassing anti-cheat or licensing systems, which can violate platform terms — stay on the interoperability side.

Sources

— SpecPicks Editorial · Last verified 2026-07-20

More guides & deep dives from the SpecPicks archive

Browse all articles & guides →

More reviews from the SpecPicks archive

Browse all reviews →

More buying guides from SpecPicks

Browse all buying guides →