Please do not post a support request without first reading and following the advice in

SNES Straight to GPIO

  • Global Moderator

    Hey there, sorry for posting a question. And sorry if it's answered elsewhere.

    I'm currently running RetroPie 3.7 (through Pipplware) on a Raspberry Pi 2 and I'm trying to get this Super Nintendo wired up without having to buy additional hardware. It seems SNES controllers can be hooked straight to the Pi and read by SNESDev. All of the documentation on SNESDev (and even gamecon) is extremely old, and written for the old Pi that doesn't have all 40 pins. (gpio pins have changed order since those days)

    My questions is, has anyone got their SNES controllers hooked straight in to GPIO without using an adapter board from PetRockBlog?

    If there's another post on the forum with the information, awesome. I couldn't find it.

  • @Rookervik Yes, it is doable. I did mine over a year ago so I don't remember what version of the snesdev pinout I used. If you look at the source file at the snesdev-rpi github, the pinouts will be in there. Both controller ports work. So does the led light.

    Messy solder job, I know. I'll tidy it up someday. 0_1475127613628_20160928_223206._1jpg.jpg

  • Yes (will post pics later). I use the gamecon driver. Once installed, there is a readme that it asks you if you want to see. That will tell you which GPIO pins to connect to which SNES pins. The GPIO pins used are the same for either PI layout (old vs. new). Just make sure to go to the configuration of the gamecon after install and set it to always enable SNES at startup...

    I use this in my SNES and NES conversion and it works great! (tried the DB9 for the Genesis, but that had self inflicted issues)

  • Global Moderator

    Thanks for the information and picture you guys. I will try this in a little bit. If I get it working, I will definitely make a walkthrough for it. LOL

  • Global Moderator

    I tried messing with the Gamecon driver and come up with this message. I might try to use a small RetroPie 4 sd card and see if it installs correctly.
    I'd just hate to have to re-load all my games and lose CEC support in ES. Keep in mind, this is a Pipplware image running RetroPie 3.7.

  • @Rookervik How did you get CEC working on the Pi?

  • @Rookervik

    I've not run into that error when installing the gamecon driver... It asks you if you want to install the kernel stuff at first and you just say yes and it all installs fine... Did you not answer that question?

    I've installed the gamecon drive many times (including the current 4.0.3 version) and never had any issues...

  • Global Moderator

    @jsawhite That's the error I get when accepting the kernel install. I'll try a retropie build soon. When I find an SD card

  • Global Moderator

    @lilbud CEC works in Kodi already on RetroPie. The Pipplware people have got CEC working in ES and the linux menus with their distribution. It's built along-side RetroPie.

  • @Rookervik can you change PiPplware to English? If so I might try it out on my 2nd microSD card.

  • @Rookervik I had similar issues with my GPIO controller driver after upgrading to 3.7. The answer in my case was to install the kernel headers using:

    sudo apt-get install raspberrypi-kernel-headers

    Then run the setup and it completed fine.

  • Global Moderator

    @simonster Thank you, I will give that a try in just a minute.

    @backstander Yes Pipplware defaults to English in the menus and ES, but in Kodi you need to change your locale. Look for screenshots of Kodi's menus to find your way there.

    Also, I have done a lot lot LOT of prodding on this SNES Controller PCB and compiled some information I have found on the internet. So I jumped in Illustrator and made this SNES Controller PCB Diagram. It should be correct. I used my multi-meter and testing everything twice. But I can still screw up.

    SNES Controller PCB Diagram

    From here I will have an easier time trying to keep pins in order while looking for GPIO pin numbers.

  • Global Moderator

    @simonster No dice. Ran your command, rebooted, tried to install the Gamecon drivers... still the same error. No linux-headers package could be found for your kernel version...

    So I suppose I'll try that version 4 of RetroPie and see if it works. I've tried every combination of GPIO pins the internet has to offer me along side the SNESDev driver running with SNESDev & then running jstest /dev/input/js0 or 1 or 2 or 3

    I can't find concrete instructions using either Gamecon or SNESDev anywhere, showing exact GPIO pins to use and an installation procedure.

    ALSO: if any of you can tell me exactly which driver you're using (SNESDev or Gamecon or what...) and exactly which GPIO pins you're using for the SNES Controller (Clock, Latch, Data 1, Data 2) that would be amazing. LOL

  • I can't find concrete instructions using either Gamecon or SNESDev anywhere, showing exact GPIO pins to use and an installation procedure.

    It is in the wiki page

    Gamepad3 = GPIO4 = Physical Pin07
    Gamepad4 = GPIO7 = Physical Pin26
    Gamepad5 = GPIO2 = Physical Pin03
    Gamepad6 = GPIO3 = Physical Pin05

    ALSO: if any of you can tell me exactly which driver you're using (SNESDev or Gamecon or what...) and exactly which GPIO pins you're using for the SNES Controller (Clock, Latch, Data 1, Data 2) that would be amazing. LOL

    To install from Emulation Station go to RetroPie .

    1. RetroPie Setup
    2. Manage Packages
    3. Driver
    4. gamecondriver

    Make sure you update installed packages first. The driver will give you a warning when you try to install.

    It comes with an option to permanently enable configuration for two SNES controllers using GPI04 and GPI03. (which would be pin#7 and pin#5.)

    Clock = pin#19
    Latch = pin#23
    Power = pin#01
    Ground = pin#06

    Note both players Clock/Latch go to the same Pin#.

  • Global Moderator

    @SirBilly This is some great information! I went to the Wiki but didn't even see this.

    Updated the Setup Script and was welcomed to the new install/manage menus. Found the gamecon and tried to install it again and it failed. I am working on getting a SD card and 4.0 RetroPie image set up. I don't want to wipe a 64 gig SD card with (so far) perfectly set up RetroPie unless I know it's going to work.

    Also, it would be great to update the information on the Wiki to modern Raspberry standards. The GPIO pinout is for the old 20 pin GPIO and you would have had to jump on the RetroPie train very very early to have that Pi. Once I get this working I will make a very easy-to-follow instruction set. :D

  • Global Moderator

    SUBARASHII!!!! Updating to RetroPie 4.0 (and losing all my sexy pipplware stuff) fixed the Gamecon install error and once installed, took me by the hand and got my controllers working. I might try to see if someone can help me get Gamecon installed on my 3.7 RetroPie so I don't have to start over, completely. Have way too much custom stuff to lose it all.

    Thank you to everyone that gave me pointers. Gamecon was the cure. And updating RetroPie, I guess.

  • @Rookervik
    I was running snesdev for a while, and reading up on gamecon and this thread, I wanted to try the gamecon driver and re-soldered my points accordingly. The gamecon driver saw my two snes pads and set them up without any warnings, but only one button from each controller is detected in ES. Anything extra needed to do? I checked my connections with a multimeter so that's not the problem. Controller port is getting the 3.3v. I'm running 4.0.2 clean install. I used the instructions @SirBilly provided

    Update: Fixed my problem. The gauge of wire was just too thin. Works perfectly with an ide cable...well almost perfect. It doesn't work on the retropie-setup area or when you need to press a button to alter a game's setting right before loading it. No big deal, i guess. I can use a kb for that. Now my pi shuts down much faster without the snesdev driver.

  • I de-soldered the ports on the controller plate and made a layout, can anyone check if this is correct? Why does the comment above and wiki say to wire it to 3.3v while the controller needs 5v? I already have a RF module wired up to the red pin on the picture. I will get some rainbow jumper wires and solder them directly into the holes.

    alt text

  • @denisuu Because it runs fine with 3.3v. I also fixed my issue with the pad working in retropie setup. I had to set the controller to Player 1. If you have any issues, please read the guide:

  • delete

Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.