Overview

Replay those old school retro videos games and cut the cord to build your own wireless SNES controller powered the EZ-Key Bluefruit, Adafruits bluetooth module.

You can turn any old school game pad into a wireless bluetooth controller with the EZ-Key Bluefruit. Our SNES controller has 12 buttons, which is perfect for the EZ-Key. A slide switch at the bottom easily let's you power it on. The top includes a USB charger so you can recharge the lithium battery.

The great thing about using bluetooth to connect, is you can use it with any computer or tablet, no need for a gamepad adapter!

This guide will teach you how to disassemble the SNES controller and mod into a wireless bluetooth gamepad. No complex code or re-flashing, you don't even need a micro-controller. The EZ-Key handles all of the mapping and converters everything for you! This is a great project to help you get more soldering experience and how to fit circuits into small places. Perfect for a weekend project and well worth your time!

If you want to turn a different gamepad into a wireless controller, this tutorial will help you understand the steps and techniques: just about any game controller from the 80's or 90's will use a similar style of button circuit/detection

Tools & Supplies

• Soldering Iron
• Xacto Knife
• 30 gage wire
• Sharpie Marker
• Solder
• Vise or handy-tool
• Diagonal wire cutters
• Wire strippers
• Screwdrivers

Disassembly

First, we need to unscrew the five Phillip screws from the back of the controller. Set aside the screws together in a group. Carefully remove the back cover. Take out the main cable from the controller and gently remove the PCB from the enclosure. You can set aside the front and back covers, go ahead and leave the buttons and rubber elastomers inside of the front cover.

How do the buttons work?

Each button is made of 3 parts - theres the plastic part that you press, beneath that is the elastomer which is a rubber molded piece with a conductive bit that goes underneath the plastic part, and finally on the PCB there are two interdigitated and exposed traces. When the user presses the plastic button, it pushes down on the elastomer which then pushes the conductive rubber onto both traces, shorting them.

There is also a black blob in the middle. This blob is a chip that takes all the button inputs and then converts it into the way that the SNES wants to hear. Thats all fine, but we dont want to use the blob because we are going to listen to the chips directly.

The question is now how can we listen to all the buttons? Luckily, the Bluefruit EZ-Key is designed for just this task - there are 12 'inputs' that can be connected to buttons. When the buttons are shorted to ground, a keypress is sent. No microcontroller or programming is required.

If you're adapting a different gamepad, check out the PCB and buttons, chances are its nearly identical

Next up: we need to solder new wires to these traces and wire them up to the EZ-Key bluefruit.

Circuit Build

Power Switch & Recharger

Since the battery will be encased in the gamepad, and isn't easily accessible to unplug, we need to connect a slide switch to the battery so that we can easily turn off and on the Bluefruit. To do this, we will cut the red positive wire from the lithium battery. The middle pin on the slide switch needs to be soldered to the end of the cut red positive wire of the battery. The next pin on the slide switch will need to be connected and soldered to the Vin pin of the EZ-Key. The black ground wire of the battery can now be connected and soldered to G ground pin on the EZ-Key. We're going to splice a JST extension cable to the circuit so that we can recharge the battery. The red wire of the JST cable will be soldered to the remaining pin on the switch.

The black ground wire of the JST cable needs to be spliced into the black ground wire that's connected to the EZ-Key. The black wires of both the battery and JST cable should now be soldered to the G ground pin of the EZ-Key. Now you can slide the switch and power on the Bluefruit.
In hindsight, you can skip the splicing step and just solder the battery wire to one Ground pin and then solder the charger cable to one of the three pads below the Vin pin labeled "Grounds" - we just love splicing!

Cut the cord!

The cable is not going to be used: we will need to unsolder the connections of the cable from the board. Carefully heat up each connection pin on the PCB and then gently pull out the each of the 7 wires that make up the cord. You can now set aside the cord or recycle it, we don't need it!

SNES Traces

The arrangement of the buttons can be seen by following the traces on each of the copper contact points. The PCB has small holes that we will use to wire the buttons from the back. We can thread our wires from the back of the PCB to each trace like in our circuit diagram.

Common Ground

We need to expose a spot of copper on the PCB that will connect to ground. On the center of the D-Pad, we will scratch out a piece of green paint using an X-acto knife.

Wiring

Measure and cut 12 wires in the appropriate lengths that can be connect to the EZ-Key. Each wire will have a variable length, so it's good to label them out. Use the EZ-Key mapping to reference which button will be assigned to the numbered pin of the EZ-Key. You will need to carefully solder each contact point on the PCB to these wires. Follow our trace reference list below to see which contacts you will need solder and wire. You can follow these traces and see the difference between the positive and common ground.

Trace Reference Sheet

•Up = right trace
•Down = right trace
•Right = top trace
•Left = bottom trace
•L = right trace
•R = left trace
•Select = right trace
•Start = right trace
•Y = left trace
•X = left trace
•B = right trace
•A = bottom right trace

Slide Switch

Measure the slide switch and mark a spot on the bottom of the controller with a sharpie. We need to cut out a piece of the plastic from the front and back covers. Use an X-Acto knife to remove pieces, layer by layer until you have a nice tight fit for the switch. Now we can fit the power switch inside the controller.

Assemble Controller

Testing & Pairing & Remapping


That's it, before you close the case up, its good to do some testing (in case a wire is not soldered right, etc) Now is a good time to pair the Bluefruit to your computer and then test each button to make sure you're getting the key press you expect.

If you want to use it with a program that doesn't allow you to set the keys to the default Bluefruit keys, you can use the wireless remapping software to change the keys from the default to whatever key-presses you want

Put it Together

Lay down the front of the cover with the buttons facing down on a table. Now you can carefully place the PCB down into the cover. The EZ-Key bluefruit will reside on the back of the PCB, facing right-side up in the center of the PCB. The JST wire connection will need to be placed in place of the original cable, the USB charger will hang out of this cavity so you can easily access the USB port to recharge the battery.

The lithium battery can be placed to the left of the bluefuit and mounted to the back cover with a piece of double-sided foam tape. Carefully place the switch inside of the cut out we made earlier and let it stick out a little so you can reach it. Now you can gently close the back cover, make sure to tuck and excess labels or wires inside of the enclosure. Place the Phillip screws back in and tighten it shut!

3D Printed Holster

You can optionally 3d print a part to holster the usb battery charger from http://www.thingiverse.com/thing:185253

The part can be mounted to the back of the controller with a piece of double-sided foam tape. The holster is small and takes under ten minutes to print out. The holster nicely holds the USB micro lipo charger in piece.

Time to play!

This guide was first published on Nov 18, 2013. It was last updated on Nov 18, 2013.