Gamecube ASCII controller USB Retrofit
(April 2026 - )
1. PRESENTATION
There is this rather obscure piece of hardware called the GameCube ASCII Controller. It was made specifically for Phantasy Star Online and was only released in Japan. Since the GameCube was a big part of my childhood, and I also happen to be a keyboard enthusiast, this felt like the perfect excuse for another unnecessarily complicated project. The idea is to replace the original PCBs and turn the whole thing into a regular USB device — basically doing the same thing I did with my keypad. The PC should see it as both a keyboard and an Xbox controller.
If you haven't already, I recommend reading the Keypad page first, as this project borrows quite a few ideas from it.
Just like the keypad, I'll use two microcontrollers: one for the keyboard side, running QMK, and another for the XInput side, running Arduino on a specialized ATmega32U4 setup with a custom USB descriptor. The two controllers will talk to each other over UART at 115200 baud. It's no DMA SPI, but it'll do. As long as they can exchange everything without any noticeable latency, that's good enough for this project.
The USB hub, combining the USB connections from both controllers, will be connected to a small daughterboard that will sit neatly behind this suspiciously USB-C-looking hole, where the main cables used to be :
2. THE OUTLINE (EDGE.CUT)
Armed with my trusty Mitutoyo caliper, I measured all around to get the shapes and dimension of the three PCBs on this controller. I designed the three pieces in SolidWorks and printed them in PLA to verify that they accurately replicated the original PCBs.
Left side, bottom view
Left side, top view
Left side, STL
Left side, STL on top of the PCB
Right side, bottom view
Right side, top view
Right side, STL
Right side, STL
Right side, STL on top of the PCB
I will make multiple revisions of the PCBs. A first one with no parts or assembly. Once I am comfortable with how it fits together, I will order the populated and assembled version.
3. DESIGNING
The basic architecture is fairly straightforward: the keyboard side runs QMK, while the controller side handles XInput. The main challenge is fitting everything onto the replacement PCBs while keeping the original mechanical layout intact. I use an I2C I/O expander since lots of pins are needed for the keyboard matrix
Schematic. Click to view full size
PCB top view. Click to view full size
PCB bottom view. Click to view full size
09.2026 - TO BE CONTINUED