A universal controller diagnostic, display, and testing utility. The next-generation GamePad Viewer built on WebHID and WebUSB.
DeviceBuddy is a work in progress.
If you found this project, you probably stumbled across it early.
It is new, so expect bugs, missing features, and frequent changes.
๐ Online version: https://ulao.github.io/DeviceBuddy/
Anyone interested in development can go to https://discord.gg/KvVWhwH3U and join the #DeviceBuddy discussion. or enter an issue on GitHub.
DeviceBuddy is a quick and flexible controller utility designed to replace the many limited controller testers currently available.
The goal is to support as many controllers as possible while remaining configurable and expandable.
This is not an exclusive Bliss-Box tool. Support will be added for any controller hardware that can be identified and communicated with.
This is the first public version.
Current status:
- Bliss-Box API support is implemented, including device flashing.
- Tested with multiple controllers
- Windows support
- Linux support
- WebHID/WebHID controller communication
The Gamepad API is great, and there are many excellent gamepad testers available that use it. Device Buddy takes a different approach.
The Gamepad API is designed to expose standard controller inputsโbuttons, analog sticks, but it doesn't provide access to advanced USB HID features such as control transfers, feature reports, or vendor-specific data. Because of these limitations, browser-based tools have traditionally been unable to fully configure, map, or communicate with advanced controller adapters.
By using WebHID/WebUSB instead of the Gamepad API, Device Buddy can communicate directly with supported hardware. This makes it possible to perform advanced mapping, configure device settings, update firmware, and access features that were previously only available through desktop software.
As a result, industry-leading adapters such as Bliss-Box and Raphnet can now be fully configured and managed directly from a web browserโno software installation required.
| System | Support |
|---|---|
| 3DO | โ |
| Atari 2600 | โ |
| Atari 5200 | โ |
| Atari 7800 | โ |
| Atari Paddles | โ |
| Bally Astrocade | โ |
| Gemini Paddle | โ |
| Philips CD-i | โ |
| Sega Dreamcast | โ |
| Nintendo GameCube | โ |
| Sega Genesis (3 Button) | โ |
| Sega Genesis (6 Button) | โ |
| Sega Paddle | โ |
| Atari Jaguar | โ |
| Neo Geo | โ |
| Nintendo Entertainment System | โ |
| Nintendo 64 | โ |
| Nintendo VAUS Paddle | โ |
| Nintendo Wii Controller | โ |
| Nintendo Wii Nunchuck | โ |
| Attmark Pippin | โ |
| Sony PlayStation | โ |
| Sony PlayStation 4 | โ |
| Sega Saturn | โ |
| Sega Saturn 3D Stick | โ |
| Super Nintendo | โ |
| TurboGrafx-16 | โ |
| PC Engine | โ |
| Virtual Boy | โ |
| Xbox One | โ |
| Xbox 360 | โ |
| Xbox Original | โ |
| Nintendo Switch | โ |
If you download the source and want to run DeviceBuddy locally, Chromium-based browsers are required.
Tested browsers:
- Chrome
- Opera
- Edge
Launch with:
chrome.exe --allow-file-access-from-files --disable-web-security --user-data-dir="C:\temp\chrome_dev""C:\Program Files\Opera\launcher.exe" --allow-file-access-from-files --disable-web-security --disable-site-isolation-trials --user-data-dir="C:\temp\opera_dev""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --allow-file-access-from-files --disable-web-security --disable-site-isolation-trials --user-data-dir="C:\temp\edge_dev"Linux users may need HID permissions.
Find your device name:
mcs-gamer-pro
Create:
sudo nano /etc/udev/rules.d/99-mcs-gamer-pro.rules
Add:
exmaple Bliss-Box port 1
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0d04", MODE="0666"
example Bliss-Box bootloader updater:
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="04fb", MODE="0666"
Reload rules:
sudo udevadm control --reload-rules
sudo udevadm triggerWithin the app you can press Scroll Lock to hide everything except the controller. You can also choose your own controller fill color.
In OBS, use Window Capture for the browser window.
To crop, hold Alt while dragging the edges of the source to crop the image.
Right-click your Window Capture source in OBS and choose Filters .Click the + button under Effect Filters (on the bottom left). Select Color Key (do not choose Chroma Key) and name it. Choose Custom Color from the Key Color Type. Set the Key Color Type to Custom Color .Click Select Color, choose pure White, and click OK. If done correctly, you'll have a controller overlay.
if done right you will have a comtroller overlay
This project is not open source.
Copyright (c) 2026 Bliss-Box LLC
Permission to use, modify, or redistribute this code is granted only if:
- This copyright notice remains.
- The Bliss-Box logo remains visible.
- A visible link to https://bliss-box.com remains on the page.
- Derivative works continue to display this attribution.
Bliss-Boxยฎ and the Bliss-Box logo are trademarks of Bliss-Box LLC.
All rights reserved.
** Overlays
Bliss-Box makes old and new game hardware work together.
Whether it's a controller from the 1980s, or an arcade stick you built yourself, Bliss-Box products let you connect the controller you love to the system you want to play.
Instead of replacing your favorite controllers, Bliss-Box gives them a new life.
Plug classic console controllers, arcade sticks, fight sticks, racing wheels, and specialty controllers into a single USB adapter.
- โ No soldering
- โ No complicated setup
- โ Just play
- โ Lowest lag posible
Perfect for:
- Steam
- RetroArch
- MAME
- FPGA systems
- Emulators
- Modern PC games
Bridge adapters translate one controller protocol into another in real time.
For example, use a USB controller on hardware that normally doesn't support USBโor connect controllers between entirely different gaming ecosystems.
Think of it as a universal interpreter for game controllers.
Products like the Bliss-Box Air and Bliss-Box Blender solve unique controller challenges that standard adapters ignore.
Whether it's wireless connectivity, combining multiple controller technologies, or enabling specialized hardware, these devices are designed for gamers who want maximum flexibility.
Keep using your favorite controller instead of buying a replacement.
Support for 100+ controller types spanning decades of gaming history.
Ideal for:
- Retro gamers
- Arcade builders
- Speedrunners
- FPGA users
- Collectors
- Hardware developers
Fast, responsive performance designed specifically for gamingโnot generic USB conversion.
New controller support and firmware updates continue to expand what the hardware can do.
Every product is created by someone who actually uses classic gaming hardwareโnot just someone selling adapters.
At Bliss-Box, we believe you should be able to use your controller to its full potential. Whenever possible, we push beyond the standard limitations to support advanced features such as pressure-sensitive buttons, gyroscopes, LCD displays, memory card access, and much more.
Take a look at the source code behind Device Buddy to see what's possible with the API. Its straightforward interface makes it easy to access powerful controller features that are typically unavailable through conventional gamepad APIs.
Our goal is simple: give developers and gamers complete access to their hardware so they can enjoy the best possible gaming experience.
Many adapters solve only one problem:
"This controller works on this console."
Bliss-Box is different.
It is an entire ecosystem built around one idea:
Whether you're preserving gaming history, building the ultimate arcade cabinet, speedrunning with original hardware, or simply playing with the controller that feels best in your hands, Bliss-Box removes the barriers between generations of gaming.
Bliss-Box LLC Bliss-Box.com](https://bliss-box.com)