
As you can see these signals are very fast with a period of 4 uS and a resolution of 1 us! The signal shapes used by the N64 controller for one and zero are shown below. It's a serial interface, which means that all the signals discussed here, will take place on one pin: the DATA (middle) pin of the connector (white wire in the pictures above). The interface looks a little bit like one wire, but is still different. Now we're going to take a quick look at the communication with the Nintendo 64 controller. I will talk about this in a next article, but it is of no importance to us now.

The rectangular thing to the right of the microcontroller is a wireless RF transmitter. The image below shows the fully built circuit built on perfboard. Make sure you set the PICKit to 3.3V instead of the default 5V for the reason I mentioned earlier. At the moment it also provides the supply voltage to the board because I am to lazy to find a good power supply. This allows me to program the PIC without having to take it out of the circuit ( ICSP). I've also connected a header (JP1) for the PICKit2. Here the supply voltage is given, and the data pin is connected to the RB7 pin of the PIC18F2550. The N64 controller is connected to the board with a simple screw connector. If you use 5V you will risk frying your controller. The maximum voltage the N64 controller can handle is 3.6V, so don't exceed that. They will provide some visual feedback so we can see if everything works properly.Ī 3.3V voltage regulator provides the voltage for the board. I've connected three LED's to RB5, RB4 and RB3. I did however limit my oscillator frequency to 20 MHz, so that everything should work on a 16F pic as well if you don't need USB. I chose a pic from the 18F range, because I am interested in the USB capabilities, as I might try to use the N64 controller with a computer some day (future article maybe?). The circuit I created for reading out the controller is shown in the schematic below. Just plug some cables in the holes and you're ready to go. From right to left with the round side up: Ground, Data and VCC ( 3.3V).

The N64 controller has three connections. I've used a PIC microcontroller, but it should not be too hard to port the code to any other architecture. In this article I will describe in detail every step I took to achieve this. I have a few old N64 controllers lying around and figured that it would be pretty cool to use them to control other things.
