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.
    • mituM
      mitu Global Moderator @StoneSet
      last edited by

      @stoneset Are you using Berryboot or the RetroPie image ? How was your system installed ?

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

        I used the retropie image, i burn the img with etcher

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

        mituM 1 Reply Last reply Reply Quote 0
        • mituM
          mitu Global Moderator @StoneSet
          last edited by

          @stoneset The error comes from:

          Module build for the currently running kernel was skipped since the
          kernel source for this kernel does not seem to be installed.

          However, you seem to be using an older version of the RetroPie-Setup script. Update the script and the underlying OS packages, then try again.

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

            Okay i updated the script, but now I get a kernel error, I do not have the right update

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

            mituM 1 Reply Last reply Reply Quote 0
            • mituM
              mitu Global Moderator @StoneSet
              last edited by

              @stoneset Did you update also the OS packages - including the kernel ? If so, then reboot so that the new kernel is picked up.

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

                I don't know, I will try

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

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

                  Okay !! I successefully installed the driver !

                  But now i have got another problem :
                  When i run "jstest /dev/input/js0"

                  Axes: 0: 0 1: 0 Buttons: 0:off 1:off 2:off 3:off 4:off 5:off 6:off 7:off 8:off 9:off 10:off 11:off

                  Only :

                  • Buttons 6 : on
                  • Buttons 8 : on

                  I also try to add a 10kohm to the button
                  (This shematics : alt text without the led

                  And I run properly everythin !
                  link text

                  I think, the map isn't correct with my configuration :
                  sudo modprobe mk_arcade_joystick_rpi map=1,0x20

                  Any suggestion ?

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

                  rbakerR simonsterS 2 Replies Last reply Reply Quote 0
                  • 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.