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.
    • rbakerR
      rbaker @StoneSet
      last edited by

      @stoneset On a breadboard like that above, the power rails do not go all the way along, only half way.

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

        So ?

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

        rbakerR 1 Reply Last reply Reply Quote 0
        • rbakerR
          rbaker @StoneSet
          last edited by

          @stoneset There are components on both sides of the gap - if there is a gap - on your board.

          1 Reply Last reply Reply Quote 0
          • 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.