Using GPIO Buttons in RetroPie To Make Your Own Game Controller or Handheld Console

Поділитися
Вставка
  • Опубліковано 24 лис 2024

КОМЕНТАРІ • 206

  • @Hondarider158
    @Hondarider158 2 роки тому +14

    This is exactly what i was looking for to finish my arcade machine project, thank you for the great video!

  • @howforless
    @howforless 2 роки тому +1

    Thanks, I didn’t need this for retro-pi, but instead for a custom radio tuner project, i needed to bind some keyboard keys to some custom front panel control, this worked wonderfully.

  • @epicFAILproLP
    @epicFAILproLP 3 роки тому +5

    I am working on a little gameboy advance arcade cabinett, this is exactly what I needed (and what I will use) eventhough I wanted to do it nativ with no extra software
    Thanks for showing ^^

    • @BytesNBits
      @BytesNBits  3 роки тому

      Great! I hope you get it all working OK.

  • @ama7376
    @ama7376 Рік тому

    u r a star i m new to retro gaming n got raspberry pi from some one who didnt know how to use it and after days of search u made it easy thanks you

    • @BytesNBits
      @BytesNBits  Рік тому

      Thanks. Have fun playing all those games!

  • @KingALLO69
    @KingALLO69 2 роки тому +1

    Thank you so much for this Video! I would have liked if you had shown more in depth how the Buttons are connected with each other but I managed to gather that information through googling and at the end it worked out exactly like you have shown.

    • @BytesNBits
      @BytesNBits  2 роки тому +1

      Hi. Great to hear you got it working.

    • @AstroMonkey1
      @AstroMonkey1 2 місяці тому

      Hi could you refer me to what you found please?

  • @idiedlastmonth
    @idiedlastmonth 2 роки тому +7

    I absolutely loved this. The amount of work went into making this video is inconceivable. Thank you so so much.

    • @idiedlastmonth
      @idiedlastmonth 2 роки тому

      Was wondering what wire size it was on your board. Looked thin and neat.

    • @BytesNBits
      @BytesNBits  2 роки тому +3

      Hi. I use wire wrapping wire or 30awg insulated for this sort of board. Great for packing a lot of connections into a small space.

    • @idiedlastmonth
      @idiedlastmonth 2 роки тому +1

      @@BytesNBits Thanks a lot. I love your work!

  • @umutkayacan7659
    @umutkayacan7659 3 роки тому

    My man buildin a literally gaming console. Nicely done!

    • @BytesNBits
      @BytesNBits  3 роки тому +2

      Hi. Getting there with all the parts. Sound and battery management to come.

  • @tech.valiant
    @tech.valiant 5 місяців тому

    Just stumbled upon this video when I needed it the most. Wonderful content!

    • @BytesNBits
      @BytesNBits  5 місяців тому

      Glad it was helpful!

  • @ddummer
    @ddummer 2 роки тому

    First search result popping up was this... and it was the solution! My table pinball machine is going forward. Many thanks. :)

    • @BytesNBits
      @BytesNBits  2 роки тому

      You're welcome!

    • @RBIBIANO
      @RBIBIANO Рік тому

      @@BytesNBits Hi! There is a way to install raspberry pi OS AND retropie inside, that could be controlled by gpio controller with GpioNext?

  • @rdean1972
    @rdean1972 3 роки тому +2

    Wonderful job. Thank you for helping figure out a good GPIO program. Just an FYI. I have a pi 3 b, installed the base pi image retropie-buster-4.7.1-rpi2_3.img.gz and the install and setup of the GPIOnext would fail. I finally updated all the updates in the retropie_setup.sh. After all of the updates, the GPIOnext installed without a hitch. In case anyone has this problem. Great instructional.

    • @BytesNBits
      @BytesNBits  3 роки тому +1

      Hi Richard. Thanks for the solution on getting the code working with the latest versions of Retropie.

    • @rdean1972
      @rdean1972 3 роки тому

      @@BytesNBits Thank you. If I can help with anything else, please let me know.

    • @BytesNBits
      @BytesNBits  3 роки тому

      @@rdean1972 Great. Will do!

    • @dark_phoenix_9537
      @dark_phoenix_9537 2 роки тому +1

      @@rdean1972 It says Failed to add edge detection when I open the config-manager

  • @joshuaplank883
    @joshuaplank883 Рік тому +1

    This was super helpful. Thanks for laying it all out like that! What screen are you using? Most of the gpio screens I see use up way more pins than that one.

    • @BytesNBits
      @BytesNBits  Рік тому +1

      This is just a standard SPI screen, but not using a parallel interface (multiple data lines).

  • @andicus1
    @andicus1 Рік тому

    Just what I was looking for! Cheers!

  • @TheFlatEarthChannelcom
    @TheFlatEarthChannelcom 3 роки тому

    Thanks for the easy to follow tutorial!

  • @dankhill6851
    @dankhill6851 Рік тому +2

    right about now its time to rock with the biggity buck bumble

  • @mgpmbass3616
    @mgpmbass3616 2 роки тому +1

    Thank you for this great tutorial! What display are you using? And is the setup the same with a RaspberryPi-4? Also, I want to make a miniature RetroPie multicade with swappable control panels. One will be a standard joystick and buttons, one will be using a Pim447 trackball and buttons and the other will be using a rotory encoder as a spinner and buttons. standard tactile buttons.

    • @BytesNBits
      @BytesNBits  2 роки тому +2

      The setup should work with any Raspberry Pi model. Good luck with the arcade cabinet.

  • @alagarraja77
    @alagarraja77 2 роки тому +1

    Hi sir can you make it Joystick module(X-Y dual axis) interface for mouse arrow and switch as select for Raspberry Pi zero board

    • @BytesNBits
      @BytesNBits  2 роки тому

      Hi. The GPIONext package does support a good range of inputs but you'll need to look at expanding your IO pin count to get what you're after. Have a look at the cocumentation as I think it covers using I2C IO expanders.

  • @ethanzif9008
    @ethanzif9008 2 роки тому

    What is the display that you are using for this project? Also, great video demonstration!

    • @BytesNBits
      @BytesNBits  2 роки тому +1

      Hi. I'm using a fairly generic ILI9341 driver based SPI lcd panel. It's using the standard SPI interface rather than an extended parallel data line version.

  • @maxbrownlie8642
    @maxbrownlie8642 3 роки тому +1

    Thanks for the help mate

  • @jimmoriarty8508
    @jimmoriarty8508 Рік тому

    Hi, Thanks for the instructive video. I, although have a bit different project on my hands. Instead of GPIO pins, I want to use an ESP32 to wirelessly send the push button and joystick inputs to my Raspberry Pi 3 which in return would act as a wireless controller for retro-pie on Raspberry Pi. If you have any video regarding this manner then please refer it to me.

    • @BytesNBits
      @BytesNBits  Рік тому

      I used an ESP32 as a bluetooth keyboard in this video - ua-cam.com/video/BkfmBk6OeQM/v-deo.html.
      The basic principle is the same. You just need to find the bluetooth definitions for the game controller interface. The library I use in the video has a game controller library by the same developer.

  • @invisainc-d4pp
    @invisainc-d4pp 2 роки тому

    This Tutorial I Wonderful It is easy to follow and everything 11/10👍

  • @nickfelstead7559
    @nickfelstead7559 8 місяців тому +1

    Thanks!

    • @BytesNBits
      @BytesNBits  8 місяців тому

      Thank you very much.

  • @waynesmith8042
    @waynesmith8042 2 місяці тому

    now i know everything i know wow great video thanks :-
    D

  • @esotericsean
    @esotericsean Місяць тому

    So, I'm making a little RPi Zero 2 game console project, but the screen I found uses all of the GPIO pins (or at least I think it does). Is there a way to use the USB connection to connect buttons?

    • @BytesNBits
      @BytesNBits  Місяць тому +1

      Have a look at the data sheet for your display. Some screens use a connector that covers all the GPIO pins but not all of them are connected. You'll probably find there are enough IO pins to connect your buttons. If you've only got a couple of IO pins left have a look at using a couple as an I2C bus. This will let you add IO expanders to give you more digital io pins. The USB route will get complex very fast - you'll probably need to use a microcontroller to drive the buttons end of the USB connection.

  • @ProjectMaestro69
    @ProjectMaestro69 2 роки тому

    awesome video, quick question. If you want to program a second joypad how do you go back to the gpionext interface?

    • @ProjectMaestro69
      @ProjectMaestro69 2 роки тому

      nvm i figured it out, you type gpionext config in the terminal. This vid is super helpful its perfect for what im working on!

    • @BytesNBits
      @BytesNBits  2 роки тому

      Hi. Great to hear you got it sorted. Glad the video is useful.

  • @JayJay-fn3gp
    @JayJay-fn3gp Рік тому

    Hi Buddy, I imagine You need to being conected to internet on the raspberry to install the driver , Thanks

  • @3rutu5
    @3rutu5 Рік тому +1

    Not sure if i missed it, but what GPIO header did you use for the common? is that just ground?

    • @BytesNBits
      @BytesNBits  Рік тому

      I think I used ground and set the GPIO input to use the inbuilt pull up resistor.

  • @yololollipops2446
    @yololollipops2446 2 роки тому +2

    I'm trying to build controls for my own pi project, when you say you connect 1 end to 0v from the pi, would ground be suitable?

    • @BytesNBits
      @BytesNBits  2 роки тому +2

      Hi. Yes. 0V and ground are the same on the Pi.

    • @yololollipops2446
      @yololollipops2446 2 роки тому

      @@BytesNBits thank you so much!

  • @giancarlomadonna5578
    @giancarlomadonna5578 2 роки тому +1

    Hi.
    Great tutorial but I have a problem. 😅
    I connected 1 d-pad and 4 buttons to emulate a GBoy but after installing GPIOnext the setup did not start giving the error "failed to add edge detection" which I fixed following a guide of Mholgatem.
    Once Retropie has restarted the system scrolls continuously to the right.
    My configuration:
    Raspberry pi zero 2w, retropie 4.7.1 (for pi 2-3), ili9341 2.2" lcd, diy pad with 8 buttons (up, down, right, left, start, select, A, B).

    • @BytesNBits
      @BytesNBits  2 роки тому +1

      I'd start by disconnecting the gamepad and starting up the RPi. If the scrolling continues you've got a software setup issue. If the scrolling only happens when the controller is wired in it's probably a wiring error. Try connecting the inputs one at a time to find when the error happens. Good luck.

  • @miguelgaming394
    @miguelgaming394 11 місяців тому

    @ bytes N bits. Hello friend, your tutorial helped me a lot. but how can I put 2 sticks since only 1 is configured?

    • @BytesNBits
      @BytesNBits  11 місяців тому

      I don't think gpionext supports two gamepads. I guess there aren't enough io pins.

  • @tristanb20
    @tristanb20 2 роки тому +1

    Hi Bytes and Bits, great video! I'm building a handheld at the moment but I keep getting an error saying AbsInfo module is missing from evdev and I can't work out what to do.
    I've tried reinstalling GPIOnext, updating all packages for Retropie, installing evdev manually, starting and stopping GPIOnext, but none of them work and there's not much info online.
    Do you know what might be causing this please?
    Thanks again for your video it's really great!

    • @BytesNBits
      @BytesNBits  2 роки тому

      Hi. I'm not sure what the problem might be, I haven't seen that one before. It might be that something else on the Pi is conflicting with the packages. Is this a fresh install of RetroPie. Have you added any other packages?

    • @tristanb20
      @tristanb20 2 роки тому

      @@BytesNBits Ah I see, okay no worries. I formatted the memory card and redid all the steps and this time it works! Not sure what changed :-S Thanks very much for the help though!

  • @damianzelazny5785
    @damianzelazny5785 9 місяців тому

    great stuff, thank you for sharing ;D

    • @BytesNBits
      @BytesNBits  9 місяців тому +1

      Glad you enjoyed it!

  • @danilovegap
    @danilovegap 10 місяців тому

    At 8:46 GPIONext shows a "Commands" option, what kind of commands are they?
    That's very interesting because I'm using 2 Zero Delay Encoders, one for P1 and one for P2, but I also want 4 extra buttons for admin functions like retroarch Menu, Quit, Pause, etc , do you think I can wire these buttons to GPIO pins and trigger these hotkeys in retropie?

    • @BytesNBits
      @BytesNBits  10 місяців тому

      GPIO next allows you to map gpio pins to pretty much any input button on the computer. in the list you pointed out I think you map buttons to mimic keyboard keys. I haven't looked in the commands menu but just select it and it will give you some options. So yes, you can wire in extra buttons and map those to keys or other buttons. Then in Retropie set those as your hotkeys.

  • @socat9311
    @socat9311 Рік тому +1

    I am a newbie - got my pcb prototype board and the buttons. I am trying to fit the push tactile button in the board so I can solder from the other side but their pins are too big for the holes. Was this also your case? If so, how did you do the soldering/building on the top side of the board? if you have a guide on how you put together this controller would be very useful

    • @BytesNBits
      @BytesNBits  Рік тому

      Hi. Yes, not all the through hole components fit directly onto the proto board. You might need to drill out a few holes. I use double sided protoboard with solder pads both sides and through hole plating. This lets me solder top side if the component doesn't fit. It's really a matter of doing the best you can to get the circuit complete.

    • @socat9311
      @socat9311 Рік тому

      @@BytesNBits thanks! So as long as things are connected properly, the "condition" of the existing or new holes doesnt matter as i understand :)

  • @Kult647
    @Kult647 5 місяців тому

    any video about the dislpay setup?

    • @BytesNBits
      @BytesNBits  5 місяців тому

      Try this one - ua-cam.com/video/uz4sa24C4gk/v-deo.htmlsi=hmvQJaFXi8hARQR4

  • @wenfengpiao5938
    @wenfengpiao5938 4 місяці тому

    Do I need to set GPIO14 and GPIO15 as normal GPIO interfaces before everything starts? Because my GPIONEXT doesn't recognize these two pins

    • @BytesNBits
      @BytesNBits  4 місяці тому

      It's worth clearing any special functions for these pins just to make sure. If GPIONext still can't use them check for other drivers taking control of the pins.

  • @jasithiss
    @jasithiss Рік тому

    How do you wire everything up on the bottom of the prototype board? (4:14)

    • @BytesNBits
      @BytesNBits  Рік тому

      Hi. The prototype board I use is matrix board where every hole/pin has a single solder pad. I simply wire from pin to pin with very fine solid core wire (or use wire wrapping wire). It's very old school but easy to get things up and running quickly and in a small space.

  • @haroldd5035
    @haroldd5035 2 роки тому

    I'm sorry, I'm trying to figure out the wiring for the buttons. It's hard for me to see where all the wires are going even in a blow up of a capture of the back. Any chance you might put up a wiring diagram on your site? Pretty please LOL

    • @BytesNBits
      @BytesNBits  2 роки тому +2

      Hi. Each switch is simply used to connect the GPIO pin to ground. I use the internal pull up resistors on the Raspberry Pi so we don't need external components. On the actual board I simply connect one side of each switch to a common ground from the RPi, and then take the other side of each switch to the GPIO pins. I hope this helps.

    • @haroldd5035
      @haroldd5035 2 роки тому

      @@BytesNBits Yes! After thinking about it I thought that’s what you did but thanks for confirming.

  • @plusah1268
    @plusah1268 6 місяців тому

    Is there a version of this board with each module separated? Like joystick own boards, buttons, etc. I want to try and retrofit a rasp pi into a broken wii u gamepad and turn it into a steam deck Jr lmao. If I succeed, I could finally remove all the emulated games I have on steam deck which fill up the games page

    • @BytesNBits
      @BytesNBits  6 місяців тому +1

      You'd need to break down the circuit yourself. It's basically some buttons connecting the GPIO pins to ground.

  • @TNT925
    @TNT925 Рік тому

    Will this work separately from a usb controller? I’m thinking of using the gpio buttons as system buttons (like close game, and save states)

    • @BytesNBits
      @BytesNBits  Рік тому

      It should do. I'm not sure how the GPIONext identifies itself to the OS so that you can reliably map your 2 controllers. You'd need to have a play around with the game controller settings.

  • @sharktailgaming
    @sharktailgaming Рік тому

    Hey what kind of hook-up wire did you use? Is it 22 gauge? It looks soild core.

    • @BytesNBits
      @BytesNBits  Рік тому

      It is very thin solid core. The label has come off the reels so I don't know the actual guage. It's basically wire wrapping wire but with a thin plastic covering.

  • @182mm
    @182mm 2 роки тому

    GREAT!!!! I RESPECT YOU!!! THANKS!!!!!!!!!!!!!!!!

  • @davidpoole4374
    @davidpoole4374 Рік тому

    Quick question, how many button inputs are you to fit on the GPIO pins? Also can you send multiple inputs through a single pin?

    • @BytesNBits
      @BytesNBits  Рік тому

      I think you can configure as many pins as are available. Unfortuately just one button per pin.

    • @davidpoole4374
      @davidpoole4374 Рік тому

      @@BytesNBitsUpdate. It ended up working, and all my buttons are working. But for some reason when I try and hook up my thumbstick, it only detects "up", and "right". (This is for my arudino thumbstick, and a custom one I wired myself)

  • @kevinc6323
    @kevinc6323 6 місяців тому

    Great video - do you know if you can use a button matrix with GPIOnext rather than using one pin per button (using diodes etc.)?

    • @BytesNBits
      @BytesNBits  6 місяців тому

      I don't remember seeing that function but do check the documentation. It's a while since I've used it now.

  • @jonathanreader6503
    @jonathanreader6503 6 місяців тому

    Will this handle variability on an analog joystick? (turning slight left, full left, etc.)

    • @BytesNBits
      @BytesNBits  6 місяців тому

      The GPIO setup I use is purely digital inputs.

  • @Zeitiah
    @Zeitiah 3 роки тому

    Great video! But I'm not getting all 8 directions with my joystick (I'm only getting up, down, left, and right) could you help me fix that?
    Right now I've having the joystick output if it's pointing up, down, left, or right; if it's pointing diagonally, I will have it output the two states (eg. if I point it up-right, the joystick will output to both the pointing right pin, and the pointing up pin). Should I be doing this differently?

    • @BytesNBits
      @BytesNBits  3 роки тому

      It sounds like you've got it all designed correctly. I'd start by checking the pin voltages when you move in a single direction and then in a diagonal. It might be some sort of short circuit that's pulling the pins low when more than one switch is closed.

    • @Zeitiah
      @Zeitiah 3 роки тому

      @@BytesNBits Hmm, I haven't thought about that. Thanks for your help, I'll go check it out.

  • @Chefg3189
    @Chefg3189 2 роки тому

    Hello I used your exact configuration to the gpio for a diy gamepad like in the video and "Start" and " Ltrigger" do not work. And ideas?

    • @BytesNBits
      @BytesNBits  2 роки тому

      Hi. Try connecting these non working buttons to two of the working GPIO pins. This will confirm if it's the wiring or the software. If they work you can try mapping the buttons to different GPIO pins. There might be some other setup in your RPi that's interfering with these IO pins.

  • @rudy5360
    @rudy5360 2 роки тому

    Great tutorial! I followed along and almost have it working. My GPIO joystick is detected, I can map buttons and navigate Retropie menus. But upon launching (mame) emulators, the GPIO controller disconnects. Any ideas?

    • @BytesNBits
      @BytesNBits  2 роки тому

      Hi. If you're using the Libretro cores through Retroarch you probably need to map the buttons in there. Launch a game and press Select + X. This should bring up the RetroArch menu. Find the input settings and there should be an option for mapping the controllers (I can't remember exactly where it is). If you go through that it should let you tally up Retroarch with the controller buttons. Then in Mame you need to press the Tab key on the keyboard (there's probably a key combination as well) to get to the Mame key mappings. If you set the general inputs this will be the default for most games. You can the modify individual ones from there.
      I hope this helps.

    • @rudy5360
      @rudy5360 2 роки тому +1

      @@BytesNBits thank you for your detailed advice and fast reply! I will follow your suggestions, it's so close to working now 😃

  • @arwilson51
    @arwilson51 2 роки тому

    im a bit new with all this wiring and stuff but how can i remove the breadboard from the setup? i want to make it as compact as possible and a breadboard sort of gets in the way.

    • @BytesNBits
      @BytesNBits  2 роки тому

      Hi. You need to design an printed circuit board to connect all the bits together in a small package. It's another project on the list of videos I want to make.

  • @pinobarbareschi6452
    @pinobarbareschi6452 Місяць тому

    hi brother but is the connection procedure the same with the 3.5 inch ili9341 display?

    • @BytesNBits
      @BytesNBits  Місяць тому

      Yes. Follow that tutorial as well. Note that the 50fps driver video needs updating after the RPi OS was updated at the start of the year. If you want to use that tutorial you'll need to install a version from 2023.

  • @RedFrostGames
    @RedFrostGames Рік тому

    I've wired up buttons to use for this in a similar fashion. When I run gpionext config (after having messed with all the pulldown, set pins options a million times), gpionext never detects the button clicks. However when I write python code to check if the buttons work, they all do. Do you have any idea what the issue could be?

    • @BytesNBits
      @BytesNBits  Рік тому

      Hi. gpionext has some options to tell it what buttons it's allowed to use. Usually it assumes it can use everything but it might be getting overridden somewhere. Have a look at this video ua-cam.com/video/YqF3Z0AAnIY/v-deo.html. I was getting the sound output messing with the gpionext functions. Hope it helps.

    • @RedFrostGames
      @RedFrostGames Рік тому

      @@BytesNBits that could be it. I have an awful set up using pwm audio from one of the gpio pins and and the spi display connection. I ended up writing my own script to simulate keyboard presses when buttons are pressed and that works for me

  • @crabbypatty7535
    @crabbypatty7535 5 місяців тому

    If I completed configuring my controller in the console, and then modified my controller a day later by adding a new button, can I re-configure my controller with the new button? If so, how?

    • @BytesNBits
      @BytesNBits  5 місяців тому

      make sure you've added the button in GPIONext and then remap the controller in RetroPie

    • @crabbypatty7535
      @crabbypatty7535 5 місяців тому

      Thank you, that really helps. I had another question though. The thing is that retro pie does not occupy my entire display (5inch lcd), and I was wondering how I could fix that. I tried changing the resolution but it didn’t work.

  • @Sodwmistis
    @Sodwmistis 9 місяців тому

    all the buttons work fine expept 2 buttons. the DOWN is GPIO 1 and the RIGHT is GPIO 0. has anyone same problem and help to work at this GPIOs??

    • @BytesNBits
      @BytesNBits  9 місяців тому

      Can you remap those functions to other GPIO pins?

  • @EZMERYCZ
    @EZMERYCZ Рік тому

    hello, how can I do this with 2 customized controllers. for my own 2D game

    • @BytesNBits
      @BytesNBits  Рік тому

      You'd need to check the driver documentation to see how many inputs it supports. It should be a matter of connecting up the extra buttons and mapping them into the code.

  • @RBIBIANO
    @RBIBIANO Рік тому

    It works as a “command controller” to Rasp Os? Or it works only on Retropie?

    • @jasithiss
      @jasithiss Рік тому +1

      They work like any other button.

    • @BytesNBits
      @BytesNBits  Рік тому +1

      Hi. It should show up as a standard game controller. It's not specific to RetroPie.

  • @jihlnabaat6329
    @jihlnabaat6329 3 роки тому

    could you help me? i am trying to finish my console and i want to use a ps vita joystick and d-pad and 6 buttons and 2 shoulder buttons and start and select, menu.

    • @BytesNBits
      @BytesNBits  3 роки тому +1

      Hi. You'll not be able to connect this sort of controller layout directly to the Raspberry Pi. You'll need to make/buy a game controller circuit which you can connect via the USB port. Have a look at create.arduino.cc/projecthub/361085/arduino-game-controller-f3ffec.

  • @safwansadad6488
    @safwansadad6488 Рік тому

    The first 26 GPIO pins on my rpi 3b+ are taken up by my display. I am 1 GPIO pin short for the controller. Is there any workaround for this? Can I like set the Select button as a double tap of the Start button or something else in the software?

    • @BytesNBits
      @BytesNBits  Рік тому +1

      Does your display use an SPI connection? Quite often the connector covers a large block of pins but is only using a few of the GPIO connections. The others are just not connected but covered by the header. If you get the pinout for the screen connector you can use jump wires to connect it to the RPi and then gain access to the unused pins.

    • @safwansadad6488
      @safwansadad6488 Рік тому

      @@BytesNBits Yes my display uses a SPI connection. According to its documentation there are some free pins. I'll those. Thanks for the help!

    • @safwansadad6488
      @safwansadad6488 Рік тому

      @@BytesNBits I just tried it out using jumper wire. The display powers up but doesn't show anything. It's just a white screen. I'm using the fbcp-ili9341 driver on my display. Do I need to tweak any of the driver settings?

    • @BytesNBits
      @BytesNBits  Рік тому

      @@safwansadad6488 If you've used jump wires for all the connections you should be fine. Don't forget the power connections! All you are doing is extending the pins. Make sure the connections are good and that you've not missed any pins. Try not to use overly long wires. If all else fails try reducing the connection data speed. If that fixes it you've got some sort of noise issue. Again check connections and wire length. Just to check - was it all working when connected directly to the Pi?

  • @graceb5539
    @graceb5539 Рік тому

    Hello, where did you get the cover for your joystick?

    • @BytesNBits
      @BytesNBits  Рік тому

      I 3D printed it.

    • @graceb5539
      @graceb5539 Рік тому

      @@BytesNBits That’s awesome! Would you mind sharing the stl file? I am making a controller for my high school engineering project.

    • @BytesNBits
      @BytesNBits  Рік тому

      @@graceb5539 I don't think I bothered to save the design. It's simply a sphere. Cut off the bottom section. Then cut out a cuboid on the flattened surface to fit your joystick stub.

  • @griffinbrooks6748
    @griffinbrooks6748 2 роки тому

    can i have this GPIO controller installed and plug in extra USB controllers and have them run in multiplayer games?

    • @BytesNBits
      @BytesNBits  2 роки тому

      I haven't tried it but I don't see why they wouldn't work. Give it a go!

    • @griffinbrooks6748
      @griffinbrooks6748 2 роки тому

      @@BytesNBits :D thanks!

  • @prestonsweekends1030
    @prestonsweekends1030 Рік тому

    would this work with normal microswitches and a breadboard

    • @BytesNBits
      @BytesNBits  Рік тому

      Yes. The joystick is simply 4 micro switches in a neat little unit.

  • @mete_seringaming3537
    @mete_seringaming3537 3 роки тому

    hi when i do that project i came to would you like to run gocfuguration manager i press y but it says
    Traceback (most recent call last): File "/home/pi/GPIOnext/config_manager.py", line 14, in from evdev import ecodes as e ImportError: No module named 'evdev'
    i cant find a solution you can help

    • @Zeitiah
      @Zeitiah 3 роки тому

      Try running install.sh again. If it's still not working, execute the command: "sudo pip3 install evdev (If you open install.sh in a text editor such as "nano", you can find that exact command)

    • @BytesNBits
      @BytesNBits  3 роки тому

      Hi @Zeitiah Thanks for the tips on fixing this issue.

    • @rdean1972
      @rdean1972 3 роки тому +1

      In my comment, I shared the solution for this exact problem. I ran updates for everything in the retropie_setup.sh. After I did this, I was able to install the GPIOnext and run the configurator without that error. Hope this helps.

  • @zaytik221
    @zaytik221 Рік тому

    would this work for a raspberry pi 4 (with RetroPie of course)?

    • @BytesNBits
      @BytesNBits  Рік тому

      Should do. Although the video is now a bit old so not sure if the drivers are still compatible.

    • @zaytik221
      @zaytik221 Рік тому

      @@BytesNBits thanks and respect for still answering questions 2 years later

  • @MrJersday
    @MrJersday 3 роки тому

    would you be able to do this one with a pico pi? then hooked up to a raspberry pi?

    • @BytesNBits
      @BytesNBits  3 роки тому

      Hi. Yes. You could create a full X box style controller that way. Use the Pico to read all the joysticks and buttons and then use the USB connection to the RPi to set it up as a standard game controller. I'm sure there's a tutorial out there on how to do it.

  • @amirrosli9295
    @amirrosli9295 3 роки тому

    Can it be used to control raspberry pi that is running desbian instead of retro pi?

    • @BytesNBits
      @BytesNBits  3 роки тому

      I haven't tried it but I think it should work. The GPIO software seems to create a virtual controller that should be picked up by the OS. Only one way to find out!

  • @boramutludogan3539
    @boramutludogan3539 3 роки тому

    can we use this with button matrix or software only accepts single input

    • @BytesNBits
      @BytesNBits  3 роки тому

      I think the gpionext library only supports one button per input

    • @boramutludogan3539
      @boramutludogan3539 3 роки тому

      @@BytesNBits that's sad its hard to put all buttons and display at the same time using gpio pins

  • @meeskees4227
    @meeskees4227 11 місяців тому

    Dont you need the hotkey button for retropie?

    • @BytesNBits
      @BytesNBits  11 місяців тому

      This is just a basic controller setup. You can get into and out of games to play your collection. You need to map hotkeys

    • @BytesNBits
      @BytesNBits  11 місяців тому

      To the buttons on the controller, or combinations.

  • @Cedricvids1
    @Cedricvids1 2 роки тому

    can you show how to make the controller?

    • @BytesNBits
      @BytesNBits  2 роки тому

      Hi. The controller is just a number of pushbuttons soldered on to a piece of veroboard. I've wired in a common connection to one side of every switch and then taken the other side of every switch to a flying lead. This lets me connect either 5V or 0V to the common side so I can either pull up or pull down an input pin on the Raspberry Pi. For this project I used a 0V common to pull down the RPi GPIO pins. I hope this helps you out.

  • @MrbeastfromOhio260
    @MrbeastfromOhio260 5 місяців тому

    Excuse me sir. May I use a breadboard or PCB?

    • @BytesNBits
      @BytesNBits  5 місяців тому

      You can use whatever works best for you. As long as the connections are all correct it doesn't matter.

    • @MrbeastfromOhio260
      @MrbeastfromOhio260 5 місяців тому

      @@BytesNBits Thank you sir for your information.

  • @jakelloydganoy6919
    @jakelloydganoy6919 Рік тому

    can we replace the raspberry pi zero into a raspberry pi 4?

    • @BytesNBits
      @BytesNBits  Рік тому

      Yes. It should work fine without changing anything.

  • @chenwastaken
    @chenwastaken Рік тому

    Will this work with Lake/Retro Arch?

    • @BytesNBits
      @BytesNBits  Рік тому

      It definitely works with RetroArch and should work with any other software.

  • @anupsonawane1420
    @anupsonawane1420 8 місяців тому

    Can this be carried out in raspberry pi zero 2w ?

    • @BytesNBits
      @BytesNBits  8 місяців тому +1

      Yes. It should work on all Pi models.

    • @anupsonawane1420
      @anupsonawane1420 8 місяців тому

      @@BytesNBits thanks for the reply, can you please help me more by providing few info
      1. I am getting raspberry pi zero 2w for cheap hence I want to make a bartop arcade machine where most of my games will be neogeo ,mame, snes ,sega Saturn . How will it perform on a 15 inch 768p reso screen.
      2. Can we use remaining gpio fo player 2 configuration?
      If not then I have a gamepad made from raspberry pi pico will it be detected as a controller for retropie for 2nd player configuration?

  • @endersteve704
    @endersteve704 7 місяців тому

    i tried to do this but my gpio is now like burned the raspberry pi works but the gpio doesen't

    • @BytesNBits
      @BytesNBits  7 місяців тому +1

      have you tried booting the RPi with a clean OS to verify if the GPIO is really damaged. the software shouldn't be able to damage the circuitry.

    • @endersteve704
      @endersteve704 7 місяців тому

      @@BytesNBits yes i did it and reinstalled the gpionext software but it still can't recognise the buttons attached to the gpio

    • @endersteve704
      @endersteve704 7 місяців тому

      @@BytesNBits how can i know if the gpio is broken?

  • @Orion3000k
    @Orion3000k 3 роки тому

    Does anyone know how to create on screen controller for live video feed?

    • @BytesNBits
      @BytesNBits  3 роки тому

      Hi. I've seen a few virtual gamepad projects which might do what you want. Have a look on Google. Otherwise you'll have to code something yourself. Hope this helps.

  • @duanefreeman3152
    @duanefreeman3152 9 місяців тому

    well got the screen going and now the controller ....next sound

    • @BytesNBits
      @BytesNBits  9 місяців тому +1

      Great. Have fun. I'll have to do a sound video at some point.

  • @Kult647
    @Kult647 6 місяців тому

    is there any input delay?

    • @BytesNBits
      @BytesNBits  6 місяців тому +1

      There will always be some delay as the button presses are picked up by one block of code before being passed to the main OS. I wasn't able to detect it when using it for games.

    • @Kult647
      @Kult647 5 місяців тому

      @@BytesNBits right the answer i was waiting for. thanks!

  • @dark_phoenix_9537
    @dark_phoenix_9537 2 роки тому

    It says Failed to add edge detection when I open the config-manager

    • @BytesNBits
      @BytesNBits  2 роки тому

      Hi. I'm not sure what that might be. Make sure you've run a full update on your Pi and RetroArch installations and then try re installing the GPIONext code.

    • @dark_phoenix_9537
      @dark_phoenix_9537 2 роки тому

      @@BytesNBits Ok i found the error :) My LCD-Display took some GPIO pins. But now I have another error. When I type in gpionext start and reboot, retropie says that it found no Game-Pads.

    • @dark_phoenix_9537
      @dark_phoenix_9537 2 роки тому

      @@BytesNBits You mentioned RetroArch. I haven't istalled RetroArch.

    • @BytesNBits
      @BytesNBits  2 роки тому

      @@dark_phoenix_9537 RetroPie is a front end package that uses RetroArch in the background to do the actual emulation.
      Can you run the GPIONext config routine and does it recognise your buttons? If you then run RetroPie without a reboot does it see the controller?

    • @dark_phoenix_9537
      @dark_phoenix_9537 2 роки тому

      @@BytesNBits The problem is the LCD-Display, because when I run the RP whitout tftdisplay installed, it recognises the GPIOnext controller.

  • @griffinbrooks6748
    @griffinbrooks6748 2 роки тому

    what do you do when you run out of gpio pins?

    • @BytesNBits
      @BytesNBits  2 роки тому

      You can use an I2C IO expander. I think GPIONext supports these but do check. I'll be using some on a future video to build a bluetooth game controller but that's a couple of months away.

    • @griffinbrooks6748
      @griffinbrooks6748 2 роки тому

      @@BytesNBits okay :D

  • @Sanchez9241
    @Sanchez9241 Рік тому

    how to add vibrations?

    • @BytesNBits
      @BytesNBits  Рік тому

      I haven't checked it the driver supports haptic outputs. You'd need to have a look in the documentation. If it does I guess you'd just need to connect the motor to a GPIO pin, maybe with a simple current amplifier.

  • @Delorean29
    @Delorean29 Рік тому

    Can I use 20 buttons? How?

    • @BytesNBits
      @BytesNBits  Рік тому

      I think GPIONext supports I2C IO expanders. You'd need to use these to get that many inputs.

    • @Delorean29
      @Delorean29 Рік тому

      @@BytesNBits Do you know any pcb that has 20 buttons for 12C

  • @luuhuy3225
    @luuhuy3225 3 роки тому +1

    audio output next plssssssssssssssssssssssssssssssssssssssssssss

    • @BytesNBits
      @BytesNBits  3 роки тому

      Hi. Sound should be ready this weekend!

    • @luuhuy3225
      @luuhuy3225 3 роки тому

      @@BytesNBits omg that makes me so happy to hear. Im doing this project and i really really need your tutorial ❤️❤️❤️

    • @BytesNBits
      @BytesNBits  3 роки тому

      Hi. It took a bit of time to get it put together but the sound tutorial is now online. Let me know how you get on.

  • @chickenfrenzy9096
    @chickenfrenzy9096 7 місяців тому

    Upon trying to run the config menu Im having some issues. Im getting this error "cannot import name 'AbsInfo' from 'evdev' (/usr/local/lib/python3.7/dist-packages/evdev/__init__.py)" any idea on why that might be?

    • @BytesNBits
      @BytesNBits  7 місяців тому +1

      It looks like the evdev library (I don't know what it is) is missing a module or something. Try updating your Python. It might also be that that module has been taken out of the library. Try a search on Google.

    • @chickenfrenzy9096
      @chickenfrenzy9096 7 місяців тому

      @@BytesNBits Thank you. I looked around for a while and didn’t find anything. I ended up just reimaging my SD card and starting from scratch. Worked fine after reinstalling everything. Thank you for the help 🙏

  • @tech-a-tronics650
    @tech-a-tronics650 3 роки тому

    i tried to do this but it is showing this
    Traceback (most recent call last):
    File "/home/pi/GPIOnext/config_manager.py", line 315, in
    ConfigurationManager(args)
    File "/home/pi/GPIOnext/config_manager.py", line 85, in __init__
    gpio.setupGPIO( self.args )
    File "/home/pi/GPIOnext/config/gpio.py", line 99, in setupGPIO
    pins.append( pin(pinNumber, pull, args) )
    File "/home/pi/GPIOnext/config/gpio.py", line 59, in __init__
    bouncetime = args.debounce)
    RuntimeError: Failed to add edge detection
    please help me

    • @BytesNBits
      @BytesNBits  3 роки тому

      Hi. I had a quick look and found this possible issue.
      www.raspberrypi.org/forums/viewtopic.php?t=205327
      Check your pin assignments to make sure GPIONext isn't interfering, or being blocked by some other software. I also added a GPIONext fix video as I found it was interfering with my sound setup. Have a look at,
      ua-cam.com/video/YqF3Z0AAnIY/v-deo.html
      You can limit the GPIO pins GPIONext has access to.
      I hope this helps.

    • @tech-a-tronics650
      @tech-a-tronics650 3 роки тому +1

      @@BytesNBits thank you that helped me a lot