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

Unable to read SNES controller

  • Hi!

    I'm having some difficulty reading input from my SNES controller through the controlblock 2.1 on my rPi 3. I'm RetroPie 3.7. I've purchased an SNES controller extension cable from AliExpress and I'm using it to slot my SNES controller in to.

    I've followed the instructions here to set it up. My power switch and status LED are working properly, but I'm not able to get any reading from the controller. I've got one SNES controller cable connected to the inputs for player 1.

    Here's my controlblock config

    pi@retropie:~ $ cat /etc/controlblockconfig.cfg
        "input" : {
                "gamepadtype" : "snes"
        "powerswitch" : {
            "activated" : true

    Running jstest on /dev/input/js0 gives one line of test output and none of my button presses appear to be registering. They make no change. I get the same output from js1.

    pi@retropie:~ $ jstest /dev/input/js0
    Driver version is 2.1.0.
    Joystick (ControlBlock SNES Gamepad) has 2 axes (X, Y)
    and 8 buttons (BtnX, BtnY, BtnTL, BtnTR, BtnTR2, BtnSelect, BtnThumbL, BtnThumbR).
    Testing ... (interrupt to exit)
    Axes:  0:-32767  1:-32767 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off ^C

    The controlblock binary seems happy enough. I couldn't find any debug or verbosity flags in the code to set here for more info.

    pi@retropie:~ $ sudo /usr/local/bin/controlblock 
    Read configuration: gamepadtype = 2
    Read configuration: doShutdown = 1

    An interesting point is that if I start the pi with the controller unplugged, I can read 3.3v on player1 VCC. If I plug the controller into the controller port from my extension cable and then remove it, I now get 0v on VCC.

    I'm not quite sure what to do next. I've borrowed this SNES controller, as I wanted to get the controlblock working before I purchase controllers of my own. I know this controller was given to me in a working state, but I don't have a SNES with me to immediately verify.

    If anyone has any ideas on what I should look at next, I'd really appreciate a hand. :)


  • Heh, great timing on petrockblog's part

    I've got enough 3.3v LEDs to run through this, so I'll give it a run through as a basic sanity test.

  • Global Moderator

    Maybe you can post an image or two here so that we can get an idea about your hardware setup,

  • Thanks for jumping on this thread petrockblog. Sorry it's taken me a few days to run through tests and get back.

    I've taken the example code from the RPiMCP23S17 module and run it on my Pi.
    The mcp.digitalWrite() commands are lighting things up properly, but the mcp.writeGPIO() commands aren't...

    Looks like

    . I'm not sure what's different between those two commands, but it's a big difference.

    My extension cable looks like this when you crack it open.

    It's wired up to my controlblock like this and this

    Still no luck on my end. Thanks for your time!

  • Success!

    I picked up my own SNES controllers this week, and gave them a shot as a last ditch effort before ordering a new ControlBlock.

    My controllers work! My friend's doesn't. :P

  • Global Moderator

    I am glad to hear that! Have fun playing :)

Log in to reply

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.