VB Controller USB Adapter

Originally Nov. 23rd 2017
Updated 09/29/2018

Just updated to support the new VirtualBoyGo emulator!!

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.

Here’s a few from the second batch.

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

And here’s the latest hex file to program the DFRobot Beetle board for the VB controller USB adapter.

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, contact me via my contact page.