Main Logo
Main
Hardware
Software
Misc
Search

Table of Contents
<<  Introduction   Hardware I - The NES Interface   Hardware II - Adapter Design   Firmware   Assembly   FAQ   Orders   Conclusion   >>

 

With the understanding of the NES hardware, it's now a trivial task to design an adapter for it. The adapter will need some kind of microcontroller to read in the data from the controller and convert it to USB packets. Since I am familiar with (and I have all of the hardware and software debugging tools) the Microchip PIC microcontrollers, I decided to stick with them. However, this could be done with almost ANY microcontroller (it is helpful if it has USB hardware support though). Microchip recently announced a new line of flash programmable PIC microcontrollers with USB support (PIC18F2445 and PIC18F2550). These are the perfect candidate for this project.

After reading the massive datasheet and deciphering the COUTNLESS clock options for this micro, I chose the KISS strategy (Keep It Simple Stupid) and went with a 4MHz ceramic resonator. (Note: If anyone out there reading this is technically minded, you would probably question my choice of a ceramic resonator feeding a PLL, like that in the PIC, particularly with USB being particular about timing, but I assure its fine... don't worry!).

The PIC datasheet says that it needs at least a 200nF capacitor in order to generate a 3.3V reference. Thus, the schematic consists of only the bare minimum parts: a microcontroller, a ceramic resonator (a clock for the microcontroller), and three capacitors. The 100nF and 1uF capacitors help to keep a stable supply voltage and eliminate noise on the supply rails. It is probably possible to get away with only one of these (or none), but for robustness they both should be used. However, the USB specs require that the supply have less than 10uF capacitance to limit the inrush current, so you can't make these caps arbitrarily large.

A list of the parts used in the project can be seen in the table below. All part numbers and prices are from Digikey unless otherwise noted.

Manufacturer
Description
Part Number
Price
Microchip PIC18F2455 PIC18F2455-I/SO-ND $9.38
Murata Electronics 4MHz Ceramic Resonator 490-1200-1-ND $0.57
Panasonic 100nf (16V) Ceramic Capacitor PCC1870CT-ND $0.17
Panasonic 220nF (16V) Ceramic Capacitor PCC1874CT-ND $0.20
Panasonic 1uF (16V) Ceramic Capacitor PCC1896CT-ND $0.57
Any Black USB Cable   $3.50
EBay Nintendo Controller   $7.00
Zero-Soft Printed Circuit Board (PCB) Orders Page $4.00
TOTAL:
$25.39

To make all of these parts easy to assemble and provide some reliability, I designed a printed circuit board (PCB). I have made three or four controllers without the PCB's in the past by just soldering all of the components on the PIC (the through hole version), but this always produced problems. These controllers were unreliable, tempormental, and to be honest, absolutely horrible to solder. The circuit board is the ONLY way to go. Unfortunately, the DIP package won't fit inside the controller on a PCB, so I was left to use surface mount components. (I actually don't mid this at all, once you get used to SM components they are not bad at all). Pictures (not to size) of the PCB's can be seen below. I order these boards in whole panels (hundreds at a time) and they are for sale on the Orders page.