Copyright © 2007 Mark Feldman. All Rights Reserved.
A PCB containing all components used in this circuit would be too large to install inside the controller, so I use small bits of perfboard instead. The following circuit should be used as a guide:
The diode is present to prevent damage if the recharge plug is connected with the wrong polarity; it will also prevent current flowing from the battery into the recharge circuit. I used a 1N4148 because it was what I had handy, but any general purpose diode capable of handling the 200mA charge current will suffice. The TXC1 pins are clearly marked on the chip itself. The antenna connection isn't shown, I simply connected the ANT pin to a 10cm or so length of wire. The color of the SNES controller wires should be correct for a standard Nintendo controller, but there have been many reports of different color schemes being used, so always use a multi-meter at the start to check which wires connect to which controller pins (the J.U.M.P. site is a good resource for this, as are some of the sites linked to on the main page).
The following firmware will need to be downloaded and programmed into the 16F84A-20 microcontroller. It was compiled with MPLAB v7.51:
The transmitter should only be charged with a standard regulated 4.5V DC adapter. This is very important, as 2.5mm sockets cause momentary shorts while being plugged in. Other than a diode, the circuit being installed inside this controller has very little by way of circuit protection, so only use an adapter that you know provides some protection of its own. I use a multi-volt regulated adapter that I bought from Dick Smith.
While charging in this manner seems to work, it does carry with it certain risks that you should be aware of. Please refer to the section at the end of the transmitter details article as well as the emails sent to me by nightjumper.
The first step is to fully disassemble the controller. I'd recommend giving all internal non-electronic parts a cleaning to remove the dirt and grime that inevitably accumulates in controllers over the years.
Plastic tabs at A and B should now be removed, as discussed in the next section.
Preparation of the back plate involves the removal of plastic tabs in order to make more room available, and the installation of the switch, LED and recharge socket.
The L shaped extrusion on the back plate (A in the photo above) is normally used to guide and secure the controller cable; it is no longer required and should be removed. It is important to make it as flush as possible with the main surface as a circuit board will later need to slide along this section of plastic and any bits of raised plastic will prevent it from moving into position. The circular tab (A) maintains separation between the back of the controller and the PCB, which the IPod battery itself will do once installed. A couple of pieces of plastic were also removed from B so that a 2.5mm recharge socket could be installed in the hole that the cable normally exits from.
Next, two holes will need to be made, a small rectangular hole for the slider switch and a round hole for the 3mm LED. The 2.5mm power socket will fit inside the hole normally used by the cable without any modification. This exterior image of the unit gives the general idea of how these elements should be placed:
The following photo shows the back plate with the plastic extrusions removed and the switch, LED and recharge socket installed. This part also includes the diode between the socket and switch as well as the current-limiting resistor connected to the LED. (Apologies for the poor quality).
At this stage you should be able to plug the controller into the socket and switch the LED on and off. The grey wire is ground. The white wire is used to recharge the battery, it should be connected to the same switch pin as the diode's cathode and thus show a voltage whenever the recharger is plugged in. The orange wire is used to power the circuit and should be on the other side of the switch, i.e. only show a voltage when the switch is on.
In my original plan I was intending to use a push-button and hi-intensity blue LED, but I eventually decided on the slider switch and diffuse red LED. These are more in keeping with the "retro" theme and makes the controller look more like something you might have bought 20 years ago (that is, until you remember it's a wireless device, at which point the illusion flies out the window!)
Things to note:
Next, prepare a small section of perfboard to house the microcontroller and SNES cable connector. Start by cutting a rectangular piece large enough for the IC and with at least 2 rows of holes on either side. Also leave a little room at one end for the connector. Next, super-glue the SNES cable connector to the board, solder the pre-programmed microcontroller in place and solder the connector wires into position. In the following photo pin 1 of the PIC is in the top left hand corner:
The orientation of the connector is also important as it will plug directly into the main controller circuit board. Each wire from the SNES connector should be soldered directly to the same line as a relevent PIC pin. The battery will press right up against the left side of the connector, so try to keep all wires as flush to the board as possible as it will make assembly easier later on. (In hindsight I should have used data pins on the other side of the PIC....oh well...). I managed to save some space by soldering some component leads on the underside of the board to carry voltage and ground lines to other parts of the board:
Once the glue is dry this board should be plugged into the main controller circuit board, which should then be placed back inside the controller case to check that the perfboard fits correctly and leaves adequate room for the other components.
The main components now need to be connected and installed into the back plate. Solder wires directly to the pins of the crystal and transmitter chip and solder the other ends to the relevant lines on the perfboard. The perfboard, crystal and transmitter chip can now be installed directly into the back plate of the controller as follows:
(Note the 10cm or so of yellow antenna wire looped around spare sections of the case). The power wires should now be connected to the circuit (apart from the battery recharge wire) and a test should be conducted to make sure that everything is working properly. The DC adapter will need to be plugged into the power socket, but switching the power on should cause the unit to start broadcasting a valid signal which should in turn cause the LED on the receiver module to turn green.
The next stage is the installation of the battery. It will need to go in at a slight angle and will press flush up against the connector on the perfboard. It will probably also need to slide slightly under one or two of the power switch pins, as shown in the following image:
Rather than solder the battery to the circuit I have connected it via a straight locking header on a small piece of perfboard. This allows the battery to be replaced at some future time without needing to re-solder anything to the main circuit.
The next step is to install the controller circuit board by plugging it directly into the perfboard connector as shown here:
The connector on the underside of the board should snap into the perfboard connector and the board's screw holes should line up with the corresponding holes in the controller back plate. You may need to move a few components around a bit if they're in the way. It is easier to perform this step if you detach the small green shoulder-button tabs on the circuit board that normally sit at a right angle while you slide the board into place; they can be put back once the board is in position.
All controller buttons should now be installed into the front plate. The rubber shoulder button pieces should be installed in the front plate but the shoulder buttons themselves (plus locking pins) should be installed on the back plate:
The final stage is to join the two halves. I've found it easiest to do if they are kept in a vertical position. A small screwdriver will be needed to put the small shoulder-button circuit board tabs into place and also to depress the shoulder button rubber pieces so that they slip into position behind the shoulder buttons. You may also need to slightly reposition the battery or odd wire if they've shifted. Once joined, the two halves can be screwed back together.
Congratulations! You are now the proud owner of a GameCube/Wii-compatible wireless SNES controller!
Back to the main page...