Copyright © 2007 Mark Feldman. All Rights Reserved.
Comparison to the SNES Version
The NES version of this hack is very similar to the SNES version and I recommend reading that article first to get a general idea of how these controllers are assembled. The first item you’ll need of course is an original NES controller, which you can usually pick up from EBay or a swap-meet.
Surprisingly, the NES controller has a lot more space available inside which generally makes it easier to fit the various components. The PIC controller is somewhat problematic, however, as there is not enough space to fit both the chip and PCB inside. In fact, the space is so thin that there isn’t even room to add a PIC by itself. In general you have three choices:
· Use a surface-mount PIC, which will fit in the available space.
· Place the PIC on its side to the far edge of the controller, so that the edge of the PCB passes in between the pins, and solder all wires directly to the pins.
· Bend the PIC pins outwards to reduce their height, mount it against back of the PCB and solder wires directly to the pins.
I personally chose the last option, but any of them should work fine. The only other main difference is a small change in the firmware that you need to program the PIC, as the NES controller returns buttons is a slightly different order.
The circuit schematic for the NES controller is basically identical to that of the SNES transmitter, although the pin numbers and colors on the original NES controller are slightly different to the SNES controller. There have been plenty of reports of non-official hardware using different schemes, so I strongly recommend using a multi-meter first to determine which pins map to which wires. The circuit schematic for the version of this hack that uses the official NES controller is as follows:
The NES controllers return data in a slightly different format to the SNES controllers, and therefore require different firmware. The receiver expects a data pack in a format similar to that returned by the SNES controller, so the NES controller firmware needs to rearrange the data to match this format and set all non-SNES bits to 0. The NES firmware is as follows:
Pleas refer to the notes on the SNES transmitter for more information on recharging this device.
The first step is to fully disassemble the NES controller and remove the 3 plastic tabs at position A to make room for the switch and mono recharge socket:
The circular extrusion at B should also be removed. It usually keeps the back-plate separated from the PCB, but we’ll need to make room for the battery later on.
There is a small plastic pin at C that passes through the PCB and slightly extrudes out the other side. The tip of this tab needs to be removed to make room for the battery, but it should not be removed altogether. Place the PCB back into the front plate to see how much it pokes through and then cut that little bit off, but leave enough so that the PCB is still held securely. It might be a bit difficult figuring out exactly what to do here from the photo alone, but if you put the PCB back into the front plate and then try to position the battery on top of it then it’ll be obvious what you need to do.
Next install a 2.5mm mono recharge socket in the hole where the cable used to come out. A 2.5mm LED should be installed to the left of the socket and a slider switch should be installed on the right. The diode and resistor should also be installed by soldering them directly to the component pins:
As with the SNES controller, the slider switch and recharge socket have been glued into place, although the NES controller is thinner than the SNES controller so the switch doesn’t need a sliver of PCB to prop it up.
The transmitter chip and crystal should now be installed in the front plate. A little bit of care should be taken here, as there are plenty of metal contacts on the PCB that they can short against. I wrapped the components in heat-shrink, but electrical tape would work just as well. Just be sure to solder wires to the relevant pins so that they can be routed to the other side of the PCB and connected to the PIC and battery:
(Note the 10cm or so of yellow antenna wire soldered to the TX chip and looped around the spare sections of the controller).
The PCB should now be installed and all wires connected as per the schematic diagram. The following photo shows the location of the PIC and battery:
This isn’t exactly the most secure way of installing the PIC, but it works. The pins of the chip need to be bent out so that the back-plate can be replaced later…this also makes it a little easier to solder wires to them. The back-plate forms a reasonably sung fit which I relied upon to hold the PIC in place, but a small piece of double-sided tape would help hold it in place without permanently bonding it to the PCB.
The straight locking header used to connect the battery in the SNES controller is too large for this project, so I used IC socket strips instead. These are interlocking pins that you can solder wires to either side of, thus making a simple way to plug the battery into the circuit. I personally prefer this to soldering live battery wires directly to the circuit.
Joining the two controllers halves is much easier than it is for the SNES controller: simply replace the back-plate as well as the 6 screws that hold it on
Congratulations! You are now the proud owner of a GameCube/Wii-compatible wireless NES controller!
The component list for the NES controller is identical to that for the SNES controller with the exception of the controller itself and the optional use of an IC socket strip instead of a straight locking header: