GameGirl: A Better Portable Raspberry Pi

For better or worse, the most popular use for the Raspberry Pi – by far – is media centers and retro game consoles. No, the great unwashed masses aren’t developing Linux drivers for their Pi peripherals, and very few people are tackling bare metal ARM programming. That doesn’t mean creating a handheld console based on the Pi isn’t a worthy pursuit.

For their entry for the 2016 Hackaday Prize, [David] and [Jean-André] are building a portable Pi console that’s much better than an old Bondo-encrusted Game Boy enclosure stuffed with hot glue and wires. They’re doing this project the right way with a hardware accelerated display, custom software, and a high quality case.

[David] is in charge of the hardware, and that means making a very, very small handheld console. The design of this GameGirl is extremely similar to the old-school Game Boy Pocket (or Game Boy Light). There’s a D-pad, four buttons, select, start, and two ‘shoulder’ buttons on the back. The build is based on the Raspberry Pi Zero, and thanks to the Pi’s standard 40-pin header, [David] is able to configure the display to use an RGB565 DPI interface. This means the display is stupidly cheap while still leaving a few GPIO pins left over for the SPI, buttons, backlight, and PWM audio.

[Jean-André] is the other half of the team, and his contributions to open source software make him exceptionally qualified for this project. He’s the main developer for Lakka, a DIY retro emulation console, and the #5 RetroArch contributor. No, this project isn’t using RetroPie – and there’s a reason for that. Emulator hackers are spending a lot of time optimizing emulators for the Raspberry Pi, only because of RetroPi. If these emulator hackers spent their time optimizing for an API like LibRetro, you could eventually play a working version of Pilotwings 64 on the Raspberry Pi and every other platform LibRetro is available for. All the effort that goes into making a game work with a Raspberry Pi is effort that goes into making that game work for the PSP, Wii, iOS, and a PC. Yes, its philosophical pissing in the wind while saying, ‘this is what the community should do’; this is open source software, after all.

With the right ideas going into the hardware and software, [David] and [Jean-André] have an amazing project on their hands. It’s one of the most popular entries and are near the top of the charts in the community voting bootstrap effort where every like on a project gets the team a dollar for their project. GameGirl is shaping up to be a great project, and we can’t wait to see the it in action.

The HackadayPrize2016 is Sponsored by:

8 thoughts on “GameGirl: A Better Portable Raspberry Pi

    1. I ate “bit” from my comment
      libretro bit is pure nonsense, specifically:
      “Emulator hackers are spending a lot of time optimizing emulators for the Raspberry Pi, only because of RetroPi. If these emulator hackers spent their time optimizing for an API like LibRetro, you could eventually play a working version of Pilotwings 64 on the Raspberry Pi “

  1. Hello, [David] from Gamegirl here. Nice writeup!

    We are indeed trying to do more than just bodge a couple of breakout boards together with a mess of wire. Why is it a hack then? We’re trying to hack the education system with quality hardware and well engineered software (RetroArch). If you can help with the LÖVE port or something else, don’t hesitate to come on #lakkatv@irc.freenode.net .

    I can also make an official announcement: 8Bitdo will provide us with the D-pad, buttons and maybe a case! They already work with some people from RetroArch (not sure if this is official) and make quality controllers like the 8Bitdo ZERO.

  2. “Yes, its philosophical pissing in the wind while saying, ‘this is what the community should do’; …”

    I think this accurately sums up a lot of the behaviors of most technically-oriented communities, not just open-source. I’ve seen it in ham radio (especially ham radio!), PC gaming, RC flying, and of course all the other IT-related fields beyond FOSS… you name it.

    1. It does make sense to me that someone might balk at the idea of having a particular priority when they see their build process as being essentially a form of unstuctured play. Outside of technical communities, people are the same way, there’s just fewer or different compatibility issues resulting from it.

      Personally I was almost a bit put off by this description focusing on the devs not using Libretro as unproductive, as if they were working for us an imaginary payroll and thus subject to constant scrutiny for their hobby. Here’s how I would reword the article’s call for the use of LibRetro:

      “Unlike many emulation projects, this one isn’t using RetroPie, but LibRetro. With a focus on providing consistant virtual machines across different platforms, LibRetro allows them to easily run the software they develop with it on every platform it is available. All the effort they put into making a game work with a Raspberry Pi is effort that goes into making that game work for the PSP, Wii, iOS, and PCs. Not only does this let their work spread widely, but also into the future as long as Libretro is supported. This benefits both emulation of past titles and new games whose developers want their creations to be easily preserved in the future.”

      This way it sounds more like a celebration of a useful thing and less like a performance reveiw.

      1. Oh, I forgot to note that despite my stance on software communities of thinking that people using similar tools don’t in fact need to share similar priorities or goals whatsoever, I did look up this article specifically because LibRetro does in fact seem like exactly what I want from an amateur game development perspective. If it weren’t past midnight, I’d already be trying to see what I can do with it. As it is, I’ll try to set aside time later to see wether or not this API actually lives up tot he expectations it sets for me. If it does, then I’ll probably misuse it for all kinds of silly things.

Leave a Reply to MDudeCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.