PiGRRL Zero Plus

by Jpete24, published

PiGRRL Zero Plus by Jpete24 Sep 14, 2016
2 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


PiGRRL Zero Plus by Jpete24 is licensed under the Creative Commons - Attribution license.

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

16522Views 2416Downloads Found in Video Games


Update - Provided a video on how to solve issues with your PiTFT if the header comes loose from the screen - https://www.youtube.com/watch?v=H8jW9E1juGM

The PiGRRL Zero, but with a much larger screen!

This is the remix of the original PiGRRL Zero and a variation of the PiGRRL Zero that I recently designed to include an amplifier, external speaker, and standoffs to hold the case together (http://www.thingiverse.com/thing:1621907).

This remix of PiGRRL Zero modifies the case size horizontally approximately 0.5" to accommodate a much larger screen. The screen has been upgraded from 2.2" to 3.2" utilizing the 3.2" PiTFT screen from Adafruit (https://www.adafruit.com/products/2616) and wide face tactical buttons for the PiTFT (https://www.adafruit.com/products/1489)

This design still runs off the Pi Zero which is attached to the back of the PiTFT, just like the original build. You will have to do some modification to the PiTFT and the Pi Zero to make this configuration work, including directly attaching the wires from the PCB's to the Pi Zero GPIO ports. I have several tutorial YouTube videos showing how to complete this build, including some tips and suggestions, so please refer to those in the links attached below.

You'll also need to rotate the screen because it defaults differently than I have it in the case. Go ahead and use linux commands to modified /boot/config.txt and at the very end add "display_rotate=2". Here is a link to a forum article that explains how to do this. - https://www.raspberrypi.org/forums/viewtopic.php?f=78&t=110948

Tutorial Videos
Tutorial 1 - https://www.youtube.com/watch?v=WpZOr4ETPA0
Tutorial 2 - https://www.youtube.com/watch?v=SMNKW8NJVKY
Tutorial 3 - https://www.youtube.com/watch?v=XcUp0ULgva8
Final Build Video - https://www.youtube.com/watch?v=gl8SB4JwnKQ
PiTFT Update - https://www.youtube.com/watch?v=H8jW9E1juGM

Let me know if you have any modifications or thoughts on this case. I have it setup in Fusion 360, so it's a quick change and modification to the case if anyone has any suggestions.

If you want me to print you a case, go ahead and hit me up on my Etsy shop. I have this setup and tuned to print very nice versions of this case. If you have a certain color you want, just submit an order and I'll pick up some filament. If you want me to build one of these from scratch for you, hit me up on my Etsy shop. I have a listing that you can purchase one, and I'll assemble it with the color you want.


Check out my multicolor button for the PiGRRL Zero and Zero Plus if you are interested in that - https://www.thingiverse.com/thing:2368254

Print Settings


Wanhao Duplicator i3










Just rotate to make the faces on the bottom.

Parts List

1 x Raspberry Pi Zero v1.3
1 x Adafruit PiTFT Plus 320x240 3.2" TFT + Resistive Touchscreen
4 x Tactile Switches for 3.2" PiTFT (https://www.adafruit.com/product/1489)
1 x PowerBoost 1000 Charger - Rechargeable 5V Lipo USB Boost @ 1A
1 x 8GB Class 10 SD/MicroSD Memory Card - SD Adapter Included
1 x Mini USB WiFi Module - RTL8188eu - 802.11b/g/n
1 x Break-away 0.1" 2x20-pin Strip Dual Male Header
1 x Tiny OTG Adapter - USB Micro to USB
2 x PiGrrl Zero Button rev C single up PCBs
1 x Tactile Button switch (6mm) x 20 pack (I use the soft buttons, look those up on Adafruit)
2 x Shoulder Button Tactical Switches (http://www.mouser.com/ProductDetail/ALPS/SKPDAMD010/?qs=N5Jky1br14NSNdc2t0sRXg%3D%3D)
1 x 2500 mAH Lithium Ion Battery (https://www.adafruit.com/product/328)
1 x Breadboard-friendly SPDT Slide Switch
1 x Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A
1 x 10K Ohm 5-Pin Dual Linear Dial Wheel Potentiometer 16mmx3mm (https://www.amazon.com/gp/product/B013FPKCMM/ref=oh_aui_detailpage_o04_s00?ie=UTF8&psc=1)
1 x 0.5W 8 Ohm 28mm Dia Mini Metal Inside Magnet Music Player Speaker (https://www.amazon.com/gp/your-account/order-history?ie=UTF8&ref_=ya_orders_ap&)

Tutorial Videos

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

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

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

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch App

I don't know if there was a recent revision to the button PCBs but they didn't have enough clearance next to the other threading post next to it. Looks like it needed another 5mm or so on each side - I just corrected this by clipping the corners of the pcb. Other than that a this design is great and looks awesome in clear pla.

Thanks for your awesome model and detailed information! I managed to build my own and everything seems to work fine, the only issue I had is that the potentiometer for the audio only reacts in the last 10 degrees of the whole spectrum when turning it. So the first 90% I hear no audio at all and I need to turn it up all the way to hear anything and in the last 10% it starts to kick in. Which makes for a very very sensitive volume adjustment. I'm using the exact same potentiometer you linked in the description.
Got any ideas what could be causing this?

I think this has to do with wiring with the pot. I have the same issue, but I think you can change it with a resistor. I'll have to look into this a bit.

Nevermind, I see in the details you say to use the wide face tactile buttons here- https://www.adafruit.com/products/1489. You may want to add it to the parts list.

I'll throw this on the inventory! Thanks!

What switches did you use for the PiTFT buttons? It looks like the original 2.2" screen comes with buttons already soldered, but the 3.2" screen doesn't have any, and it has two terminals for each button so the ones for the d-pad and ABCD won't work. I didn't see any others in the parts list besides the shoulder buttons from Mouser.

Im trying to build a Pigrrl Zero Plus, but Im having a startup problem with it. Ive got the PiTFT hooked up to the Pizero W, and the power is connected along with some buttons on the PiTFT. It boots fine and show Emulation Station on the TFT, except for it randomly flashing a bit, which is quite annoying.

Any idea what may be causing this? I fear one/several of the connections between the PiZero and PiTFT are having a problem, but I don't know for sure. I've checked the connections using a multimeter, but half of the connections cant be measured due to being too hard to get to. Also, the power and the most upper right GPIO ports seem to be making a connection, as they show 0 on the multimeter.
Sorry for these questions, as I'm pretty new to stuff like this.

Could you post a video of what you are talking about? Not sure if I've seen this before...

Previous post contains the ondedrive link to the video, but it's flagged for moderation.

May 11, 2017 - Modified May 11, 2017

Can the low battery indicator LED on the charging board be relocated so it can be seen on the outside of the case? Can a second LED be wired in on the same contacts to mount where it can be seen outside the case?

I'll try to take a look at this on the next mod to the case.

Has anyone tried updating the build of RetroPie supplied to 4.2? Any issues if so?

May 20, 2017 - Modified May 20, 2017
bluebrews - in reply to bluebrews

I've spent the last day trying this. I tried a 'from scratch' config, no audio. I also tried updating retropie with the image provided, also no audio. I can't even get it working in the OS itself (using speaker-test).

I'm going to stick with the provided image unless someone has any hints. I'd love to get it working on the newer version since it has some features I like, but I'm about to give up.

FYI, got it working. It was a combination of a bad wire and proper installation of the packages for the amp. So, it definitely works with newer builds.

Do you have an image file for the lastest version? I could post it if it works correctly.

I do! Still tweaking a few things but I will send you a link soon.

Comments deleted.

Everyone done this with the new zero w? does the image work?

Yeah, I got it all working with a Zero W as well.

Struggling to get sound working. What are you bridging the Gain and Ground with?

What size screws are you using on the inside to hold down components, and what size did you use to close the case up with?

Here is what you want to use - 18-8 Stainless Steel Machine Screw, Plain Finish, Flat Head, Phillips Drive, Meets ASME B18.6.3, 3/8" Length, Fully Threaded, #4-40 UNC Threads


Thank you. One more question, did you tap the plastic first? Or just screw them in?

Definitely tap it first. You snap the connector off if you try without

Looking into printing this, however I have problems finding the 3.2" screen from Adafruit, is there a version of this case accomodating for the 3.5" version?


Unfortunately I haven't had any time to do modifications to this case. Changing the design for each screen size is pretty time consuming and takes a lot of work to design. You should check amazon for a 3.2" screen from Adafruit.

Mar 1, 2017 - Modified Mar 1, 2017

Hi, great build and i`m starting my project. Is there any alternative for Shoulder switch (SKPDAMD010 ALPS Tactile Switches 7.8x7.8x5.0mm 120gf) They are impossible to find in decent price to Finland. Also are the buttons same as Pi Girrl Zero? Thanks this is great desing..

The buttons are the same design as PiGRRL Zero! I think Adafruit sells them, but I got my buttons directly from the website Mouser. I'm not sure if they ship international or not. I have some extras that I could sell and ship if your interested, but not sure what shipping is from US to Finland.

Thanks for your response. I think i can make it work with normal switch. If i can`t i get back to you. The shippings are a bit steep or i would have ordered the case from you but shipping was twice the case. Thanks again.

just wondering for the sound, is it possible to use either the 3.7W class D stereo amp (MAX98306) from adafruit or the mono 2.5W amp (PAM8302A) also from adafruit in this setup too? I would like to add the Pot to be able to control volume but I'm unsure as to how.

I may look into this. Somebody posted a design that worked with a headphone jack, just not sure how reliable it will be.

Is it possible to split the front and back into two "keyed" halves for smaller printers?

I have a MP Mini Select and this is a bit wide for it. The Original PiGRRL split the front and back in half that can be adhered together after.

Also for the Audio would it be possible to do away with the speaker and solder those connections to a Female Mini jack for headphones? I assume that would work?

Loving the bigger screen design. If the files can't be split I may have to buy the case off Etsy from you. I see you show a light gray in one of the picks but it is not an option though. That said I suppose I would but smoothing epoxy on it and paint it anyways so color does not matter.

Thanks for any insight.

A month late, but I just saw your comment as I am printing the top half of this case on my MP mini right now. I agree with Jpete24, the case doesn't print well split (at least for me, I tried it with the Adafruit case, "welded" the two halves together, and lots of sanding, but still a terrible fit). What I ended up doing for the original Adafruit case, and this one is positioning it on my bed at a 45 angle with supports, and a brim (only 5 lines of brim on original case, 2 on this one). I also had to make sure that in Cura my bed was set to 123mm in the x and y to make full use of it. You end up with a fair amount of support material, but only under features of the case, so it is spread out, but I recommend situating it with the inside of the case facing the build plate, as Cura will want to make a few extra support structures for the various button and board mounting posts. As an added bonus in my case, a slightly wobbly z axis, and the choice to print it in wood filament, meant that after a light sanding, and a few coats of stain, I have what looks like actual wood grain, I couldn't be happier (hopefully my zero plus case turns out just as well)

I can try to look into splitting the case, but from I saw from Noe at Adafruit, it wasn't super easy to find a spot that keep it structurally sound.

I've been looking into a headphone jack option. I know adafruit had some solution for it, but you still had to pick between headphone jack or speaker...so far I've been unsuccessful getting both.

Light gray has been hit or miss with me. I've tried about four different filament brands, and have had some mixed results. Now I only do light gray for bigger prints like the NES console case. Request it if you want to make a purchase and I'll see what I can do, otherwise it may have to be regular gray.

Hi Jpete24,

I followed your build to add the audio to my system. I have my system up and running but I can't get any audio to output. When I try to increase the volume from Emulation Station, it always starts at 0%, and even if I change the volume to something else, it immediately changes back to 0%. I have played with the alsa settings and those settings don't save either.

Have you run into this problem in any of your builds? I used the image from the link you provided in your instructions.

Any help would be greatly appreciated!

There could be a couple things you should test:

  • Did you properly wire your i2s? That would be the first thing to double check.
  • Check if you wired up the potentiometer correctly. You will need a ground connection. Put the speaker very close to a ground on one of the PCB's as well, you may be able to get it to work that way as well.

My build doesn't require any settings on Emulation Station, it should work without any manipulation of the ALSA. Take a look at the couple things that I mentioned above, and I'm sure you'll get it working.

Question, is there a specific ground you used for the audio amp?

I double checked my connections on the amp and the potentiometer, they look good. I'm still looking over my other connections to make sure they are good. I must still have something connected wrong because there is still no audio except for static when I start up the system and occasionally when I plug a charging cable in.

Try moving the speaker close to the ground on the PCB for the gamepad. Sometimes you need that kind of ground connection between the speakers and the actual ground of the gamepad. Have you put all the components in the case and tried closing it yet?

Jan 30, 2017 - Modified Feb 1, 2017
penni104 - in reply to Jpete24

Okay, I'll give that a try. I have put all of the components together in the case and closed it. Everything seems to fit pretty good.

Update - I managed to fix the issue. While I was checking my wires with a continuity tester, I found one that had a break in it and I couldn't see it. I replaced the wire and the sound works now!

That's great! Glad you got it working!

Have you thought about incorporating the stronger lip in this remix: http://www.thingiverse.com/thing:1601992

Helped me out on the original pigrrl zero, looking to do yours next. Thanks for the design and work!

Pigrrl Zero Bottom Case Beefier Joint

I wouldn't think this is necessary. I'm currently working on this "plus" build with ABS. The snapping lips actually caused me a bit of an issue and i had to sand them away. The case bottom Jpete24 includes has 4 screw holes to keep the clam shells together.

I am planning on a derivative of this work using a Pi 3 , bigger LiPo (4400mAh) and possibly a custom PCB that will replace most of the wiring. One aspect I am looking into is if it is possible to use I2C or SPI for the buttons to allow the touchscreen to still function, but that is more of a wish then a need.

You're basically going to build a horizontal PiGRRL 2. I've looked into it, but scraped the project only because the Pi Zero uses 1/3 of the power of the Pi 3. You stick a Pi 3 in that thing, you'll need at least a 6000mAh battery to keep up with the power demands. I would look into the battery life of a PiGRRL 2 before you dive too far and regret it. I'd stick with the Pi Zero. The only thing that the Pi 3 can do better is N64 and Playstation games. Pi Zero's can handle about anything you throw at it.

Yeah, I think I am gonna build this one as a fairly normal zero, and once I am confident with that I am actually going to switch gears and make one using an ODROID C1 that I have kicking around. The upside to that is that, If I can get it working, it has 2 onboard ADC's on it's GPIO, so maybe an analog stick?

Sounds awesome! Please share it with the group when you get it completed!

Inspired by your larger screen to start my own pigrrl zero plus build! Thanks. I just started this morning and had great success with removing the female gpio connector using some anti static tweezers (the really fine point kind) and patiently working them in between the pins -=> especially between the end pins going lengthwise down the row to work them slowly up. Took some patience but really came out nice. hope this helps anyone worried about the work/time you would need to resolder a new row of pins as seen in the update. (Full disclosure I still recommend getting the spare pins just in case).

Thanks for the feedback! Always glad people have enjoyed this build! I've tried to provide enough information so everyone could tackle this project. Keep posted as I'm working on a Version 5 with stereo speakers and a headphone jack.

I noticed earlier in the Adafruit forums you mentioned/inquired about a USB to audio style setup option and I saw on the live video stream where Noe was building/prototyping he actually started to do it that way. However I do not see any of the details on the adafruit "learn" documents regarding that or audio at all. Did you ever get any reply on that specific method for audio output? I guess this might be the way you are proceeding with the Ver 5. that seems to be the way I would like to go. I usually play without sound and then if I do play with sound I always use headphones. I will keep checking this Thing for more updates - thanks again!

So if you want headphones full time (no audio), then go and print the remix version of the plus with no audio equipment and don't install any of it. Use the installation that Adafruit provides for the IMG file and go ahead and use it that way. You can buy a USB to Audio adapter that works perfectly over USB. I'm not sure where Noe finished on the dedicated headphone jack.

I'm currently working on a version that uses a JustBoom Amplifier DAC PHAT that can switch between stereo speakers and headphone jack. Once I get that working, I'll have a modified version of the case (V5) and another youtube video showing how to build it.

Does this version have a headphone jack or just a speaker in the back? I tried looking and watching the videos but I didn't catch if it did or didn't. How hard would it be to build this and modify it once you get your V5 done? Trying to decide if I should wait to build the V5 or just build this one and modify it later on. Really awesome project, I know it will bring me endless hours of fun!

Thanks for the question! V5 has stalled on the headphone jack front. I've tried a couple different options to incorporate a headphone jack, and unfortunately I can't fine a component that can be hooked up for both but also fit in the case. The problem is the Pi Zero doesn't have enough GPIO connections to make the audio work as well as the controller buttons. I would love to see Adafruit modify the I2S amplifier to incorporate a headphone jack. I wouldn't wait at this point, as V5 is most likely not going to be coming out for awhile unless I see some sort of new component that would work.

Thanks for the quick reply! I'll get right to work on V4 as soon as all the parts for my printer come in. One more question if you don't mind, how long would you say the battery lasts on this?

Probably 2-3 hours.

Quick question I was thinking of during the build: if I am using the image provided by in the Adafruit tutorial and the wiring diagrams from the same tutorial, does their image workout fine with your 3.2" screen orientation or is it flipped?

If you are skipping my audio piece, then the adafruit tutorial and software image will be fine. The screen will be flipped, you'll have to customize your /boot/config.txt with some code that says "display_rotate=2" Just take a look at my instructions above to outline how to do that.

Can you provide any files besides ,stl so that I can remix this properly to accommodate different screens? Of course all credit will still be provided to both you and adafruit respectively.

Nov 22, 2016 - Modified Nov 22, 2016
Jpete24 - in reply to joeyhudack

Yep, I'll try to get them posted here tonight. They are from Fusion 360.

EDIT - If you are a Fusion user, here is a copy of the design - http://a360.co/2fMxSjE

You should be able to upload that into Autodesk Fusion 360 pretty easy.

Thanks for sharing this design. One quick question - not sure how you're mounting the potentiometer on the case. Can you share a picture or explain how you mounted it?

Its actually mounted using hot glue. I solder the wires directly to each pin pointing down from the top so they don't interfere with the bottom, and then I mount in using the hot glue. Should work perfectly.

Thanks - it worked out great.

Hey! any way you could modify the screen so it has 3 button holes on the front instead of 4?

Thanks, this is the screen im using. I can give you dimensions if you need.


Hey, I've looked into this screen design. It's much cheaper that's for sure, but I prefer the reliable of Adafruit stuff. I can look into it though, just not a huge priority.

Would you please mind uploading one with no holes for the audio components, such as closing up the holes in the back and removing the hole for the volume nob and headphone jack? Also, a version using a 3.5inch pal/ntsc backup camera monitor would be much more plug-and-play as well as reduce the cost significantly.

I'll have to carve out some time to modify this design to accommodate that, it can be done!

I agree there are cheaper screens that could be used, but I prefer what Adafruit provides because they stand behind their products and they are really good screens. I probably won't be modifying my design to accommodate a cheaper screen anytime soon.

I understand. I've edited the STL files and I can upload them as a remix for those that would like to use your design just without the audio components. I unfortunately lack the skills or knowledge yet to be able to edit your design in order to slightly increase the height by roughly 8mm to accommodate the readily available 3.5inch backup monitor. If I provide you with dimensions do you think you can help by modifying the height of the case?

I can try to get to it. I'd prefer to standardize a screen that is cheap and available to most. There are some on Amazon, but they lack a buttons, which can be a problem when you need a start/select button. What is the screen?

Nov 15, 2016 - Modified Nov 15, 2016
joeyhudack - in reply to Jpete24

If you want to order the screen and try it yourself: https://www.amazon.com/gp/product/B0045IIZKU/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1 I ordered mine from the Ibeaoc seller. This is the same screen used in this tutorial: https://www.youtube.com/watch?v=_MtN_s4tVK0 .

However if you do not wish to obtain the screen yourself, the visible screen size is 70mm by 52.5mm. There is an 8mm bezel on the bottom and a 4mm bezel on the other 3 sides. This makes the unit 78mm by 64.5mm overall. The thickest part of it is 11mm where the capacitors are on the control board on the back of the screen.

The button problem could easily be solved using: https://www.amazon.com/gp/product/B00LVMK6UK/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1

I already have all the parts ready and eagerly await your help on adjusting the case.
Let me know if you need any other info.

You might find these easier if you are replacing the pins on the screen.


Awesome find!!! I'll update my post to include these! I wonder if a local supplier has them?

This is the only one I could find on Amazon. Gives you two purchase options at least.


Ok, so I just finished mine. The audio works, but when I shut it down, I see the following message.
"lvl0: VolumeControl::init() - Failed to find mixes elements!"

Any idea what that's about?

Hmmm. I think Thanos had a solution to that which reloaded the mixer? Check the Adafruit forum post to see what he did for this again. Does it reboot and work fine?

Comments deleted.

Hi Josh,

I haven't had the change to get back to you on your email yet.

I was thinking you could use a script to switch the settings between I2S and USB but you will need an external input pin connected to a switch. Unless you could use the latest Adafruit-Retrogame to activate it with a key combination perhaps? I'll have to see if this is possible.


I was wondering if this is something that couldn't be scripted and then placed on on or two of the PiTFT buttons?

Well, in any case the script will just do the change. To activate the change you would probably have to reboot the raspberry as its related to system.

Yeah, I imagine its not something that could just switch on the fly. Do you have any idea where to start with a script that would do this?

Perhaps we can make a script that edits the config file to use i2c when you press a button, and then another to undo these changes and add the USB sound...

I have seen scripts that edit the config.txt file like this one:

If you have any way to help me through this, you would be a life saver! It probably the only feature left on this that really is a much needed thing.

I found this:

We could use it inside the config.txt and it will select the configuration based on the state on the pin using a SPST switch to set the pin voltage to either +3.3v or GND. Or use a Pull-up and a button to enable the USB sound configurations during boot (have to hold it).
[gpio4=1] [all] All this is in theory, I haven't tested any of this yet.

Sep 30, 2016 - Modified Sep 30, 2016
Jpete24 - in reply to TronicGr

You think this is something you could rig up? I'm not super talented at the software side of things, just enough to be dangerous.

Yeah, it would neat if we could get it so all you had to do was push down and hold one of the PiTFT buttons during loading to have it load during boot up. that would be pretty slick.

What filament are you using for these?

I'm actually using Hatchbox filament from Amazon! Seems to work pretty well. Would like to branch out to some ColorFabb though.

It looks really good. Have you tried printing any of your cases with ABS?

I did. Works great. The tabs that hold the shoulder buttons can be a bit frail though.

I've seen some people design some reinforcement on those tabs. I'll see if I can't modify the design to reinforce it.

I have not. I would be interested in anyone who gave it a shot though. PLA is cheap and pretty easy to use, so that's why I use it.

Comments deleted.

Awesome work! :-D

Thanks! You guys do a great job and appreciate all the work that Adafruit does. You guys make tinkering fun again!