RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    MCP23017 and Retropie, some problem appears

    Scheduled Pinned Locked Moved Help and Support
    mcp23017gpiocontrollerrecalbox
    40 Posts 5 Posters 7.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • simonsterS
      simonster @StoneSet
      last edited by simonster

      @stoneset

      Use sudo i2cdetect -y 1 to get the value for the map figure.

      What is the resistor connected from 5v to pin 28 for, are you attempting to pull it high? According to the datasheet the chip does this automatically. Also you appear to have the led and resistor connected to pin 21 (up) and the reset pin connected to 5v.

      The pinout is as in this image: https://raw.githubusercontent.com/recalbox/mk_arcade_joystick_rpi/master/wiki/images/mk_joystick_arcade_mcp23017.png

      1 Reply Last reply Reply Quote 0
      • S
        StoneSet
        last edited by

        Hi,
        This is my schematics :
        Where i have to put the resistor ?

        alt text

        thanks a lot !

        Best regards,
        http://stoneset.github.io

        1 Reply Last reply Reply Quote 0
        • S
          StoneSet
          last edited by StoneSet

          Okay good news, i have found the problem :

          I read this "It uses internal pull-ups of RPi and of MCP23017, so all switches must be directly connected to its corresponding GPIO and to the ground."

          So no resistor needed

          And, the problem is'nt hardware, but software !

          Some pictures :

          0_1517298492064_001c3934-40c2-4280-86c4-158a9b1ed8bf-image.png

          I think the problem is when i do :
          "sudo modprobe mk_arcade_joystick_rpi map=1,0x20"

          The driver does not work with the mcp23017 and continues to work on the gpio rpi

          thanks,
          If some one can help me

          Best regards,
          http://stoneset.github.io

          simonsterS 1 Reply Last reply Reply Quote 0
          • simonsterS
            simonster @StoneSet
            last edited by simonster

            @stoneset

            @stoneset said in [MCP23017 and Retropie, some problem appears]

            I think the problem is when i do :
            "sudo modprobe mk_arcade_joystick_rpi map=1,0x20"

            The driver does not work with the mcp23017 and continues to work on the gpio rpi

            thanks,
            If some one can help me

            This command will make js0 map to GPIO pins as per normal mk_arcade_joystick and js1 map to the mcp23017.

            You need to do the following to map it as js0:

            sudo modprobe mk_arcade_joystick_rpi map=0x20

            Why do you have the reset pin on the MCP23017 connected to 3.3V, I've never seen this done.

            1 Reply Last reply Reply Quote 0
            • S
              StoneSet
              last edited by StoneSet

              Hi,

              Thanks for your reply, finally it work !!
              Thanks a lot everyone !

              (I will write a manual, "how to use MCP23017 on RetroPie")

              Best regards,
              http://stoneset.github.io

              1 Reply Last reply Reply Quote 0
              • simonsterS
                simonster
                last edited by

                If you want to attach further controllers using addition mcp23017 chips, to can pair all the wires to the Pi and just change it so on of the A0,A1 or A2 leads are pulled high. Then use i2cdetect to find its value and load it using map=0x20, 0x22 (or whatever the address is) and it will connect as P2

                I've had 4 players connected like this. Did you leave the reset pin attached to 3.3v? I've just tried on mine and nothing works when I pull that pin high.

                1 Reply Last reply Reply Quote 0
                • S
                  StoneSet
                  last edited by

                  Hi,
                  Thanks for you reply,

                  No i didn't leave the 3.3V reset pin on the MCp23017. It work perfectly !

                  Best regards,
                  http://stoneset.github.io

                  1 Reply Last reply Reply Quote 0
                  • N
                    nickstr138
                    last edited by

                    Hi @StoneSet

                    Did you happen to write the manual "how to use MCP23017 on RetroPie?"

                    I appear to be stuck in the same place you were.

                    Thank you!!

                    simonsterS 1 Reply Last reply Reply Quote 0
                    • simonsterS
                      simonster @nickstr138
                      last edited by

                      @nickstr138

                      I keep trying to write a detailed manual on this stuff, but have been really busy with work of late.

                      What is the issue you are having?

                      1 Reply Last reply Reply Quote 0
                      • S
                        StoneSet
                        last edited by

                        Hi everyone

                        @nickstr138 I have created a "driver" for this, check this out :
                        https://github.com/retrobox/console-modules/blob/master/installinputsdriver.sh

                        Regards

                        Best regards,
                        http://stoneset.github.io

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        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.