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.
Wouldn’t make more sense to use an esp32, it has BLE and its 3.3v native…
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. :(
GameStop sells a store brand of GameCube controller for like $15. Nobody should feel bad about snipping the cables off those.
$15 for *one* connector? Plus making the whole rest of the controller into waste? Yeah, you might be missing what “feel bad” means.
Fine, buy controllers or extension cables off eBay that are out of production and destroy those. That’s obviously a far better solution.
> 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).
Or you can buy 3rd party extension cable off AliExpress for 3$ shipped which will be less expensive and costly.
That sounds better.
It’s probably feasible to 3d print them. You’ll just need a source of appropriately springy contacts.
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.
mistake : mac address of the BT dongle!
Can’t that be read from the adapter through USB? Or am I misunderstanding you?
What is new? We have blueretro that works with bt on the gamecube and Support 4 players
Thanks ;) It even support the PSO keyboard now :)
Because you can make this with two modules that might already be in your junk bin.
Yeah a arduino is in a junk bin.
A esp32 is cheaper and Support 4 players over bt with 1 module
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?
Great! Now I’m just waiting for this to come full circle and I can get new receivers for my OG wavebirds that are missing them.
Would be nice to use an 8Bitdo, Wii, Wii U or a Switch Pro Controller. Also does it introduce lag. I will always pick wired over wireless for the old stuff.