I like the concept of the PiGRRL, but I think it is ridiculously thick and chunky. I'm going to try to make it thinner and in the same form factor as the original Gameboy Advance. So far it can only emulate NES and MAME, since Notro's framebuffer for the TFT screens doesn't use OpenGL. I'm hoping that will change, I'd like to at least be able to pack some SNES and GBA in my pocket, but we will see how it works out.
I'm most of the way to finishing this project, but that last 10% is the hardest part. I followed the excellent tutorial posted by Adafruit on making framebuffer copy work with their 2.8 inch screen. It was very in-depth, explaining why every instruction and command was essential for the process. Here's the link if you want to follow/bookmark it:
I fired up Quake 3 as soon as I was done installing everything:
Today I desoldered all of the excess connectors and jacks from the Pi and soldered the screen close to the board. Here's the mess leftover from the desoldering effort:
It wasn't as clean and easy as Ben Heck made it seem, but it was possible for us mere mortals. Here's the link to Ben Heck's show and the specific episode in which he desoldered the Pi and attached this exact screen:
Ben Heck is frequently my inspiration for projects and what is possible. I tried to take some pics of the screen combo once it was soldered up, but the camera wouldn't focus properly on the thin profile of it:
I still have to cut up the PCB for the controller and wire up the buttons as well as make some kind of 3-D printed case for it.
I forgot that I need a USB port for dragging and dropping ROMs as well as configuring the GPIO buttons, so I'm gonna have to put one back on the board, perhaps permanently. I'm not sure when I'll get to work on it more, but I'll keep updates rolling in.
I was limited to NES and MAME originally, but now that there's a good tutorial on getting the framebuffer copy support working, This is something I'm going to do, which opens up the world of emulators. I have to refine my control setup, so I can have the proper controls for the emulators I want to use. I think the ones that matter most to me in addition to the NES are:
I have enough free GPIO for the all the buttons on the SNES, so the problem now becomes where to locate the L and R buttons. I wanted to have a flat, original DMG style system, but I might have to retool for an original GBA layout, with the controls to the left and right of the screen and the shoulder buttons on top.
Either way, I still have to cut out he PCB portions that go under the button pads, and solder them to the GPIO. Here you can see my pencil lines around the parts of the board that is gonna be cut out:
Now I just have to take this control layout:
And put it to either side. It might be better to keep the batteries together behind the screen and just move the controls to either side. I'm still not set on it though, and I may figure out something better before I get to that stage. Currently my to-do is wire up the buttons to the GPIO after cutting up the PCB and then get my selected emulators running with FB copy. After that all works, I still need to desolder all the "extras" on the RPi that I'm not going to be using.
I have been snowed in recently, and besides playing video games all day, I've done a little work on some of my projects. I soldered both of the batteries together in parallel, so the battery life will be increased and I can still use the same charger. I did some research on if this was alright, and plenty of R/C enthusiasts do it all the time. Since they are the same size, the cells should balance. If you choose to do something similar, I would recommend draining the batteries first so you don't have to worry about shorting the leads and potentially damaging the LiPos. Here's my work, I taped them to an old credit card currently for mockup purposes:
I also disassembled a SNES controller that doesn't work any more. I have a couple more, and since I was gonna use it for this project, I don't care to sacrifice it. I'm not sure what was wrong with it, no commands would register at all, so I believe the chip in it went bad, or perhaps it's missing a connection to it. A brief inspection of the board didn't yield any answers, so it's on the altar to the god of h@x. Here's the controls set out the way I would like to see them in the final form:
I'll need to trim the elastomers to fit inside the yet-to-be designed enclosure, but it looks like it will be comfortable for some classic gaming on the go! I need to cut up the PCB for the controller and wire it to the GPIO on the Pi next. I'm not sure how I'm going to do it yet, since the screen is clipped onto all the pins, but I'll figure something out.
I just received my LiPos and the charge controller from Adafruit today, so the work is going to begin soon! I wired up a power cable for the Pi, and it works so far as a portable touchscreen Linux box.
I had originally planned to put the batteries on either side of the screen and go for an original Gameboy Advance form factor, but I think it would be too long and clunky. I think the batteries are going to go below the screen, with the buttons on top of them. It will be the same layout as the original DMG Gameboy, but hopefully thinner and shorter. I know I can do better than the PiGRRL tho. My next steps will be to cut up an old SNES controller and get the buttons prepped for soldering into the GPIO. After that, I have to desolder all the extra connectors on the Pi and get the screen mounted. I can't wait!!!