Description:
This is my 3rd attempt at a handheld Retropie console and I wanted to include a few extra features not present in my last 2, as well as upgrade back to a raspberry pi 3 for the added performance and greater choice of emulators. This particular iteration fits into a 3D printed case designed by Rasmushauschild. It’s a nice sized case with a much nicer button layout compared to Adafruit’s pi grrl 2. However, I did need to customize the case a bit to accommodate different internals.
Improvements:
Upgrading to a RPi 3 was the main objective of this project since it boasts quite a bit more power over the RPi A+ used in the Pocket Pi Grrl. This allows me to run games which are far more resource intensive including 5th generation consoles like N64, PS1, and Dreamcast. The Pi3 also has the benefit of onboard wifi/Bluetooth and more ports. This model retains access to all the ports including the HDMI, 3.5mm and ethernet jacks. This allows me to connect external devices like a monitor and speaker. It also has a hardware implementation for turning the audio on and off which saves you from needing to go through the audio menus whenever you want to mute the sound. I also used some higher quality, metal buttons in this build which have a nicer feel to them and it incorporates a much larger 3.5″ display which makes small text more readable without getting into font size mods.
Tradeoffs:
The biggest let down of this build is the LCD display. It’s larger than the one used by the Pocket Pi Grrl but it runs at a much slower speed which makes for a choppy refresh rate that makes games that require fast reaction times basically unplayable. I was able to give it a stable overclock but even with that, it’s about 25% slower than the Pocket. Connecting an external display through the HDMI port helps ignore the issue but relying on one is detrimental to the portability aspect of the design. Apart from that, the battery is uncomfortably small given how much higher the power consumption is. I was really hoping I’d be able to fit a 6600mah battery but given how cramped the internals are I was forced to use a 2500mah one instead which I estimate can only power the system for about 3 hours tops. The case also features 4 buttons located on the rear of the case, which I originally thought was a pretty good idea, but then found out that they were too small, spaced too close together and would trigger when the case was laid down on its back, which is the most natural way to put it down when I plug it into a monitor. The absence of an analog stick means you won’t be able to play N64 or Dreamcast games without using an external controller but I don’t really mind since they play better that way anyways. The speaker is facing the rear of the case and is located in a place that will most likely get covered up by your hand while holding it.
Parts:
Raspberry Pi 3 Model B Board With HeatSink Kit
CDN$ 65.99
USD$ 44.95
USD$ 19.95
Adafruit Mono 2.5W Class D Audio Amplifier
USD$ 3.95
Tactile Switch Buttons (6mm slim) x 20 pack
USD$ 4.95
USD$ 1.50
Breadboard-friendly SPDT Slide Switch
USD$ 0.95
SODIAL(R) Classical 10pcs Solder Finished Prototype PCB
CDN$ 3.36
Lithium Ion Polymer Battery – 3.7v 2500mAh
USD$ 14.95
40pcs 20cm Female to Female Jumper
CDN$ 2.51
Metal Action Buttons For PS4 Dualshock Controller
USD$ 1.35/set
Metal Dpad Button For PS4 Dualshock Controller
USD$ 1.79
White LED Light Momentary Tactile Push Button
CDN$ 2.70
Comments: This is the design for Rasmushauschild’s Super Pi Boy. There’s a lot of different designs for Retropie handhelds but I decided this was the most appealing option because it fits a 3.5″ screen, uses an RPi 3 and it has a nice button layout. It also has that nice classic Gameboy look to it which appeals to my nostalgia more so than a Gameboy Advance/PSP layout. The case design does have a few flaws in my opinion though. For starters, I didn’t like how small the 3D printed Dpad was compared to the 9mm buttons, this lead me to purchase a metal Dpad which feels much nicer to me and I modified the design in order to fit it. The button layout also includes a central 6mm button which I didn’t really know what to do with. I ended up mapping it to GPIO 25 which cuts the video connection to the screen when held down for 3 seconds but this is honestly a useless feature especially on such a prominently located button and I’m considering mapping it to a shutdown script instead. The rear L and R buttons are also much too small for my taste and there’s very little space between them which causes the lips on the button caps to overlap and trigger the adjacent button when pressed. The speaker also faces the rear of the case which isn’t great, but given how tightly spaced the front of the case is it’s probably for the best. The case is designed to use a NTSC-PAL display which uses a composite signal and runs off 6-12V. I originally planned on using that type of display but I wound up breaking 2 of them while modifying their control boards and decided to switch over to a more standard display that just plugs into the GPIO header. This required some slight modifications to the case since the aspect ratio is different and the standoffs were in the way but it fits pretty well.