Cart Reader V1 PCB Build Guide - sanni/cartreader GitHub Wiki
A) After you have received the printed circuit board you have to separate the the parts. Just use a sharp cutter and a metal ruler to score the PCB where you want to separate it, about 5 passes on both sides on each breaking point should be enough.
B) Next use a pair of pliers and carefully snap the PCBs apart. Clean up the edge with your cutter and some sand paper.
C) On the N64 adapter you have to solder some SMD parts, a AMS1117 3.3V voltage regulator, a 22uF tantalum capacitor(you can use a 47uF electrolytic cap instead too) and a micro USB port. You also need to close two solder jumpers:
- CLK -> CPU+EEP
- VCCSRC -> N64+AVR
D) On the other side of the adapter install a 1K resistor
E) Install both the N64 cartridge and controller pak slots. Some of the pins on controller pak slot are longer, those are the ground pins.
F) Put a little bit of hot glue on the back of the micro USB connector to strengthen it. Always be very gently and careful when you insert a USB cable into the connector because they are very easy to break off.
H) On the cart reader shield solder the SNES slot in place. I like to put the common anode RGB led on the backside so it illuminates the space between the shield and the Arduino and does not shine into your eyes.
G) Install the 220 Ohm resistors for the RGB led, the push button and it's 10K resistor and all the male and female pin headers.
H) Cart Reader shield in detail
- The CLK jumper switches SNES pin 1(CLK) between the clock generators CLK0 output and the CLK pin on the Arduino.
-
Clockgenerator supplies clock signal:
-
Arduino supplies clock signal:
- The CPU Clock jumper switches SNES pin 57(CPUCLK) between the clock generators CLK1 output and the CPUCLK pin on the Arduino.
-
Clockgenerator supplies clock signal:
-
Arduino supplies clock signal:
-
For the RGB led resistors you can use ~220 Ohm resistors, depending on the brightness you want.
-
For some SNES cartridges like the SA-1 you might need a snesCIC flashed on a PIC12629 microcontroller, the holes above the chip are for a 100nF capacitor.
-
Here you have two unused pins you can use if you need them
-
There are at least two variants of I2C OLED screen that have a different pin order, adjust this solder jumper accordingly
-
VCC GND SCL SDA
-
GND VCC SCL SDA
-
Here you have a little prototyping area, some boards of the same revision have footprints for an alternative power supply instead, in the end I decided that the prototyping area is more versatile.
-
The RGB Led is a common anode, the anode pin is marked with CA on the pcb, I like to install the Led on the underside.
-
The SD voltage selector bridges the SD cards 5V and 3.3V rail to bypass the 3.3V regulator on the SD module. ATTENTION: You must only bridge this if you are using the Arduino at 3.3V and you get a "SD card Error". NEVER bridge this if you are running the Arduino at 5V or else you might kill your SD card So if there is a usb or power cable going into the Arduino itself leave it open. If the usb cable is going into the N64 adapter and NO cable is going in the Arduino itself, then you can close it
Closed, bridged
Open, unbridged
I) Here you can see how the clocksignals are connected
J) Voltage sources
5V The USB cable is plugged directly into the Arduino. The Arduino runs with 5V. You can use the Serial Monitor or the OLED screen.
The SD voltage jumper is open/unbridged, so all the way to the right.
3.3V
The USB cable is plugged into the N64 adapter, NO cable is plugged into the Arduino. The Arduino runs with 3.3V. You can't use the Serial Monitor, you need the OLED screen.
The SD voltage jumper can be closed/bridged, so all the way to the left, if you get an SD error.