Nintendo made some questionable decisions during the early 2000’s, but developing the WaveBird certainly wasn’t one of them. Years before wireless controllers were the standard on home game consoles, the WaveBird gave GameCube owners a glimpse into the future. It managed to deliver lag-free gaming without resorting to easily-blocked infrared, and had a battery life and range long enough that there was really no downside to cutting the cord aside from the lack of rumble support.
In fact, the WaveBird was such a good controller that some fans just can’t put the thing down even in 2019. [Bill Paxton] loves his so much that he decided to modify it so he could use it on Nintendo’s latest money printing machine, the Switch, without having to fiddle with any adapters. While he was at it, he decided to fix the only serious drawback of the controller and hack in some rumble motors; arguably making his re-imagined WaveBird superior in just about every way to the original.
It might be counter-intuitive, but the trick here is that [Bill] actually took the internals from a standard wired GameCube controller and fitted it all into the case for the WaveBird. That’s how he got the rumble support back, but where does the signature wireless capability come from?
For that, he took apart a “GBros. Wireless Adapter” from 8BitDo. This gadget is intended to let you use your existing GameCube controllers on the Switch wirelessly, so all he had to do was shove its PCB inside the controller and wire it directly to the pads on the controller’s board. Thankfully, the WaveBird was rather husky to begin with, so there’s enough space inside to add all the extra hardware without much fuss.
Readers who were firmly on Team Nintendo in the early 2000’s or so can tell you that there was no accessory cooler for the Nintendo GameCube than the WaveBird. Previous attempts at wireless game controllers had generally either been sketchy third-party accessories or based around IR, and in both cases the end result was that the thing barely worked. The WaveBird on the other hand was not only an official product by Nintendo, but used 2.4 GHz to communicate with the system. Some concessions had to be made with the WaveBird; it lacked rumble, was a bit heavier than the stock controllers, and required a receiver “dongle”, but on the whole the WaveBird represented the shape of things to come for game controllers.
Even if you’ve never seen a GameCube or its somewhat pudgy wireless controller, you’re going to want to read though the incredible amount of information [Sam] has compiled in his GitHub repository for this project.
Starting with defining what a signal is to begin with, [Sam] walks the reader though Fourier transforms, the different types of modulations, decoding packets, and making sense of error correction. In the end, [Sam] presents a final summation of the wireless protocol, as well as a simple Python tool that let’s the HackRF impersonate a WaveBird and send button presses and stick inputs to an unmodified GameCube.