BlueCubeMod: Bluetooth GameCube Controller Mod Kit

Convert your GameCube controller to Bluetooth for playing on the Switch, emulators and more

Similar projects worth following
I love Smash Ultimate on the Switch and also love the feel of an Original Nintendo Gamecube Controller, but there wasn’t a great wireless option I was happy about. Nintendo still somewhat supports the GameCube port but I think Bluetooth is the best way to future proof what many believe is one of the best controllers ever made. This is a great mod even for beginners, there’s just a little bit of soldering required to hack your own. And if you’re hardcore, the board files and firmware are available.

How it works:

BlueCubeMod uses an ESP32PicoD4 on a custom board that fits perfectly inside your controller, allowing for USB charging and power to replace where the cable once was. Rumble is not supported in the mod, and a LiPo battery can replace the motor, or for larger batteries, placed in a handle. After soldering in the battery and data lines from the controller, the ESP32 communicates with the GameCube controller, requesting button reports. The device runs as an Bluetooth Joystick, which can connect to and control a variety of devices. All code and board files have been posted.

Heres some demos of Switch as well as Mac/PC support.


3D printable piece to secure mod in place

Standard Tesselated Geometry - 309.85 kB - 05/25/2019 at 05:47


Gerbers + Eagle files

Zip Archive - 164.21 kB - 05/02/2019 at 20:05


Adobe Portable Document Format - 31.99 kB - 05/02/2019 at 20:04


Zip Archive - 14.10 kB - 04/29/2019 at 10:46


  • 1 × ESP32-PICO-D4 RF SoC
  • 1 × STBC08 Power Management ICs / Power Supply Support
  • 1 × 10K Resistor 0402
  • 1 × 8bitdo Wireless Adapter
  • 2 × 4.7k Resistor 0402

View all 21 components

  • v2 Switch Firmware & Kits Available Now

    NathanReeves02/01/2020 at 08:02 0 comments

    Hi hackers,

    It's been a minute-

    The new esp32 firmware with Switch support (no adapter) is available on the GitHub now

    Theres also a small run of mod kits available on Tindie:

    Have fun

  • Securing BlueCubeMod in place

    NathanReeves05/25/2019 at 05:45 1 comment

    If you’re reading this, thanks for supporting my hack! 

    To secure the BlueCube mod in place, I’ve designed a 3d printable piece that uses a 3/8" #2 screw to tap into the post that the cable used to wrap around. Works great. 3d model is available in files.

    What I'm working on next:

    • Step by step instructions
    • Taking pictures and setup Tindie store
    • Assembling 10 beta kits for Tindie

    Don't forget to like the page for a chance to win a controller. You have 1 week left!

  • Make your own BlueCubeMod, added firmware & PCB files, battery design

    NathanReeves05/02/2019 at 19:48 0 comments

    BlueCubeMod firmware is now on GitHub:

    If you have your own esp32 dev board and a gamecube controller you can try this out right now:

    I’ve added the PCB files which contain a few updates from the previous board:

    -Onboard USB to UART programmer w/ auto program 

    -Blue LED tied to GPIO34

    -Slimmed USB port

    -New vertical switch

    Battery Design:

    The 700 mah batteries I could find didn’t fit well in vibration motor slot. For this to work, the battery needs to be smaller than 15x30x20mm. 

    Another idea I’ve been working with is putting the battery in the controller handle. This would allow a larger battery, at the cost of making the controller off balance.  


    500 mah battery(9x30x20mm):

    -4 hour battery life

    -removes vibration motor


    1000 mah battery(10x35x30mm):

    -8 hour battery life

    -keep vibration motor

    -off balance

    I can offer both options for kits, let me know what you think.

    What I’m working on next:

    I need to create a mount that will help secure the mod in place. My idea is to 3d print a cap that screws onto the post that goes through the board:

    Now that I have a final board design, I’ll be getting things ready for a small run of kits to sell on tindie.

    If you like this project, don’t forget to hit the like button for a chance to win a modded controller. Winner chosen June 1st.

    I would love your feedback, if you have something to say let me know!

  • Added Schematics, Wiring Diagram, Components

    NathanReeves04/18/2019 at 23:08 1 comment

    I added the current working version of the schematics. I've been testing these designs with no issues. I also added a parts list, here's a link to the project on the Mouser website where I get my parts:

    Parts come in at $15.52 not including the battery

    Here's a rough wiring diagram to give you an idea of how the mod works

    The final battery is actually 700mah. With the current hardware I estimate a 6 hour playtime but haven't timed it irl. I currently can play a couple hours/day for 3-4 days before needing a charge.

    Coming soon:

    I'm making some final adjustments to the board shape so expect to see the PCB files soon. I get my boards from OSHPark, the design has been no problem to manufacture.

    Stay tuned for when I release my code and my plans for manufacturing and distribution...

View all 4 project logs

Enjoy this project?



Pranav Iyer wrote 09/09/2023 at 16:45 point

Any chance of this ever coming back in stock?

  Are you sure? yes | no

Chad wrote 07/16/2023 at 00:05 point

I would like to modify the design of this so that it uses a type c connector and is mounted flush with the top of the controller. I'm confident that I can create a modified 3d print of the controller shell. Doing this it would be possible to retain both the battery size and the rumble motor as well. And potentially an even larger battery for longer than 8 hours of playtime. Maybe even creating a modified wavebird controller shell might be feasible, then we could use the battery tray to house the battery.

Would it be okay for me to modify your design? and what is the function of the switch that's mounted on the reverse side of the micro usb port? Also if you know of any potential limitations that I would need to overcome to make this work, that would be very helpful as well.

  Are you sure? yes | no

jyanes83 wrote 09/10/2022 at 06:03 point

Any chance there are still kits available?  They show out on Tindie? 

  Are you sure? yes | no

Florian Wille wrote 11/01/2021 at 21:21 point

i wonder what it needs to do that with an n64 controller got a couple laying around and really dont want to throw them into the trash, so any help appreciated 

  Are you sure? yes | no

nintendoswitchdude302019 wrote 07/10/2021 at 17:25 point

I may want to try this, but add in 2 coin vibration motors to each side, and get a TinyPico USB C board, Will that work with that?

  Are you sure? yes | no

Jonasz wrote 05/14/2021 at 08:55 point

Hi. Will you make the kits avaiable on Tindle again? I don't have the means to design a PCB for Pico D4 chip and most (if not all) esp32 dev boards won't fit the GC controller.

  Are you sure? yes | no

Rae Green wrote 01/08/2021 at 05:32 point

Love the project, I've been thinking of doing something like this myself. Can I ask why you went with the ESP32 Pico D4. I saw you said any ESP32 should work for this but I'd like your thoughts on why you went with that one. 

  Are you sure? yes | no

Luka wrote 04/21/2020 at 18:57 point

Amazing project!!! If I were to make it myself with an esp32 would that board need to be a esp32-pico-d4 or can it be any old esp32 like this one

  Are you sure? yes | no

NathanReeves wrote 05/23/2020 at 20:16 point

Hey thanks! 
Any esp32 with bluetooth will work.

  Are you sure? yes | no

Dimi wrote 04/05/2020 at 06:05 point

Truly amazing - may I ask though, do you think you could make a GameCube receiver to  match it? I doubt many other people have to know how - no-one to date has made a Bluetooth compatible receiver for gamecube with rumble support.

  Are you sure? yes | no

Edge Connector wrote 03/30/2020 at 00:29 point

I wanted to mention that BlueCubeMod Wiring.png is actually not correct. The wires are drawn connected to the wrong locations. Your other images have it correct but that one is off. 

  Are you sure? yes | no

NathanReeves wrote 03/30/2020 at 01:12 point

Thanks for finding that! I’ll have to fix the diagram, glad the image could help you, and that you were able to flash v1 on it :) so cool. Thank you so much for supporting the project.

As far as the dolphin issues go, I would try a couple different settings to see if it helps. If you run make menuconfig, you can tweak the clock rate of the esp, it might help to be faster or slower. A couple people noticed a short range on these boards ~6ft, which may be the issue. You could also mess around with how fast the reports are sent to the PC. 
have fun


  Are you sure? yes | no

Edge Connector wrote 03/28/2020 at 22:46 point

Is that the Dolphin emulator you are using? I installed one of your kits and am having issues getting it to configure under Dolphin. 

  Are you sure? yes | no

Edge Connector wrote 03/29/2020 at 18:55 point

Realized your kits were sold for use with the switch. Should have paid closer attention! Can the kits be flashed to work with PC and Mac?

  Are you sure? yes | no

Edge Connector wrote 03/30/2020 at 00:23 point

I was able to flash the version 1 firmware and get it working with a Mac and PC. Things don’t seem as responsive as the videos.  I’ll be putting version 2 back on the esp32 and trying it on my switch to see how it performs. Any thoughts on the erratic PC/Mac performance.

Great project all around! Having fun learning the ESP stuff.

  Are you sure? yes | no

Evocatorum wrote 08/17/2019 at 05:56 point

Instead of having a single 700 mAh lipo in one leg, why not pairing it down to 500mAh, splitting them to both legs and wire them in parallel?

I don't have access to my gamecube controller or my lipo's to explore the idea, but I know that there's several companies that even make cylindrical lipo's that may even work really well.  Bose QC35's uses an 495mAh 11530 lipo that is cylindircal that may even be perfect if paired.


  Are you sure? yes | no

d wrote 06/20/2019 at 15:37 point

This is all awesome work! I’d love to have the option of haptics, even most people decide to put the battery where the vibrator is for simplicity. Personally I’d do a battery in each handle (although the complexity of two batteries is admittedly annoying) and use the extra juice to get the vibrator running with a small boost circuit from pololu that does 3.7 to 5v if that’s even needed.  Does the software stack support vibration, and the limitation was simply the motor vs battery question? Or is there a more fundamental issue with the communication stack?

  Are you sure? yes | no

Fares Delvalle wrote 06/05/2019 at 11:40 point

placing two batteries one on each handle will help the controller become more balanced and you can still keep the vibration with longer battery life.

  Are you sure? yes | no

Clara Hobbs wrote 05/25/2019 at 12:32 point

Neat idea, but if you drop that controller, won't the USB connector tab break clean off?

  Are you sure? yes | no

NathanReeves wrote 05/25/2019 at 16:31 point

Yeah it definitely could happen, with the right angle and drop height. I’ve dropped mine straight on the connector twice without issues 

  Are you sure? yes | no

ashwin.venkat wrote 05/11/2019 at 05:06 point

For the antenna I noticed that there is no tuning circuit, I want to do something like this but stopped after I realised that I don't know how to tune it. Your project gives me hope

  Are you sure? yes | no

NathanReeves wrote 05/11/2019 at 20:21 point

Thanks! This antenna doesn’t require an external matching network which is nice

  Are you sure? yes | no

ashwin.venkat wrote 05/13/2019 at 18:08 point

Awesome! Thanks for sharing this information

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates