What You Need

The easiest approach:

For the DIY approach:

  1. One of the following boards::
  2. USB cable to connect the Teensy to your computer
  3. (Optional) Breadboard
  4. A RetroSpy Gamecube cable.  Do one of the following:
    • Buy a pre-made cable from the RetroSpy store
      • Skip straight to Hooking It Up
    • Make you own using the instructions under Wiring
      • GameCube controller extension cable
      • Wires to solder into the controller extension cable to go to the Arduino, like these
      • Wire cutters/strippers
      • Soldering iron and solder
      • Electrical tape and/or heat shrink tubing
      • Digital multimeter or a cheap continuity tester


  1. The latest Arduino software
  2. The latest Teensyduino software
  3. Firmware for the Teensy
  4. PC software to connect to the Teensy and display the controller

#3 and #4 above are included in the release package of RetroSpy. The firmware is located in the firmware folder and is called firmware.ino. Just run RetroSpy.exe to launch the display software.



This is the most time consuming piece, especially if you have never done any wiring/soldering before.

  1. First you will need to cut your controller extension cable so you can splice into the wires (consider which spot in the extension cable to cut, game system side, controller side, middle)

  1. Use your exacto knife or box cutters to very carefully cut away and peel back the plastic covering on both halves, about 2-3 inches should be good enough.
  2. Use wire strippers to strip back about 1/2 an inch of the plastic covering on each wire. In my case I had to carefully use my exacto knife because the wires were too small for the stripper, I rotated the wire against the blade until I could pull the plastic off the end.

  1. Next you will need to use a digital multimeter or continuity tester to figure out which pin on your controller plugin goes to which wire in the extension cable, make sure to write down your findings. Do NOT trust the color of the wires, the colors will vary from cable to cable.
  2. For the GameCube you need to splice the Data and Ground lines based on this pinout.

  3. Figure out the length you need between your controller extension cable/Arduino and cut and strip a wire for each wire you are going to splice into.
  4. Solder each wire back together with your spliced wires, here’s what mine looked like when finished I soldered them this way (instead of end-to-end) because this will provide more strain relief against the small controller extension wires possibly breaking with use.

  1. After soldering everything back together, test out your extension cable with your game system to see that it still works before proceeding.
  2. Use electrical tape to tape up each wire separately.

  1. Again use electrical tape to tape all the wires back together, make sure to tape all the way back up to where the extension cable covering starts.

Hooking it up

  1. Download and install the latest release of RetroSpy.
  2. Install the latest Arduino and Teensyduino software.  If you are not going to program your own board you can skip this step.
  3. Hook up the RetroSpy cable to your Teensy according to this pinout.
    GCN PinTeensy 3.5 Digital PinTeensy 4.x Digital Pin
    5VNot ConnectedNot Connected
    3.3VNot ConnectedNot Connected
  4. Plug the controller into the RetroSpy cable.
  5. Plug the RetroSpy cable into the Gamecube.
  6. Plug the USB cable into the Teensy.
  7. Plug the other end of the USB cable into the display PC.

Software Setup

Once the wiring is done and everything is hooked up to your game system and computer, now for the easy part.

  1. Make sure the the USB cable between your Arduino and PC is connected and if you are not going to program your own board you can now skip to Step 10.
  2. Open the Arduino software that you installed above and go to the Tools menu and set:
    OptionTeensy 3.5 ValueTeensy 4.x Value
    BoardTeensy 3.5Teensy 4.x
    USB TypeSerialSerial
    CPU Speed168 MHz (overclock)816 MHz (overclock)
    OptimizeFastest + pure code with LTOFastest
  3. You should now see “Teensy 3.5, Serial, 168 MHz (overclock), Fastest + pure-code with LTO, US English on COMX” or “Teensy 4.x, Serial, 816 Mhz (overclock), Fastest on COMX” at the bottom right corner if everything is working. If not, you may need to restart and/or replug the USB connector.

  1. In the Arduino software select File->Open from the menubar and open the firmware.ino file from the firmware folder of the installed RetroSpy release (by default this is C:\Program Files (x86)\RetroSpy\firmware).
  2. Now uncomment the option for MODE_GCv2. Note that MODE_SNES is uncommented in this image.

  1. Hit the upload button (right pointing arrow) located just under the ‘Edit’ menu, this will upload and run the software on the Teensy. You will very likely need to push the button on the board in order to program it. It should look like the following image. Once successfully uploaded, you won’t have to upload software again to the Teensy again unless you want to change controller modes.

  1. Power on your console.
  2. Run RetroSpy.exe.
  3. The selection here should be pretty straightforward, select the ‘COMX’ port that the Teensy is on, select the controller you are using, select a skin, and hit ‘Go’. If everything is hooked up correctly you should see your controller and inputs displaying.

NOTE: Spying on the GBA as a controller is supported, however the stock Gameboy Player software is really finicky.  Only controller port 1 is can be spied on and the GBA needs to be plugged in before the disc starts.  Even then sometimes you have to try a few times.  Only the stock Gameboy Player disc seems to have these issue.  GBI works fine as do any other game I have tried.