My Playstation Mod

Welcome Page Forums RetroPie Project Peoples Projects My Playstation Mod

This topic contains 19 replies, has 11 voices, and was last updated by  ekdor 2 years, 7 months ago.

Viewing 20 posts - 1 through 20 (of 20 total)
  • Author
  • #1475

    Jonathan Demarks

    Hey, I just wanted to post and say thanks to the PetRockBlog and community as well as show off the mod I was able to make:

    Raspberry Pi (Rev 2 512MB) – Element 14 ($35)
    PlayStation 1 (SCPH-9001) + 2 Controllers – Ebay ($15)
    HP Wireless Keyboard – Junk drawer ($0)
    SD Card – Junk drawer ($0)
    HDMI Extender-y thing – Came with a pack of stuff from Amazon


    Both PSX Controllers work!
    Re-used PSX power supply!
    Reset button wired to GPIO for emulator exit
    Ben Heck approved build! Can easily be opened and returned to working PSX status.

    A couple things that made my life easier is to use the built-in PSX power supply. It powers the controllers (including rumble) and I ran the 7.6v pin through a 7805 to make it 5v. This was really easy and you can spot the 7805 wired into the harness as it doesn’t require any extra components. Also I was able to re-use the serial port hole with only slight cutting to the HDMI adapter made it really snug and prevents mechanical damage to the Pi.

    If you want to do this just beware of a couple things:

    The PSX controllers were not meant to be used with the PSX controller plug, so you need to cut a trace and make a jumper for later when you want to restore the PSX to being a PSX. (Recover your Pi.)
    The PSX power supply doesn’t really deliver that much current so it gets a bit unstable. Could also have to do with my linear regulator.
    Speaking of the linear regulator, it gets hot, so you can see I tacked it down to the RF shielding and screw to act as a heat sink.




    Nice work Jonathan! I like the re-use of the power supply, great idea!



    Hi, really nice build/idea, I am currently working on my own little project, will share when done. could you please link me to the process of resetting the games via the GPIO pins please?




    Jonathan Demarks

    Hi, really nice build/idea, I am currently working on my own little project, will share when done. could you please link me to the process of resetting the games via the GPIO pins please?



    I’m using the SNESDev-Rpi (also PetRockBlog) to handle that. The link is here and it describes how to download build and install it as a service so you no longer need a keyboard:

      Here are a few extras though to use it with the PS button:

    1. Move line 331 in src/main.c (initializePads( &pads );) to under line 340 (if (pollPads) {) to squash a bug.
    2. Add these two lines under line 333 (if (pollButton) {)
      1. bcm2835_gpio_fsel(buttonPin, BCM2835_GPIO_FSEL_INPT);
      2. bcm2835_gpio_set_pud(buttonPin, BCM2835_GPIO_PUD_UP);
    3. Make sure the SNESDev-Rpi is set to start up in mode 2 (poll button only).

    I have attached my main.c for reference, but it does a couple other things (changes esc to one button press and shutdown to 3).

    1. main.c



    Thanks for the quick reply.

    I am using the SD-Image, 1.4.1 (are the problems using this over compiling from scratch?) and i see it has SNESDev-Rpi built in..

    Is it possible for me to just use a Momentary switch on gpio and use that the quit? or does it need to recieve a keyboard command of some sort?





    I love it. Is the Raspberry just stuck down?

    I already made a RetroPie from and old NES and half way through I discovered that it had been done 1000 times.

    So many projects… so little money

    I love the bare foot too…


    Jonathan Demarks

    I cut a notch in the HDMI extender so that it’s held in by a friction lock when the case is closed. It’s actually a really solid connection and easily withstood my 5 year old son tripping over the controller wires and bringing the unit crashing down. The Pi popped out of the HDMI extender and I just needed to plug it back in. The extender is worth the $2 it would cost on Amazon.



    Hi Jonathan,

    I guess my question is beyond your knowledge or not possilbe?





    I believe most people use a momentary switch to the GPIO to do what you’re asking.


    Jonathan Demarks

    Sorry Karl, I’ve been busy with work lately. The Playstation has a momentary switch (like jbaker1225 mentioned) and my code changes to the main.c file are just there to make it compatible with that switch (which drives the pin to ground) so it needed to have the pull up resistor activated. I maintained the GPIO pin 17 (1-11) as there was no reason to change it in my mind.

    Additionally there’s a bug which initializes the GPIO pins to the SNES configuration and I needed them to be setup for PSX controllers, so I moved that code further down.



    Please Help!!!
    I am trying to do a similar thing but i’m having issues getting a psx (original, no analog sticks or dual shock) controller to work. I have the psx controller connected to my 512mb rpi as follows:
    Pin 1 > Pin 3
    Pin 2 > Pin 8
    Pin 4 > Pin 6
    Pin 5 > Pin 1
    Pin 6 > Pin 10
    Pin 7 > Pin 12

    I have installed the RetroPie SD image ver. 1.5. Expanded filesystem using raspi-config and ran the following commands:

    sudo su
    apt-get update && apt-get upgrade
    sudo apt-get install -y git dialog
    git clone git://
    cd RetroPie-Setup
    chmod +x

    From the RetroPie setup I did:
    #3 Setup
    #9 Install/update multi-console gamepad drivers for GPIO

    Then from another terminal using SSH:
    zless /usr/share/doc/gamecon_gpio_rpi/README.gz (instructions)
    modprobe gamecon_gpio_rpi map=0,0,0,0,7,0
    tail /var/log/kern.log (screenshot “psx verify.png”)
    apt-get install joystick
    jstest /dev/input/js0 (screenshot “jstest js0.png”)

    After a reboot, RetroPie starts with the splash saying no “Press a button on the device for player 1, No joysticks detected, press f4 to quit” and pressing a button does nothing. I have take a multimeter to pins 4 & 5 on the psx and am getting 3.3v so i know the voltage is ok. Is there a step I’m missing? I found my sources on a few different sites considering I was unable to find a good tutorial that gave all the steps needed.

    Any help would be appreciated!!!!


    Jonathan Demarks

    I did a clone for a friend of mine. He had the original Playstation controllers and I was not able to get them to work. Plugged in my DualShock controllers and it worked immediately. DualShock and DualShock 2 work, but the original controllers don’t seem to. Not sure why and since I don’t have any I haven’t investigated it.



    cool, I guess I’ll pick up a dual shock and see if it works. I appreciate the quick response.



    well that was the issue. I’ve got a dualshock working but I’m still having a few issue.

    #1 can’t get the controller to work to select emulators.

    #2 Every time I reboot I hand to redo modprobe

    any suggestions?


    Jonathan Demarks

    On my ipad right now, so I may not be of super great help…

    There’s a guide on the pet rock blog that explains how to permanently have a kernel module loaded (add a line to a file).

    There’s also a file in your home directory to delete and emulationstation will ask you to remap the controls (it’s on the forum here as well).

    I wish you success!



    how did you connect the psx controller to the pi, as in which wire to where? could u show a picture?



    Nice job you done there. I definatly want to try this at home 🙂
    Do you have more info on the wiring (soldering, as you done on the back of the controllers). I’m no electrician.




    I would also like to know more about the wiring up of the controllers and psu to the gpio. Is there a guide somewhere? thanks.



    Hi folks,

    I just want to let you know that I also created a PiStation.
    I have a description of my work on my homepage, unfortunately it’s only in german:






    Cool. Just started Something like this myself. Posting idea and current progress soon. thanks for this.

Viewing 20 posts - 1 through 20 (of 20 total)

Forums are currently read only - please visit the new RetroPie forums at

PLEASE NOTE: All orders that are placed between January 14th and January 28th will be shipped on January 29th. Dismiss