• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login

Pi in a Gameboy Advance Build - WIP

Scheduled Pinned Locked Moved Projects and Themes
gameboy advancegbabuildhandheldproject
240 Posts 18 Posters 179.9k 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.
  • M
    monstermadeofman
    last edited by 2 Nov 2016, 15:16

    @diegzumillo said in Gameboy Pi (Rethought the concept):

    My only recommendation is to avoid using pi 3 if possible. Seeing how you want to emulate 16 bit and lower, the pi zero is definitely the way to go. It's cheaper, smaller, easier to power... it's more convenient in every aspect. I say this because I ran into a huge problem with my handheld using pi 3, because it has complicating power demands that the popular powerboost from adafruit cannot handle. And I'm not even able to play anything the zero couldn't handle, because it would require overclocking it the thing.

    Other than that, I don't see any difficulties in your project. The PiGrll seems like a solid starting point. I used those buttons on mine and they are awesome!

    Everything looks promising! Good luck with everything.

    This was the guy! I can't find the post where he was talking about power consumption but you get the idea.

    Not all those who wander are lost

    O 1 Reply Last reply 2 Nov 2016, 15:30 Reply Quote 0
    • O
      obsidianspider @monstermadeofman
      last edited by 2 Nov 2016, 15:30

      @monstermadeofman Thanks

      I'm certainly not going to tell them to cancel the free Pi 3 ;) , but I guess I'll go back to hunting for a small hub that actually shows up as a high-speed USB 2.0 hub and will detect a keyboard and controller…

      📷 @obsidianspider

      M 1 Reply Last reply 2 Nov 2016, 15:32 Reply Quote 0
      • M
        monstermadeofman @obsidianspider
        last edited by 2 Nov 2016, 15:32

        @obsidianspider

        Had a quick hunt on the Sudomod wiki and found something that might help you a bit

        http://sudomod.com/wiki/index.php?title=GBZ_Usb_Hub

        Not all those who wander are lost

        O 1 Reply Last reply 2 Nov 2016, 15:32 Reply Quote 0
        • O
          obsidianspider @monstermadeofman
          last edited by 2 Nov 2016, 15:32

          @monstermadeofman said in Pi in a Gameboy Advance Build:

          @obsidianspider

          Had a quick hunt on the Sudomod wiki and found something that might help you a bit

          http://sudomod.com/wiki/index.php?title=GBZ_Usb_Hub

          That list was the one that told me the "octopus" hub would work! (It doesn't) ;)

          📷 @obsidianspider

          M E 2 Replies Last reply 2 Nov 2016, 15:35 Reply Quote 0
          • M
            monstermadeofman @obsidianspider
            last edited by 2 Nov 2016, 15:35

            @obsidianspider

            huh that is odd. They haven't led me astray yet. But then again this is the internet.

            I'm using a cheap 4 port hub a chain shop here in the UK, I don't know if you can get it in the US (the brand that is)

            http://www.wilko.com/computer-accessories/usb-hub-4-port/invt/0349276

            I've got my keyboard and my wifi dongle plugged in and I have no issues.

            Not all those who wander are lost

            1 Reply Last reply Reply Quote 0
            • O
              obsidianspider
              last edited by 2 Nov 2016, 17:08

              OK, I'm back in business. That "octopus" hub is just a piece of junk. I updated the wiki entry to reflect my findings.

              I went to Best Buy on my lunch break and picked up the Targus ACH114US that was listed as the "original" Gameboy Zero hub and it works perfectly. With my wifi adapter, usb controller, usb keyboard and usb soundcard everything is operating as it should.

              lsusb -t
              /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
                  |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
                      |__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
                      |__ Port 2: Dev 6, If 0, Class=Audio, Driver=snd-usb-audio, 12M
                      |__ Port 2: Dev 6, If 1, Class=Audio, Driver=snd-usb-audio, 12M
                      |__ Port 2: Dev 6, If 2, Class=Audio, Driver=snd-usb-audio, 12M
                      |__ Port 2: Dev 6, If 3, Class=Human Interface Device, Driver=usbhid, 12M
                      |__ Port 3: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
                      |__ Port 3: Dev 5, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
                      |__ Port 4: Dev 4, If 0, Class=Vendor Specific Class, Driver=rtl8192cu, 480M
              

              0_1478106255591_targus-hub-connected.jpg

              While it works, it's pretty long. Which is the main reason I went with the "octopus" hub originally.
              0_1478106296379_targus-hub.jpg

              Taking it apart was pretty easy, but I'm going to have to think about how I am going to be able to fit it inside the Gameboy Advance shell.
              0_1478106339176_targus-hub-apart.jpg

              Another neat thing I learned. The Targus hub has five wires, but it's only USB 2. The plug only has four pins. The fifth blue wire is apparently a "drain" wire and is tied to ground and is connected to all of the metal on the plug and on the socket surrounds.
              0_1478106504524_targus-blue-wire.jpg

              📷 @obsidianspider

              K 1 Reply Last reply 5 Apr 2017, 18:00 Reply Quote 2
              • C
                cyperghost @obsidianspider
                last edited by cyperghost 11 Feb 2016, 20:32 2 Nov 2016, 20:31

                @obsidianspider said in Pi in a Gameboy Advance Build:

                sound

                You talked about a adafruit monoamp? Is this an I2S device, like the one used in my latest build? Maybe you will then also find the I2S sound config be useful.

                USB Hub issues

                Yes, that's hard. I had luck with my both hubs - they worked all flawlessly. But take care about power consumption. Those passive hubs can just provide 100mA per connector and some external devices (USB WLAN STICKS!!!) can use more than 100mA. I got an old WLAN stick working as I desoldered the power LED.

                Pi0 and Internet connection

                Yes... therefore you should backup your wifi credentials :)
                It's driving me crazy to get a internet connection .... but @BuZz made a cool job with the Wifi key import feature for RetroPie

                O 1 Reply Last reply 2 Nov 2016, 21:26 Reply Quote 0
                • O
                  obsidianspider @cyperghost
                  last edited by 2 Nov 2016, 21:26

                  @cyperghost I ordered the Adafruit 2130 amp which I believe will accept a line in and amplify it. At least that's what I want it to do.

                  So far the Targus hub is working well.

                  I saw that Targus had a small blob of hot glue where the wires met the PCB as a bit of strain relief. Inspired by that I added a blob of glue (maybe a bit too much, we'll see) to where I soldered the ribbon cable to the screen PCB. The next thing I'll need to do is modify the case to fit the screen, and I shouldn't have to chop too much, and a quick mockup shows that I won't have too much of the screen cut off by the factory screen cover, which I think I'm probably going to keep in place. If anything, upgrading to a glass one.

                  0_1478121973695_gba-screen-mockup.jpg

                  📷 @obsidianspider

                  M C 2 Replies Last reply 2 Nov 2016, 21:33 Reply Quote 2
                  • M
                    moosepr @obsidianspider
                    last edited by moosepr 11 Feb 2016, 21:34 2 Nov 2016, 21:33

                    @obsidianspider i was going to use the 2.8 ili9341 (i think its the same as the one on your screen actually) in my advance. It actually fits pretty well, just a slightly different aspect ratio than a standard GBA screen.

                    Have you got much clearance between the sides of the screen and the buttons? i was worried i would have to shave some off the sides of the buttons to get it all to fit (although i didnt actually get that far in)

                    want to get a tft into your project, look no further than here https://retropie.org.uk/forum/topic/7464/ili9341-tft-screen-guide

                    O 1 Reply Last reply 3 Nov 2016, 11:08 Reply Quote 1
                    • C
                      cyperghost @obsidianspider
                      last edited by cyperghost 11 Feb 2016, 21:39 2 Nov 2016, 21:37

                      @obsidianspider Yes it's a class D amplifier.... It will work for your project.
                      If you run into "housing space" trouble then you can use the I2S device from adafruit like I used.

                      BTW: Cool project!

                      O 1 Reply Last reply 3 Nov 2016, 11:09 Reply Quote 1
                      • O
                        obsidianspider @moosepr
                        last edited by obsidianspider 11 Mar 2016, 11:33 3 Nov 2016, 11:08

                        @moosepr I actually got the 3.2" screen. I've seen guys cram a 3.5" screen in when removing the front protector, so I figured I'd try a 3.2" screen. It looks like it'll fit and go up against the edge of the button slide on one side based on a build I found, but I haven't gotten to trimming yet. I also messed around with overscan a bit and it looks like this 3.2" screen supports it, so if I find that things are being clipped off I can tweak as necessary. It'd mean even more compression of the 320x240, but in my experiments it's not much worse than the "full resolution".

                        📷 @obsidianspider

                        1 Reply Last reply Reply Quote 0
                        • O
                          obsidianspider @cyperghost
                          last edited by 3 Nov 2016, 11:09

                          @cyperghost I wasn't even aware of the whole "I2S" thing until just now. Hmm…

                          📷 @obsidianspider

                          1 Reply Last reply Reply Quote 0
                          • O
                            obsidianspider
                            last edited by 3 Nov 2016, 15:26

                            I'm still not sure how things are going to shake out with cutting the case to fit the screen, but I took the screen cover off (it was scratched anyway) and since the case is translucent I taped the screen to the outside of the case so I could see how much was being hidden by the factory opening. With the 3.2" display the width is darn near perfect, but the height is an issue. The Gameboy Advance's 2.9" screen is a 3:2 ratio and my 3.2" screen is a more traditional 4:3 ratio.

                            With settings "out of the box" the bottom of the screen is clipped off by the factory hole opening.
                            0_1478186611105_no-overscan.jpg

                            I went into /boot/config.txt and set

                            overscan_bottom=28
                            

                            After that I saw some "black bars" in a few games so I forced the aspect ratio for RetroArch to 4:3 and now things fill the screen area and nothing more. I think I'm going to keep the factory hole and just lose those 28 pixels. What do you think?

                            0_1478186733854_28px-overscan.jpg

                            📷 @obsidianspider

                            1 Reply Last reply Reply Quote 2
                            • O
                              obsidianspider
                              last edited by 3 Nov 2016, 16:45

                              I took the plunge and cut the case to fit the screen in. Taking out the side and going right up to the edge of the button slide got the screen to fit really well.

                              0_1478191228252_case-trimmed.jpg

                              0_1478191317533_screen-taped-in.jpg

                              0_1478191329812_screen-front-in-case.jpg

                              0_1478191349391_screen-front-in-case-screen-cover-sonic.jpg

                              0_1478191363016_screen-front-in-case-screen-cover-smw.jpg

                              I'm going to have to figure out what to do about the speaker since the screen now intrudes on the speaker area, but overall I'm happy with how the screen turned out. I won't be removing the screen protection film yet, and I won't be gluing the screen in until I figure out my buttons (debating how to do the ABXY thing) but I'm making progress.

                              📷 @obsidianspider

                              M C 2 Replies Last reply 3 Nov 2016, 17:29 Reply Quote 1
                              • M
                                moosepr @obsidianspider
                                last edited by moosepr 11 Mar 2016, 17:30 3 Nov 2016, 17:29

                                @obsidianspider I was planning on buying 2 lots of buttons from Kitsh-Bent (http://store.kitsch-bent.com/product/custom-buttons), and then drill the extra holes for the second A and B buttons (maybe mould some supports from sugru or something) but they only have clear ones, and the postage to the UK was like $17 so that put the stops on that!!

                                will the buttons from your NES controller fit in the GBA button holes?

                                want to get a tft into your project, look no further than here https://retropie.org.uk/forum/topic/7464/ili9341-tft-screen-guide

                                O 1 Reply Last reply 3 Nov 2016, 17:55 Reply Quote 0
                                • C
                                  cyperghost @obsidianspider
                                  last edited by 3 Nov 2016, 17:43

                                  @obsidianspider
                                  Can you measure the depth and the radius of the speaker housing?
                                  Or can you provide the dimensions of the original speaker please?

                                  About I2S, well it's digital sound and the amp provides downmix to stereo by internal circuit to power one speaker :) In most cases it seems the best solution for such a small build and maybe you can save space in your housing because you don't have to use a USB HUB and just use a Wifi USB Stick for internet connection.

                                  But I provided you links to my build :) There you can read the whole story.

                                  I think space will be rarer than thought, because you may use:

                                  • Battery packs
                                  • Battery balancer (also provided by adafruit)
                                  • Space for your GPIO controllers
                                  • SD adapter.....

                                  Good luck! May the farce always be with you ;)

                                  O 1 Reply Last reply 3 Nov 2016, 18:03 Reply Quote 0
                                  • O
                                    obsidianspider @moosepr
                                    last edited by 3 Nov 2016, 17:55

                                    @moosepr I was looking at the diameters of buttons and the stock AGB buttons are ~8.8mm. I measured the Super Nintendo controller buttons and those are ~10.4mm, but I was looking around and I asked on reddit if anyone could measure a Gameboy Pocket (which doesn't have "A" and "B" on the buttons) and per the response those are ~8.9mm. .1mm is probably within the realm of the tolerances of the reproduction company. I want to do the blue green yellow red thing like on a Super Famicom controller, and I've seen those colors for sale on eBay (the greens are a bit lighter, but I haven't looked very hard), but first I have to see about how to make the four ABXY buttons actually fit in there. With the screen now taking up some room and the support for the R trigger button in the way I'm going to have to see what can be done.

                                    📷 @obsidianspider

                                    1 Reply Last reply Reply Quote 0
                                    • O
                                      obsidianspider @cyperghost
                                      last edited by 3 Nov 2016, 18:03

                                      @cyperghost The Nintendo speaker is ~23mm in diameter, the housing is around the same. It's a snug fit. The new width now that I chopped out for the screen is around ~19mm. If I remove the rest of the speaker housing I could shift the speaker over and it would still fit inside the case, only partially blocked, and would probably still sound decent.

                                      I have to look into the I2S thing as I am using a GPIO-driven screen and will probably have 12 GPIO buttons connected, so I'm not sure what or how many connections will be required or if they would conflict with the display. I'd like stereo through headphones and a mono speaker if possible, but I'm not there yet.

                                      Lots to consider.

                                      📷 @obsidianspider

                                      M 1 Reply Last reply 3 Nov 2016, 19:57 Reply Quote 0
                                      • M
                                        moosepr @obsidianspider
                                        last edited by 3 Nov 2016, 19:57

                                        @obsidianspider the adafruit i2s board is tiny, and only needs 3 gpio pins https://learn.adafruit.com/adafruit-max98357-i2s-class-d-mono-amp/raspberry-pi-usage

                                        The only problem might be that it will need to use pin 18, which is normally used by TFT screens for backlight (as it can do the pwm that is handy for the sound part)

                                        want to get a tft into your project, look no further than here https://retropie.org.uk/forum/topic/7464/ili9341-tft-screen-guide

                                        O 1 Reply Last reply 3 Nov 2016, 20:05 Reply Quote 0
                                        • O
                                          obsidianspider @moosepr
                                          last edited by 3 Nov 2016, 20:05

                                          @moosepr It looks like the I2S isn't going to work because on my screen pin 19 is being used by the screen.

                                          📷 @obsidianspider

                                          T 1 Reply Last reply 3 Nov 2016, 22:03 Reply Quote 0
                                          56 out of 240
                                          • First post
                                            56/240
                                            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.

                                            This community forum collects and processes your personal information.
                                            consent.not_received