Introduction: Super GPi Cart / Pi3 A+ in a RetroFlag GPi Case
Everyone loves the RetroFlag GPi Case and for good cause, it's a well built platform with an amazing screen, great build quality, and a hell of a community behind it. But, since the GPi is based on a Pi Zero W, sometimes it can come up a bit short in the horsepower department. You could always tear it apart and hack something inside of it but what if you wanted something you could just slot in and out?
Enter the Super GPi Cart. What started as a passing thought turned quickly into an idea that may work, but the problem was I haven't done any 3D work since college and that was almost 13 years ago. I came up with a prototype cart used by a few for testing and then the idea went back on the back-burner. A few custom shoulder buttons later and one enlightening reveal on Discord and I jumped back into this project. I'm still not great at 3D design but I've got a working unit now and it's time to spread it to the masses so you guys can tweak it in ways I hadn't thought of, or just make one yourself, that works too.Along with not being a modeler, I'm also not a writer so hang in there with me and we'll make it through this.
So, without wasting more time, on to the supplies.
GPi Case. Obviously. More importantly, the PCB that's from inside the cart.If you can get your hands on a spare cart that's even better as while this won't destroy your PCB it will occupy it in a way that's not quick to get back. People say they are already selling spares in China so hopefully they will be online soon. I have 2 cases so I had another cart to use for this.
Soldering Station and supplies. There is some soldering here as well as a chunk of desoldering required for this mod. I'm not going into detail on this as it is it's own huge skill and many others already have great videos like this on YT. But you will need the tools and know how to do it.
3D Printer. If you can print reliably and accurately at at-least .15 mm layer height then you should be good. I did all my test carts you see in the pictures in Hatchbox grey PLA, I would suggest doing your cart in PETG or something else that handles heat better, this is just for testing easier and cheaper on my end. I used a Prusa i3 MK3S. If you can't get accurate prints then things won't line up and could look bad or you end up with odd layer shifts. Also no two printers are the same, so while this was designed with my use in mind if your printer is pretty sloppy some things might now fit where they should.
Pi3 A+. You'll need one of these that you will essentially be destroying for this project.
Micro SD Card. 16 GB is about the smallest you can get on Amazon these days so that or anything bigger.
Hardware and tools. I used 2x 8mm long m2 hex head machine screws, 2x 10mm long m2 hex head machine scews, and two nuts for the same size. In addition, you'll need the normal stuff for doing mods, snips, pliers, exacto knife, things like that, and a driver for the m2 hex heads.
That's the exact set I have for various projects around here and all holes and measurements were done of screws from that kit. I'm sure you can use whatever you've got on hand and probably make it work but that's the hardware that design was based on.
Small wire for the USB connection. I used an old IDE ribbon cable since its small and connected. You only need to connect two points so and it's just the data channel of the USB port so it doesn't have to be anything load rated.
Step 1: Prep Work. Strip Down the Pi. Print the Models.
Again, there are much better resources out there for each specific task here so I'm just going to lay out the basic ideas, if you need help with how to desolder/solder or how to 3D print or how to do some other task then look on YT for videos about that specific task. There's a million questions that could arise and you'll need to address them yourself as it's outside the scope of this guide. With all the ground work laid out now, you'll need to do a few things to get up to the point where this specific mod starts to take shape.
Start by getting the printed models made up, available at the link below (grab both, front and back).
I have my specific print settings up on ThingiVerse for a reference. You'll need to use the slicer of your choice and get it sliced to the parameters of your printer and plastic of choice. Again, I used PLA to do it fast and easy, but for real use PETG or better would be ideal due to it's ability to hold up to heat. This thing is going to get to at-least 60C if not higher at some points. You will also need to do whatever post print cleanup is needed including pulling away support material, ensuring holes are clear, and trimming off the feet that I've put on the cart front to make it a more stable print. See pictures for what I mean with the feet and how both pieces should look when done.
(I strongly suggest slowing down your print speed, going too fast will lead to layer shifts and maybe even peeling up the model and deforming it, I kept having issues until coming down to 80-85% speed, learn from my mistakes, nice and slow and let it run overnight.)
You also need to get the A+ stripped 100% down. Everything must go except the SD card slot. This includes the GPIO pins. These can be a bit of a pain so if you're not up on how to do this look around online. I don't have a specific picture because this step is kind of a go or no-go thing. Consult YT if you need ideas on how to strip a board down and if you can't get them all in the first try come back to it, some are quite stubborn and you don't want to risk burning out your board.
Step 2: Solder USB Leads From the PCB to the Pi
Now the project starts to take shape. The vast majority of everything the Pi does is passed through the GPIO pins to the case, with one glaring exception, the controller. The tiny ribbon cable you normally have on the PCB is what actually passes the USB connection through the cart pins and to the case on a normal installation. However, since this doesn't line up with the A+ form factor we need to make this jump ourselves. Looking right in-front of the ribbon point on the cart PCB we can see the pads we need to solder to. If you look at the pictures you can see where the USB port used to be and where we are going to attach to there. In my test cart I soldered all 4 leads but we actually only need the 2 middle ones, the data pins.
Using my pictures above, solder a connection between the PCB cart and Pi. Take note of the orientation, DO NOT get these reversed, note where the red wire is on each end of the connection to get your bearings. Again, you only need the two middle lines. I also made mine longer than normal since I was going through a lot of cart changes and doing a lot of in and out during the design phase. You don't have a lot of room to work with in the case but it needs to be long enough for the Pi to fit in it's final fit.
As for the part of the GPi PCB I cut out, you don't need to do this but I chose to so the CPU has more room to breath. The choice is up to you but make sure you don't cut far enough that you go through any leads or traces on the PCB.
Step 3: Cart Fitting and Assembly
Start off by slotting your GPi PCB into the cart back as shown. There's a slight groove in the design so, as shown in the second picture, make sure this is flush in the area it's designed to fit into. You may need to shave a tiny bit off any given dimension or give it a bit of force to wedge it in there. These PCB's are rough cut from the factory so they might be a hair off compared to this design. It's modeled after a perfect fit for me, but between my printer tolerances and my PCB's exact shape this may require 30 seconds of leg work on your side.
With the cart side in, now we can line up the Pi and gt it ready to go in. Again, double check as PCB and printer tolerances may play in here and need a slight shave with your exacto knife. Check pictures above for guidance.
I would suggest to put in the bottom (cart connector side) 2 screws and use that to help line up everything as you put the top of the cart on. Check the picture for what screws go where, I did forget to measure one screw, but its less than 10 mm and more than 8 mm. Just mark this one once the case is fully together and you can cut it down then (I used snips and a rotary tool, you can use whatever you have on hand, and I'd suggest putting a few nuts on the screw before you cut it, this will let you "re-thread" it after your cut when you take the nuts off). My suggestion is (don't tighten fully until all 4 are in) bottom left, bottom right, then top right, top left, then go back in reverse order and snug them up.
The top 2 screws thread into plastic, when they snug up STOP! If you go too far you will strip the plastic
There are holes for the nuts to slot into and sit flush
There are recessed holes that the screw heads fit into to sit flush as well
The top screws go in from the front, the bottom screws go in from the back and have nuts on the front, this doesn't work backwards
Before you snug everything up, look into the cart like the last 2 pics (hard to get a close up photo of it) to make sure that the POGO pins line up properly, you may need to wiggle it around a hair before you do the final tightening pass
Ensure that your wires aren't crimped as they go around the Pi, I left plenty of room to route the cable around that turn
Step 4: Completion, Testing, and Loading an Image on the SD Card
Once you've ensured that the cart is fully assembled it's time to go live!
You'll need to flash an image to the SD card and insert it into cart before you power up or else nothing will appear on the screen. I've uploaded my own simple base image with the needed patches and scripts installed already but for you can also make your own image relatively easy. If you are unfamiliar with flashing an image or editing a RetroPie image please do a search on YT, there are dozens of videos that explain every single step in detail. My image is at the bottom of this step, follow along to make your own from scratch.
Start out by downloading the 4.5.1 image for Pi 3 from the following website (latest version as of writing)
Start the process of flashing this image to your SD card using Etcher or your imaging program of choice
While it's writing, download the GPi Case Patch from the following link (NOT the shutdown scripts)
Once the image finishes flashing, eject the SD card and then place it back in your computer. Navigate to the root folder, place the extracted GPi Case Patch folder in there, and run the script. This will replace the needed settings to configure the Pi to work with the GPi Case.
Now you are ready to eject the card, place it into your Super GPi Cart, put the cart into the GPi, and boot it up and enjoy your super powered GPi Case!
At this point, while the cart assembly is complete and you can use it properly on the GPi Case now, you are still a ways away from having a fully functional Super GPi Cart. As with the stock unit, there are still many things you either need to install (Safe Shutdown) or should install (better themes, better emulators for some systems, etc). I strongly suggest that you run through the guides at the following link to get your system tuned up to your needs. If at any point in the flashing and patching process you got lost, there are some beginner guides at the bottom of this link as well.
Combined with various groups on Facebook (where you probably found this link) there is an almost limitless amount of help online for the GPi Case.
Link to my custom base image that will get you well along the way to creating your own custom image. Must use a card over 4 GB.
List of changes I've made in my image:
Base 4.5.1 Pi 2/3 Image From RetroPie
Added my WiFi and SSH options
GPi Case Patch
Safe Shutdown Script
Update RetroPie Setup Script (8-29-2019)
Launch Menu Art Enabled
Disabled Wait for network on boot
FSCK fake clock work around added
Reduced boot delay from 3 sec to 1 sec (config.txt)
Disabled both on-board LEDs, annoying and saves .04 amp draw (config.txt)
BASE IMAGE V01 created
Silence Boot (cmdline.txt & config.txt)
Personal WiFi info removed
BASE IMAGE V02 created (9-8-2019)
Step 5: You Did It! Congrats! What Now?
Congrats! You are now among the proud few owners of a Super GPi Cart and you can emulate to your hearts content above and beyond the average GPi Case owner. I hope you enjoyed this project, I spent dozens of hours between the initial concept, the prototype board, the final cart front and back in the modeling phase. I've got over 75 hours of print time on 23 different test prints wrapped up in this trying to get the final product as good as I can get it. I'm still not a 3D modeler, this entire project was my self taught intro to Fusion 360 and design of a multi-part functional product, so I'm sure there are better ways out there to do this and if you want to one up my design, please do so! Make sure to share your upgrades on Thingiverse and link back to mine so others can find your improvements and the entire community can benefit!
And that brings me to my closing point. Give back. Give back to me or give back to the community, I don't care, but just make sure you give back in some way to this community. I've got well over 100 hours wrapped up into this and I'm giving it out to the community for free. There is so much great content out there from dozens of talented people and groups. Pre-made images that are AMAZING, guides to show people how to make tons of tweaks and changes to get the most from your GPi Case, custom parts and upgrades, and a virtually unending amount of help if you need it (except for finding ROMs, that's between you and Google). Give back. Even if it's just helping one rando solve a simple problem, the more we give back as a whole the more we all get in the end. Get out there and help turn this niche product's community into a place you want to contribute to!
If you're curious about where I got my snazy shoulder buttons for folks with hands larger than the average 12 year old you can get those for free here too!
https://www.thingiverse.com/thing:3807938 (SNES Style)
https://www.thingiverse.com/thing:3812331 (Paddle style, the ones in my pictures)
Happy modding folks!!