PCB for a gamecube to N64 controller adapter using Raphaël Assenat's v2.1 gc_to_n64 (here, see also here).
The PCB design was heavily inspired by and drawn from SuperSpongo's DIY adapter design.
This project requires an Arduino Nano (though I believe any Arduino running at 5V/16MHz should work) and a DC-DC 2V-24V to 5V-28V step-up converter (the N64 provides 3.3V and we need 5V to power the Gamecube controller). You'll also need a 1KΩ resistor (R4 on the schematic), two 22Ω resistors (R1 and R3), a 220Ω resistor (R2), an LED (D1), a male N64 controller port / cable, and a female Gamecube port / cable.
(Note: If you want to modify the KiCad files, you'll need the schematic and footprint files for the boost converter found here).
The step-up converter needs to be calibrated to output exactly 5V when receiving 3.3V. You can do this by connecting it to a 3.3V source, such as the N64, then turning the screw on the side until the output is correct.
When soldering the wires from the Gamecube in and N64 out, follow the labels in this image:
For the N64 pinout, see here. Generally, the red cable is power, white is data, and black is ground.
Gamecube pinouts are all over the place depending on which vendor you purchase from. The best resource I am aware of is this one.
To flash the Arduino, you will need avrdude. I successfully flashed the v2.1 raphnet hexfile (found here) using the following command:
/path/to/avrdude /path/to/avrdude.conf -v -V -patmega328p -carduino -P/path/to/serial/port -b115200 -U lfuse:w:0xd7:m -U hfuse:w:0xdc:m -U efuse:w:0x01:m -D -Uflash:w:/path/to/hexfile
The path to the serial port can be obtained from the Arduino IDE.
The -U flags modify the low byte, high byte, and extended byte on the Arduino. I'm honestly not sure if this is necessary, but it's what the instructions say to do.