Originally Nov. 23rd 2017 Updated 11/18/2021
This writeup is the original development blog post on the VB controller USB adapter. It gives an initial look into the original design and why this product was made. This adapter is compatible with the VirtualBoyGo emulator on Quest 1 and Quest 2. The current adapter being sold here at RetroOnyx was updated to emulate an XBox controller specifically for Quest HMDs. It also works with RetroPie and PC platforms via Mednafen.
I decided to develop a Virtual Boy controller USB adapter so that the controller could be used with emulators on a computer. Turns out with the help of Arduino that this is fairly simple to do. I also took the route of using a small commercial-off-the-shelf (COTS) microcontroller board to do it. Within a day I had the controller connected to my computer playing Hyper Fighting in Mednafen. The last step now is to design a case.
The adapter shows up as a gamepad within Windows. There are 3 different mappings. By default all VB controller buttons get mapped to buttons as the VB controller is 14 buttons. I added two other mappings which can be selected by holding the A or B button when the adapter is powered up. Holding the A button down during power up maps the left d-pad to analog X,Y and everything else digital. Holding the B button down during power up maps the left d-pad to analog X,Y and the right d-pad to analog rotation with everything else to buttons.
I also added a new mode specifically for the VirtualBoyGo emulator. This is a VB emulator on the Oculus Go. You need to use a USB OTG adapter as well but holding down the A and B buttons on the VB controller maps it to the native VirtualBoyGo controls. I also needed an extra ‘X’ button to pull up the VirtualBoyGo system menu and that is triggered on the controller by holding down both select and start buttons. This allows a really nice setup on Oculus Go for playing VB games with a real VB controller!
I’ve designed a housing as well. It was designed to look somewhat like the Nintendo cover on the controller connector. I had an initial prototype run of 5 units built out of Carbon Fiber Onyx just like the link cables. Came out really nice!
Here’s the finished product. Looks really nice and very clean with a red and black USB cable.
Another view of just the housed adapter and cable.
A picture of the first batch sent out to PlanetVB members! Awesome people in that community.
If you’re so inclined you can 3D print the parts yourself. These were tweaked to print best in Onyx on a Markforged printer. Top and bottom of housing are included as well as the connector shown below. Download here. I’ve also just finished a center connector design that you can populate with male d-sub pins. Picture of the model below and then a final fully 3D printed assembled adapter. 3D printing the center allows the overall cost to drop $10 and removes any reliance on donor parts.
That’s about it. I believe this is the first VB controller USB adapter that’s made completely from new parts without requiring a controller modification. If you have any questions, feel free to reach out.