Pocket PiGRRL

by adafruit, published

Pocket PiGRRL by adafruit May 14, 2015

Featured Thing!

33 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


Use This Project

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

71249Views 13625Downloads Found in Video Games


UPDATE [5/18/15] - Four button version is now available!


This is PiGRRL, a DIY gameboy. Look at it next to the new Pocket Pi GRRL - It’s like half the size, but just as powerful, with all sorts of retro games.

This is a really fun project. You can learn about electronics and the raspberry pi by building one!

Full Tutorial:

We have a full tutorial on how to build this project on the adafruit learning site, it’s super fun!

The Raspberry Pi A+ is small and adorable linux computer. The adafruit PiTFT is a 320x240 2.4’ display. This pi hat makes a great circuit sandwich!

For the controls we’re using tactile switches and a Perma-Proto wired to a Pi Cable - Much better than hacking apart your Super Nintendo controller, save it for another project!

To power this project, we're using the PowerBoost 1000c. It lets you charge while you’re playing - we’re calling it smart charging. 2000mAh of lithium gives you plenty of time to save that princess.

How about that audio? 8-Bit never sounded so good with this tiny class-D amplifier and a mini metal speaker.

Speaking of small, our 3D printed enclosure is even smaller than the original pocket gameboy. How do you like that BMO?

Check out the Adafruit tutorial. You can get all the parts to build this project on the shop at adafruit dot com.


Check out the full tutorial on https://learn.adafruit.com/pocket-pigrrl/

More from Video Games

view more

All Apps

3D Print your file with 3D Hubs, the world’s largest online marketplace for 3D printing services.

App Info Launch App

This App connects Thingiverse with Makeprintable, a cloud-based mesh repair service that analyzes, validates and repairs most common mesh errors that can occur when preparing a 3D design file for p...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Little Problem here - when i push the UP Button (Wire 12) its turns the Display off.
Any Ideas?


solved... the Solderpad from GPIO #18 still had contact

Sep 8, 2016 - Modified Sep 8, 2016

I was able to update to RetroPie 4.0 for the 4 button version of the Pocket PiGrrl. For those that are interested in it, below is a link to the image of my install. The image was created with win32diskimager. It is zipped in order to reduce transfer time and will require at least an 8GB SD card.

http://www.filedropper.com/pocketpigrrlrp40 or https://mega.nz/#!HQognSoI!vt8esvyrioDXMf9BTYe5IMe6lWGVZrkuluZp37nX0cE

The button configuration is as follows for this image:

The 4 action buttons are configured similar to the SNES Controller in terms of A, B, X, Y buttons.

The 5 Screen buttons from left to right when at the EmulationStation menu are:

The 5 Screen buttons from left to right When in a RetroArch Libreto based emulator:
Select + HotKey

To adjust volume in emulators, hold Select then very left screen button for volume down or 2nd to left screen button for volume up.
Save State, hold Select then hit A Button.
Load State, hold Select then hit B Button.
Change Save State slot, hold Select then hit left or right buttons.
To access libreto quick menu, hold Select then hit X button.
To reset system, hold Select button then hit third screen button.
To exit a RetroArch libreto emulator, hold Select and Start buttons.


Is there a way to configure wifi via SD? - an USB Hub does not work with the A+ and i cant connect a keyboard and the USB Hub the same time... i would have to take it apart and use TTL to config :(

i tried to make this but when i turn it on the screen just turns grey and it makes a slight sound and nothing works, I've tested the pi alone and the emulation station works just fine but the pigrrl doesn't work when all together. I'm hoping someone can help me solve my problem.

can some one teach me how to make the pocket pigrrl because i'm only 15 and i can't afford all of those things that are needed to mkae it :/

I have another question, this one is a little out of place. I got retropie to run on my pi 2, and want to put in some additional ROM's. I have putty set up, I just need to find the ROMS. Could I please have some assistance with this? I would really love to play pokemon and mario, as I intend to set this up in my school. Thank you for your time!

Just saw the picture above with zelda. I need to find some ROM'S!

Never mind to this, I found a great place. If anyone wants, it is emuparadise.me

hope I don't get in trouble for posting this

I built one with a few changes :

I take it the electronic parts needed costs roughly 100 dollars?

I didn't like the fact that you didnt know the battery was running out so I've modded the PiGRRL so a low battery icon appears on the screen.


I think the Pocket PiGRRL is brilliant.

My only complaint is the 'hiss' you get from the speaker when there is no sound playing - so I made a mute function which puts the amp into shutdown, silencing the speaker until you unmute it.

Tutorial is here if your interested in knowing how - http://www.stuffaboutcode.com/2016/01/pocket-pigrrl-adding-mute.html

Could you make one that fits a Pi 2? Thanks. A Pi Zero one would also be neat.

If you modify this for four buttons will 'X' and 'Y' show up in the main menu input configuration?
I'm having issues with X and Y not working.

you guys gonna remix this for use with a pi zero?

id love to see this using the new pi zero

Where the heck is the pause button?

Does anyone have any recommendations to what infill I should print this at. I have tried printing it twice with a 15% and than a 20% and the walls seems to fail. Thanks!

I built the four button version. I had a bit of trouble with the HDMI connector cutting the thin GPIO cables so I ended up taking the cable connector apart and only using the wires I needed for my final build. Now that it is together and working I don't plan on ever taking it apart!

Very good design and with good tolerances.

Where the hell do I get those screws from? My country is Metric, and the equivalent (10mm M3 .05) is really hard to find here. I can't get them on Amazon either. Also Where do I get the magnets from?

anyone have a recomendation for layer height?

Anyone else having an issue or know how to fix the issue where if I click the up button the screen goes black? any help would be great. Also verified that the switch is not shorting to ground. it is wired just like the other 3 directional buttons.

Oct 19, 2015 - Modified Oct 19, 2015
pinkpanda100 - in reply to molds98

The GPIO pin used for the up button is also used to control the backlight on the screen. If you open up the case, on the back of the screen PCB, there's a trace labeled #18 Lite. Cutting the trace should fix your problem. (There's pictures in the official instructions, under Wiring/2.4 PiTFT.)

I just had my Pocket PiGrrl shut down last night and a bad smell coming from inside. The tiny circuit board on the edge of the Adafruit LIPO battery was smoking. Upon inspection the black wire was not attached correctly and a strand touched the red wire. Re-soldered both wires properly and all is good again. Keep an eye out on the battery wires because mine were not soldered correctly.

Hi Adafruit,

My Pigrrl has been great for 2 weeks, but now I'm getting the 4 coloured squares in the top right corner and no red led on the side meaning low voltage. Sometimes it's ok but mostly it's there now. Is there a way to increase the voltage from the power boost 1000c?

could i split the wires coming out of the class d amp so it has a audio jack and a power on/off for the speakers? so that way i can still sit in the living room without being told to turn it off and not annoy anyone?

Not really. I tried this with a stereo audio jack. When you plug in the head phones the jack cuts the circuit to the speaker and usually works. But the raspberry pi, adafruit's powerboost 1000c and the adafruit audio class d amp all have terrible floating ground issues, so bad that in fact that the speaker will still work with on 1 wire coming from the raspberry pie. I think most of it is from the poor switching in the powerboost 1000c

To get it working properly you would need a dedicated switch to switch one of the speaker wires going to the audio amp.

Oct 9, 2015 - Modified Oct 9, 2015
sigilvii - in reply to pcarlson

Hi pcarlson, are you saying that you've successfully added a stereo headphones jack?

I would like to build a Pocket PiGRRL but I feel that not having a headphones jack is a major oversight. I found a remix of the model that adds a potentiometer and a dial for volume control, and I think I'd like to add that in to my build. But I'd like to know if I can add (or desolder and move) a headphone jack into the side.

EDIT: Derp. YOU are the one who made the volume control knob. It looks great by the way! And I like your multicolored buttons.

wait, can i do it, just w/ out the switch does that mean?

Yes, use a switch to "cut" one of the speaker wires will be fine

so i can (wait is one switch needed for each?)?

also can i put the roms on the sd before puting the sd in? so i dont need to deal with the wifi dongle junk?

Nope, afraid not. You'll have to use either wifi to SSH into it or usb a USB stick to copy the roms over

thanks man! i would have been stupid and done both of those if you didnt say!

You're welcome. If you have a mac and put in a wifi stick into the pigrrl, the pigrrl just shows up as a drive on the mac and you just drag and drop your roms!

then you will end up seeing me at a library that has macs, lol! i have a asus laptop (to small memory for doing pigrrl in my opinion cuz its got only like 12.5GB) and a windows PC......

Aug 11, 2015 - Modified Aug 11, 2015

Hi Adafruit!

I built your kit and added a volume knob! I've made a short 3 minute video of the build. Let me know what you think!! Thanks for such an awesome design! Woohoo!
I printed absolutely everything at 100 micron layer height for precision and butter smooth finishes. 14 hours for the front case alone! Well worth it though :)

As my lulzbot mini won't print ninjaflex, I'm just wondering if anybody has any feedback/advice for using pla or abs instead?

I printed my buttons using TPU on my Lulzbot Mini. You have to do it really slow and monitor it the whole time but it works.

I can give you feedback, I printed the menu button strip in play and pushing 1 button pushed 2 or 3 so I cut the plastic between all the buttons. But I ended up just printing new drive block for my flash forge dreamer and now I can print ninja flex!! So I bought a 20m sample and it worked perfect first time, ninjaflex for the menu buttons is great, only 1 button gets pushed, not several

i need that answer too.


Thanks! I've ordered your kit and keen to try printing this at 80 micron layer height!!! I don't care how long it takes to print, Just after insane quality print!!

I would like to use a B+ for this priject instead of the A+ for the extra power. Will this cause any changes (besides case size) to be made? Also, I have a 500 power boost, whats the difference between that and the 1000?


Pch154 - in reply to fzero

Does anybody know if there would be any differences? I have a B+, and I don't have enough money to get a RPi A.

guys i need help if you can, whenever i flash the pigrrl image to my sd card and place it into my pi i will boot it up and it will go to the retropie splash screen, show some text, and then get stuck on the screen with the mushroom on the left side and will not boot into emulation station, please help!!!!!!!

Jul 20, 2015 - Modified Jul 20, 2015
pinkpanda100 - in reply to 0204logan

You probably need to do sudo raspi-config.

If you follow the directions here, you should have no problem:

-EDIT: Forgot to mention: only the instructions under RetroPie Setup are relevant. Most of the programs that this tutorial tells you to install come with the default PiGRRL image.

I appreciate the help, and thank you for responding so swiftly but another problem I have is it will not detect my keystrokes, try as I might I haven't found a way to get it to work

You might need to SSH into your Pi. I used a USB Wifi dongle along with the program PuTTY in order to do that. You might also need to edit the occidentalis.txt on the SD card in order to add your Wifi credentials, which would require either a USB micro SD card reader or a computer with an SD card slot and an micro SD card adapter thing (one usually comes with a micro SD card.) Sorry if that was a lot to read through, I'm not that great at explaining things (LOL)

I will try this but trying to ssh into the pi before hasn't worked all too well but another issue is that, when it boots and gets stuck on the screen before it should boot to Emulation Station, the text that should contain the IP address is empty it says "IP address:" and nothing after that, could it be that I need to connect the pitft to it for it to boot properly? I also get some errors on the first list of text that say "1v10: error creating SDL window!
Could not create GLES window surface"

You shouldn't have to connect the PiTFT in order for it to work. If you have an ethernet cable plugged into the Pi, you might want to disconnect it. Another tip that might help is to plug everything you want to use in before powering on the Pi.

Well I have a WiFi dongle, USB mouse and keyboard, all hooked up to a USB hub that I plug into my pi, I just have no idea what else to do, I am away from home right now but when I return I will try to follow any instructions you have/ will give me :) thank you for your help, any more advice would be greatly appreciated

I would try just plugging the dongle directly into the Pi and then trying to SSH...I don't personally have any experience with USB hubs, but I have a feeling that it might be interfering with the Wifi dongle working. Don't quote me on this though, I'm not really a computer expert. :P

I will attempt this sir or madam, thank you :)

adafruit, all your designs are epic..... but dont fit on my print bed. i got 100mmx100mm

Really very good!

how big of a print bed is needed?

The video @1:24 shows 118x96mm so add a little bit extra for room around. Most printers should be able to handle its size.

Sadly, not mine. Mine is 100 x 100mm so....... I gonna end up making a NANO PI boy! I plan to scale it @ 80x70 mm. But that may be a while 'cuse I'm building a small robot right now. And For that I still need some funding. :-(

You can just cut the case in 2 parts and glue together later

yhea, but then it would look bad, so im going to my local library to print it.

Does anybody know how i can add volume control, and maybe a headphone jack? Also, where are the Start/Select Buttons, is it in the PiTFT buttons? And what are all those buttons for? I'm asking all these questions because im right about to build it and i need to know the details.

Pocket Pigrrl - Volume Knob

this may help withe the volume and headphone connections. the amplifier i used was different but itl show where the volume goes https://www.dropbox.com/s/xmqbl2rxyi9abzx/headphone.bmp?dl=0

Jun 3, 2015 - Modified Jun 3, 2015
Nuk3d - in reply to Honchkrow

I was hoping for a volume control too.
I found this: https://forums.adafruit.com/viewtopic.php?f=8&t=73630&p=373533&hilit=PAM8302#p373533
Oh, the tutorial says it:
GPIO 5 - Key Z
GPIO 16 - Key X
z and x are the shoulder triggers, enter and space can be set to start and select in the emulator program

Pocket Pigrrl - Volume Knob

I might move the PiTFT Start/Select buttons down to where the speaker is, and the L/R buttons to the sides for more game compatibility (As in accessibility) because some games require you use allfingers on all buttons, especially L/R (ie, racing games for drifting, starfox for barrel roles, etc) What do you think?

This comment has been deleted.

I wonder if I can find a way to shrink a b+ to fit in here. Would be better for more game compatibility.

I'd love to get a pi2 in there!

Very nice update to the PiGRRL! I'm loving the now even smaller design. Very convenient to have a portable emulator that'll actually fit in a pocket. When I make it, I'll probably take out the speaker and amp (I prefer headphones) and try to squeeze in an X and Y button. And if possible, add L and R buttons to the sides.

Let's hope the next form factor is the game boy advance but with 4 buttons on the face.

May 29, 2015 - Modified Jun 4, 2015
Honchkrow - in reply to Iamchip

Well you can print this with 4 buttons (and wire it with 4) on the site, it has a 3D model of it on the site for the 4 button face, but they cant add L and R buttons because the GPIO Cable doesnt have enough wires for that, so next time they have to change from something else beside a GPIO Cable.

they actually said they put L and R on the PiTFT buttons. so if you want to have them on the sides, you would have to solder wires from those pins.

I was looking at an outdated tutorial where it explained like nothing on PiTFT but i figured it out yesterday, but i was thinking about modding it into a more comfortable handheld, with better place L and R's (where you fingers go) and a design similar to the Super Game PiSp but smaller, wouldnt be too hard would it?

Jul 1, 2015 - Modified Jul 1, 2015
JackJ106 - in reply to Honchkrow

using 123d design it would be easy , but with adafruit changing over to fusion 360, it could prove the downfall of adafruits easy editing.