DIY HARDWARE GUIDE

Pippin on Arduino Getting Started

Parts, wiring, firmware, and setup instructions for this RetroSpy configuration.

Downloads

Known Issues

  • The firmware defaults to spying on controller 1 of the Pippin.  If for some reason you wanted to spy on the second controller you can change the line #define PIPPIN_SPY_ADDRESS 0xF to #define PIPPIN_SPY_ADDRESS 0xE.

What You Need

  1. One of the following boards:
  2. USB cable to connect the Teensy to your computer
  3. Make you own RetroSpy Pippin cable using the instructions under Wiring.
    • 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

Instructions

Wiring – Soldering Required

This is the most time consuming piece, especially if you have never done any wiring/soldering before.  Unfortunately Pippin extension cables or P-ADB to ADB adapters are incredibly rare. One option is to harvest an s-video extension cable and the extension port of a broken Game Gear to build adapters so that you could use a 4 pin Mini-Din breakout board, the only other option is to cut into the actual controller cable. This is non-ideal, but if building your own P-ADB to ADB converters is not possible there really isn’t another option.

  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 Pippin you need to splice the ADB Data (pin 1), GND (pin 4) 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 software, download the Windows Installer option.  If you are not programming your own board you can skip this step.
  3. Hook up the RetroSpy cable to your Arduino according to this pinout.
    Pippin Pin Arduino Digital Pin
    1 (ADB Data) 2
    2 Not Connected
    3 Not Connected
    4 (GND) GND
    5 Not Connected
    6 Not Connected
    7 Not Connected
    8 Not Connected
    9 Not Connected
    10 Not Connected
  4. Plug the controller into the RetroSpy cable.
  5. Plug the RetroSpy cable into the Pippin.
  6. Plug the USB cable into the Arduino.
  7. Plug the other end of the USB cable into the display PC.

Program the Arduino

If you purchased a pre-programmed board, skip this section and continue to the RetroSpy application setup.

  1. Install the Arduino IDE and connect the Arduino to the computer.
  2. Open firmware/firmware.ino from the latest RetroSpy release.
  3. In the firmware options, enable MODE_PIPPIN. Leave only the mode required by this guide enabled.
  4. Select the correct board and serial port in the Arduino IDE.
  5. Choose Upload. Wait for the IDE to report that the upload completed successfully.
Selecting a RetroSpy firmware mode in the Arduino IDE
Enable the controller mode required by the guide.
Uploading RetroSpy firmware from the Arduino IDE
Upload the firmware to the connected Arduino.

Use the RetroSpy application

  1. Connect the programmed board and power on the console or controller adapter.
  2. Launch the RetroSpy desktop application from the latest release.
  3. Select the serial port used by the board.
  4. Select Pippin on Arduino Getting Started and choose a skin.
  5. Choose Go, then press controller buttons to confirm that the display responds.

Troubleshooting

No serial port appears
Reconnect the USB cable, try a data-capable cable or another USB port, and restart the application.
The display opens but inputs are wrong
Confirm the selected controller type, firmware mode, and every pin connection.
The controller stops working on the console
Disconnect the RetroSpy board and retest the extension cable. Look for a short, reversed connector, or damaged splice.
Still stuck?
Contact RetroSpy support and include the console, controller, board type, firmware mode, and a clear wiring photo.