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.7k 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.
    • cyperghostC
      cyperghost @obsidianspider
      last edited by cyperghost

      @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!

      obsidianspiderO 1 Reply Last reply Reply Quote 1
      • obsidianspiderO
        obsidianspider @moosepr
        last edited by obsidianspider

        @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
        • obsidianspiderO
          obsidianspider @cyperghost
          last edited by

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

          📷 @obsidianspider

          1 Reply Last reply Reply Quote 0
          • obsidianspiderO
            obsidianspider
            last edited by

            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
            • obsidianspiderO
              obsidianspider
              last edited by

              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

              mooseprM cyperghostC 2 Replies Last reply Reply Quote 1
              • mooseprM
                moosepr @obsidianspider
                last edited by moosepr

                @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

                obsidianspiderO 1 Reply Last reply Reply Quote 0
                • cyperghostC
                  cyperghost @obsidianspider
                  last edited by

                  @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 ;)

                  obsidianspiderO 1 Reply Last reply Reply Quote 0
                  • obsidianspiderO
                    obsidianspider @moosepr
                    last edited by

                    @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
                    • obsidianspiderO
                      obsidianspider @cyperghost
                      last edited by

                      @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

                      mooseprM 1 Reply Last reply Reply Quote 0
                      • mooseprM
                        moosepr @obsidianspider
                        last edited by

                        @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

                        obsidianspiderO 1 Reply Last reply Reply Quote 0
                        • obsidianspiderO
                          obsidianspider @moosepr
                          last edited by

                          @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 Reply Quote 0
                          • T
                            thedudester80 @obsidianspider
                            last edited by

                            @obsidianspider You could use a composite display. That way the GPIO is open and the I2S is available.

                            Mint Boy, Case Arcade, New Projects Coming soon....

                            1 Reply Last reply Reply Quote 0
                            • obsidianspiderO
                              obsidianspider
                              last edited by obsidianspider

                              This ABXY thing is kicking my butt. With that trigger button where it is, there's no good way to put X and Y buttons on top of the existing B and A holes.

                              I'm thinking way outside the box here, but the New 3DS has ABXY , and you can get replacement buttons for ~$9. Not super cheap, but they're the colors I want and would be cheaper than buying a bunch of gameboy pocket buttons that wouldn't all fit anyway. And…

                              They're smaller.

                              Using some overall dimensions I saw online and doing some guesswork, it looks like the ABXY cross is ~24.5mm across. I don't have a New 3DS, but I might be able to go measure one at a store display since they are still the current model.

                              0_1478209716841_3ds.jpg

                              So what if I drill a 1" (25.4mm) hole in the front of the Gameboy, then 3D print a button panel to fit that hole. Kind of like how there's a circle on the face of a Super Nintendo controller…

                              0_1478209733193_sfc-controller.jpg

                              It'd kind of look like this…

                              0_1478211081782_abxy-agb-mockup.jpg

                              This assumes the ABXY buttons are the size I think they are.

                              I have a feeling I'm not going to be able to pull this off. :-/

                              📷 @obsidianspider

                              mooseprM 2 Replies Last reply Reply Quote 0
                              • mooseprM
                                moosepr @obsidianspider
                                last edited by

                                @obsidianspider you could glue in the insert, fill the gaps with a filler of your choice, sand it smooth then give the whole thing a coat of paint.

                                That's how things like this are born http://modretro.com/xen/index.php?threads/gamecube-portable-the-varia-cube.15084/

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

                                obsidianspiderO 1 Reply Last reply Reply Quote 0
                                • mooseprM
                                  moosepr @obsidianspider
                                  last edited by

                                  @obsidianspider actually this one is exactly what you were planning http://modretro.com/xen/index.php?threads/game-gear-x-brasil.15052/

                                  I did ponder the same with an old broken nds for the buttons. Even got a red one so the red buttons would look good against the white GBA

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

                                  1 Reply Last reply Reply Quote 0
                                  • obsidianspiderO
                                    obsidianspider @moosepr
                                    last edited by

                                    @moosepr I just fell into a frankencasing rabbit hole. This looks pretty doable. I just don't know how I'm going to blend the textures together…

                                    📷 @obsidianspider

                                    mooseprM 1 Reply Last reply Reply Quote 0
                                    • obsidianspiderO
                                      obsidianspider
                                      last edited by

                                      I decided to buy a broken DS Lite from eBay for $7 to see if/what I can do with the buttons, pads, and case. Should be here next week.

                                      📷 @obsidianspider

                                      1 Reply Last reply Reply Quote 0
                                      • mooseprM
                                        moosepr @obsidianspider
                                        last edited by

                                        @obsidianspider I did also fall into a googling frenzy for the second time. I always have these ideas, then research the hell out of them, then never find the time to actually finish (or in this case, even start them!)

                                        This guide seems helpful http://bitfixgaming.boards.net/thread/138/frankencasing-controller-parts-case

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

                                        1 Reply Last reply Reply Quote 1
                                        • obsidianspiderO
                                          obsidianspider
                                          last edited by

                                          I decided to try out the "use GPIO as a controller" thing today and I used test leads to make my "buttons"

                                          0_1478273378202_gpio-controller.jpg

                                          Then I connected them up to the GPIO using the pin numbers from the Adafruit PiGRRL 2 Default Controls. I may change this to tidy things up in the case, but this was just a test.

                                          0_1478273835173_gpio-controller-wiring.jpg

                                          I then installed the retrogame software and configured it by commenting out the buttons in the config file I wouldn't be using.

                                          When I rebooted the Pi to try to configure things my screen started acting wavy and I thought that there was an issue with conflicting pins, but it turned out that my very quick mockup had some screen wires touching each other and that was causing the disruption.

                                          Mapping the buttons was just like any other controller in EmulationStation and things seem to work fine.

                                          If you're finding the MAME ROW too easy, you can try this new controller out. ;)
                                          0_1478274092319_gpio-controller-wiring-working.jpg

                                          📷 @obsidianspider

                                          mooseprM 1 Reply Last reply Reply Quote 2
                                          • mooseprM
                                            moosepr @obsidianspider
                                            last edited by

                                            @obsidianspider thats one less usb required ;)

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

                                            obsidianspiderO 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.