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

    NeoPiGamer

    Scheduled Pinned Locked Moved Projects and Themes
    gameboygameboy advancegbaneopigamerpi zero
    80 Posts 23 Posters 65.1k 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.
    • VelocireedV
      Velocireed
      last edited by

      Sweet! you should post a video!

      “The greatest ideas are the simplest.”
      ― William Golding, Lord of the Flies

      1 Reply Last reply Reply Quote 0
      • I
        Imrhien
        last edited by

        I love the sparkle paint job ^_^

        What systems have you got running on it?

        1 Reply Last reply Reply Quote 0
        • Tekkaman_SladeT
          Tekkaman_Slade @PingSpike
          last edited by Tekkaman_Slade

          @PingSpike - Thanks! It wasn't the easiest build, but it was worth it.

          @Velocireed - I'm considering doing both a video and build details. Stay tuned.

          @Imrhien - So far, it's running NES, SNES, Genesis/Megadrive, FBA (for Neo Geo and a few arcade games), Lynx, Gameboy, and Gameboy Advanced. I'm quite amazed at how well everything runs on the Pi Zero.

          1 Reply Last reply Reply Quote 0
          • VelocireedV
            Velocireed
            last edited by

            cool! it looks like your hard work payed off!

            “The greatest ideas are the simplest.”
            ― William Golding, Lord of the Flies

            1 Reply Last reply Reply Quote 0
            • glennlakeG
              glennlake @Tekkaman_Slade
              last edited by

              @Tekkaman_Slade Excellent build!! I'm working on something on the same line with a 5 in screen and a Pi3.

              1 Reply Last reply Reply Quote 0
              • B
                batman
                last edited by batman

                I see alot of people converting original gameboys but really think handhelds with 6 button outlays are best in this form factor.

                The wiring alone is enough to give somebody like me nightmares and wish somebody would start selling these type of kits for those without the know how, tools or time to build one from scratch.

                Well done -it looks really good.

                Tekkaman_SladeT 1 Reply Last reply Reply Quote 0
                • Z
                  ZombieMedia
                  last edited by

                  That's pretty damn cool!

                  1 Reply Last reply Reply Quote 0
                  • Tekkaman_SladeT
                    Tekkaman_Slade @batman
                    last edited by Tekkaman_Slade

                    @batman said in NeoPiGamer:

                    I see alot of people converting original gameboys but really think handhelds with 6 button outlays are best in this form factor.

                    That's the very reason why I chose the Gameboy Advance for this project. I wanted a portable with 4 face buttons and 2 real shoulder buttons. A Nintendo DS has everything from the start, but the bottom half is too thin to fit all the components. The GBA was a very very tight fit and it took quite a bit of planning and modding to add the addition face buttons while maintaining the existing shoulder and face buttons. I'm just glad it all worked out.

                    The wiring alone is enough to give somebody like me nightmares and wish somebody would start selling these type of kits for those without the know how, tools or time to build one from scratch.

                    Adafruit sells kits for the PiGRRL and the Pocket PiGRRL. Both kits are easy to put together and are a great way to learn the basics. You can purchase the 3D printed cases on eBay if you don't have a 3D printer.

                    B 1 Reply Last reply Reply Quote 0
                    • B
                      batman @Tekkaman_Slade
                      last edited by batman

                      @Tekkaman_Slade:

                      Both kits are easy to put together and are a great way to learn the basics. You can purchase the 3D printed cases on eBay if you don't have a 3D printer.

                      Thanks, I've seen both of the kits previously and have been put off by the 3D printed d-pad, buttons and the lack of shoulder/trigger buttons. I could be wrong, but I just don't see these being comfortable to hold for extended periods. Particularly the smaller model.

                      There aren't too many games that I play that actively require 6 buttons but I would want that option for games that do without taking my finger off the d-pad or the main buttons.

                      Personally, I'm interested and keeping an eye on this project in the hope their kit will be actually affordable and buttons be of good quality when they bring it to market. I would be even more excited if they chose to go for a GBA/PSP/DS style layout:

                      https://hackaday.io/project/10207-gamegirl-the-retro-console-done-right

                      1 Reply Last reply Reply Quote 0
                      • G
                        gamester_47 @Tekkaman_Slade
                        last edited by

                        @Tekkaman_Slade im curious how you wired up the controls from the gba board. Any chance you provide a walk through on how you wired the controls to the pi zero?

                        Tekkaman_SladeT 1 Reply Last reply Reply Quote 0
                        • Tekkaman_SladeT
                          Tekkaman_Slade @gamester_47
                          last edited by Tekkaman_Slade

                          @gamester_47 - I used the diagram below to wire the pinouts from the GBA's PCB directly to the GPIO pins on the Pi Zero.

                          GBA PCB Pinouts

                          I cut out the middle/green portion of the PCB in order for the signals to work properly. The Gameboy Pocket and Nintendo DS have the same issue. I needed the space for the LCD screen anyway so it all worked out.

                          The square pinouts under the right shoulder button and between the start and select buttons are ground.

                          Then I used the Adafruit retrogame utility described here to remap the buttons to keyboard presses.

                          1 Reply Last reply Reply Quote 0
                          • J
                            Jeff H.
                            last edited by

                            Hi. I'm trying to do something similar to what you did. The only issue I am having is finding a display that I really like. Your display seems perfect (even bragging about 60fps). Could I get a link to the display that you used and describe what part of it that you modded? Thanks a bunch ^_^

                            Tekkaman_SladeT 1 Reply Last reply Reply Quote 0
                            • Tekkaman_SladeT
                              Tekkaman_Slade @Jeff H.
                              last edited by Tekkaman_Slade

                              @Jeff-H.

                              I used a SainSmart 3.2" TFT LCD Module touch screen display. I believe it's a re-badge or clone of the WaveShare32 TFT touch screen display. I got it from my local Micro Center.

                              First I disconnected the flex cable and separated the driver board from the actual TFT display. They're held together with double sided mounting tape, so that part was easy.

                              Then I used a dremel tool to cut right along the 4 slim tactile button switches on the side of the driver board. This both resized the width of the board to the same width as the display as well as removed the buttons.

                              Next I cut off the thick plastic portion of the GPIO connector and desoldered the remaining pins.

                              Then I soldered wires from the appropriate pinouts directly to the GPIO on pi zero based on the pinout specs available on the page linked above. The manual linked on the same page also has more pinout details. I put electrical tape on the opposite side of the pin holes on the driver board to prevent any contact with the back of the TFT display.

                              Lastly, I removed the mounting tape, reattached the driver board to the back of the TFT display using double sided masking tape to reduce the thickness of the display, and reconnected the flex cable.

                              Drivers are included in raspbian jessie which makes enabling the display so much easier. You simply have to place the parameters below into the config.txt file in the boot folder.

                              hdmi_force_hotplug=1
                              hdmi_group=2
                              hdmi_mode=87
                              hdmi_cvt=320 240 60 1 0 0 0
                              
                              dtparam=spi=on
                              dtoverlay=waveshare32b,speed=80000000,fps=60,rotate=270
                              

                              The first set of parameters setup the display resolution. The second to last parameter enables SPI. The last parameter specifies the hardware overlay for the display so the correct kernel modules are loaded along with maxing out the speed and frames per second for the display. I also had to specify rotating the display 270 degrees since I have the display turned around for shorter wiring between the pi zero and the display in the GBA case. More info on the software side of things can be found here.

                              Since The SainSmart 3.2" TFT LCD Module has a resistive touch screen , I highly recommend you also blacklist the ads7846 touch input kernel module. Otherwise, the kernel will get continuous interrupts from any pressure between the touch screen and the back of the front of the GBA which will affect both input and game performance.

                              J 1 Reply Last reply Reply Quote 0
                              • J
                                Jeff H. @Tekkaman_Slade
                                last edited by

                                @Tekkaman_Slade Thanks you the best :)

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

                                  @Jeff-H I have found that if you want to keep the plastic screen on the front, a 2.8" screen just fills the gap nicely. Im planning a GBA/Zero project but im struggling to find a good 2.8" screen that works with the Pi, and doesn't have too much overhang on the ends. There isn't a massive amount of space from the edge of the display to the buttons

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

                                  Tekkaman_SladeT 1 Reply Last reply Reply Quote 0
                                  • Tekkaman_SladeT
                                    Tekkaman_Slade @moosepr
                                    last edited by Tekkaman_Slade

                                    @moosepr

                                    I used a 3.2" TFT LCD Module because I wanted a larger screen than the original GBA. But if you or Jeff-H are looking to retain the original GBA screen lens, than the Adafruit PiTFT Plus 320x240 2.8" TFT + Capacitive Touchscreen may work for you. I made the same modification to the Adafruit PiTFT Plus 2.8" for another project minus desoldering the pins. You can actually trim the driver board on both sides leaving a very little overhang above the pins. The B+/Pi 2 Version fabrication print schematics make it very clear where it's safe to trim the driver board without damaging the circuit paths. You will need a high watt soldering iron to desolder the pins as industrial grade solder is used on the driver board. There is a resistive touch screen version of the same board that comes with the pins unsoldered, but I haven't reviewed the fabrication print schematics to see how well that display's driver board can be trimmed.

                                    Cool thing about the Adafruit PiTFT Plus 320x240 2.8" TFT + Capacitive Touchscreen is that drivers are included in raspbian jessie. You simply have to place the parameter described here in the config.txt.

                                    @Jeff-H - I updated the parameter information in the previous post.

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

                                      @Tekkaman_Slade thanks for the info, i will investigate the adafruit screens.

                                      did you have any issues with the I2S audio board you used clashing with the pins for your screen? The screens i have been playing with, use GPIO18 for the backlight

                                      https://github.com/notro/fbtft/wiki/LCD-Modules#adafruit-22

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

                                      Tekkaman_SladeT 1 Reply Last reply Reply Quote 0
                                      • Tekkaman_SladeT
                                        Tekkaman_Slade @moosepr
                                        last edited by Tekkaman_Slade

                                        @moosepr

                                        I used a USB Stereo Audio Adapter I got from Micro Center for 8 dollars. I modded it by removing the casing and the USB port. Then I wired data, power, and ground from the audio adapter directly to a micro-usb male connector. That made it easier for me to plug and unplug the audio adapter for disassembly and debugging of the NeoPiGamer.

                                        Here's what Adafruit has noted about the screen you are using.

                                        "Note that if you are playing audio out the headphone jack, you can't use the PWM capabilities of GPIO #18 at the same time, the PWM function is reassigned to do audio. However, you can use it as a simple on/off pin"

                                        So you should be able to use the screen you are using without backlighting control if GPIO 18 is being used for audio.

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

                                          @Tekkaman_Slade thanks for the info man

                                          i did ponder using a USB sound card, but i have been using a wifi dongle to get logged in and make changes to settings or upload games, and i dont want to start adding usb hubs in there to take up the space and battery

                                          i can tie the backlight pin to the 3.3v feed, that wont cause any issues as the notro driver doesnt deal with any dimming anyway.

                                          do you have any control over the volume on your usb device?

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

                                          Tekkaman_SladeT 1 Reply Last reply Reply Quote 0
                                          • Tekkaman_SladeT
                                            Tekkaman_Slade @moosepr
                                            last edited by

                                            @moosepr

                                            I know exactly what you mean. I looked at a few very small 2 port hubs for notebooks that might have worked after modding, but after replacing the 1200mah battery with a 2500mah battery, there is no room left in the case. I actually use a second pi zero for changes and updates by swapping the microSD card. That setup actually helped with debugging some of the modifications I mentioned in the update to my original post.

                                            I use the RetroArch volume control hotkeys (select+up and select+down) to control the volume. I could have used the original GBA potentiometer, but I had to remove it to make room for the audio amplifier and some wiring.

                                            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.