Bluetooth PS3 Controllers Modernize The Nintendo GameCube

While the PlayStation 3 and Gamecube come from opposing sides of the aisle, and in fact aren’t even from the same generation of hardware, this DIY adapter built by [Jeannot] allows Nintendo’s console to use Sony’s Bluetooth controllers with surprisingly little fuss. This might seem unnecessary given the fact that Nintendo put out an official wireless controller for the system, but given how expensive they are on the second-hand market, you’d need to have pretty deep pockets for an untethered four-player session. Plus, there’s plenty of people who simply prefer the more traditional control layout offered by Sony’s pad.

The internals of the 3D printed adapter are actually quite straightforward, consisting of nothing more than an Arduino Nano wired to a MAX3421E USB host shield. A common USB Bluetooth adapter is plugged into the shield, and the enclosure has an opening so it can be swapped out easily; which is important since that’s what the PS3 controller is actually paired to.

A Gamecube controller extension cable must be sacrificed to source the male connector, though if you wanted to fully commit to using Bluetooth controllers, it seems like you could turn this into an internal modification fairly easily. That would let you solder right to the controller port’s pads on the PCB, cutting the bill of materials down ever further.

[Jeannot] says the firmware is the product of combining a few existing libraries with a fair amount of experimentation, but as demonstrated in the video below, it works well enough to navigate the console’s built-in menu system. Future enhancements include getting the stick sensitivity closer to the values for the Gamecube’s standard controller, and adapting the code to work with newer PS4 controllers.

We’ve seen a fair amount of projects dedicated to the Gamecube’s official wireless controller, the Wavebird. From reverse engineering its RF communications protocol to adapting it for use with Nintendo’s latest console. There’s little debate that the Wavebird is a fine piece of engineering, but with how cheap and plentiful PlayStation controllers are, they tend to be the one hackers reach for when they want a dual-stick interface for their latest creation.

19 thoughts on “Bluetooth PS3 Controllers Modernize The Nintendo GameCube

    1. I was thinking that while reading as well, but credit to the designer for making this work with the parts they knew and had. Nothing stops one of us from doing the same thing with an ESP32. If anything this helps as it A) proves the concept out B) provides some code that can at least serve as inspiration for an ESP32 implementation.

      I wish we had a better source of connectors. :(

          1. > Fine, buy controllers or extension cables off eBay that are out of production and destroy those. That’s obviously a far better solution.

            I’m a collector but I also live on a planet with finite resources so while I’d definititely cringe by seeing many sorts of destruction (some call it mods or consolization) of old/collectible gaming hardware, it’s still a far better solution than buying something new (hence validating creation of new devices, consuming said finite planet’s resources) to turn it into e-waste.

            There’s no perfect solution but reusing already made objects is still better than buying new ones (even if they’re made from recycled material).

  1. Nicohood library is written for 16MHz AVR. I didn’t want to tune the timings in the assembly code of the library.
    For the dongle being outside, it is needed for the pairing process of the controller so it knows the mac of the usb host.

  2. Gamecube has arguably one of the best controller designs.. Why would you switch to the inferior playstation design where it doesn’t feel at all as natural to use a control stick?

Leave a Reply to Moofish2842Cancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.