MakerBot Print is our newest print-prepration software, which supports native CAD files and STL assemblies,
allows you to interact with all your printers via the Cloud, and many other exciting new features.

Download Now


Pocket PiGRRL

by adafruit May 14, 2015
Download All Files

Thing Apps Enabled

Please Login to Comment

The instruction in the Adafruit webpage is clear enough, however there is a minor problem when configuring the GPIO/Key mapping for 4 buttons setting. In their setting, the button A is mapped to CTRL key and button y is mapped to Z key, which cause system crash when both button are pressed =P. A Ctrl-Z is sent and who knows which application was killed, anyway the Pi paused and a reboot is needed.

So simply use other key that would not cause control key, what I used is key Y for button Y.

I saw this item and I really wanted to make it. But after adding the price up ($76.30?!), I wondered, "is there any cheaper way to do this?" is there?

you could probably save around $20 to $30 by buying some parts off ebay or aliexpress like the powerboost etc, but really for me I was happy to pay the premium price to adafruit simply for the convenience of getting everything I need, and the right products in one pack.

Wait hold on, I see these fellas running SNES games but where's X Y R L on the controls?

I understand the PiGRRL 2 has XYRL on the front and R and L are on the back, but does the PiGRRL Pocket support any form of true playable SNES controls? The PiGRRL 2 is too large to print on my Monoprice Mini, and the Pocket literally JUST fits.

I think I would rather make the PiGRRL Pocket but only if it's got R and L on the back and that it comes with a front face with X Y A B buttons.

The pocket pigrrl has a 4 button STL as well as the 2 button version. The L and R buttons are mapped to the left and right side screen buttons respectively.

Ultimately the Raspberry pi model A isn't the fastest pi going around, you're better off playing 1st/2nd generation systems (Atari, NES, etc) anyway. It will play SNES games but not necessarily comfortably.

On this picture, the dpad contains round holes for the buttons: https://learn.adafruit.com/assets/24946
When printing the dpad from the provided stl (https://www.thingiverse.com/download:1329188), those holes are missing.
Anyone know the reason for that?
As far as I can see, the holes are necessary to make things fit.

I'll answer this myself.
There are two dpad files: dpad.stl and perma-dpad.stl. I was printing the dpad.stl first, and now I'm printing the perma-dpad.stl. The latter contains the holes.

Ok, Ive got the entire project built, wired, assembled powers on looks like it works great. I am completely lost now when it comes to installing or setting up whatever i need to put the emulator on now. I have tried following the tutorial but it just seems to be lacking explanation if anything goes wrong.

I guess the main issue i am fighting right now is trying to get the raspberry pi to connect to the internet. I have a wifi stick plugged in, I have a hdmi cable going to a tv. I have the raspberry booted up and Im looking at the desktop on the tv screen. I see the wifi is connected but it only shows one bar and does not give me any internet access. I have been to several different sources but cant seem to find out why i dont have internet access. Where can I go for help?

I have a 3d printer and made the case already but I dont think my printer can print in Ninja flex without buying a special feeder. Does anyone know of a source where I can buy just the buttons only printed in Ninja Flex?

never mind, I just cut the ptift buttons apart and put a rubber band backing which seams to work just fine.

Ok, but otherwise you can use 3DHubs and have someone in your area with a printer print it for you. Or you can use your local FabLab if you have one. The last and priciest (but not too pricey) option is Shapeways. You could have them print you a Gameboy in Platinum!

How long did everything take to print? In total? and did you use rafts?

now, I know that this is not the perfect system, but has anyone else had issues with the speaker constantly emitting a squeal?

new to raspberry pi etc. would I be able to make one of the five buttons under the screen into a shoulder button (like on a snes)??

Yes you can. You can modify any of the buttons to function as how you want.

Comments deleted.

new to raspberry pi etc. would I be able to make one of the five buttons under the screen into a shoulder button (like on a snes)??

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

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.


Thank you sir! you are amazing!

YOU SIR, I OWE YOU SO FREAKING MUCH. I just built my Pocket PiGrrl and everything worked.. except the buttons! The pre made image wasn't working, so I tried to do the manual install, that wasn't working either. I looked around FOREVER and I basically concluded there was some sort of software issue and I had no idea how to fix it. So I came here to post if anyone could share their working image with me, and here you are! It works! Thank you so much!!

Great. You're very welcome. I'm happy it helped you. I'm still loving my unit. I recommend to not update to RetroPie 4.1 as it has issues with the buttons for the Pigrrl project. You can still update the individual emulators though.

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.

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.

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

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?


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

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.

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

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

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?

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

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?

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