Introduction ¶
Retropie systems are one of the most popular entry level projects for people interested in the broader DIY electronics realm. That being said, many layers of complexity can be added by making the device portable. To design a portable retropie system, you need to build a battery pack, make a board(s) for buttons, add an audio output if you’re using a Raspberry Pi 0 or 0w, and connect a display and configure an SPI bus if you’re using a generic cheap OLED breakout board, and on top of that, you need to design and print a case.
If this seems like a lot of work but you want to still want build a handheld emulator console instead of buying a dubious fake gameboy off Aliexpress or eBay, there are a lot of kits available. For me, designing my own handheld seemed like a fun challenge that in the end paid off. So follow me, as I show you my journey of building a handheld retro game handheld. I’ll also be including a parts list and some references I used for some of the software configuration.
Design ¶
Also used in this build is some super glue for attaching the headphone jack, kapton tape for isolating power, wires, and a slide switch which I forgot to photograph
Spreadsheet for all the parts needed
Getting the screen and buttons working is a task that has mostly been figured out by other makers, long before I’ve even thought of starting this project. A great guide I used for setting up the display was found on https://bytesnbits.co.uk/retropie-raspberry-pi-0-spi-lcd/. To set up the buttons I used adafruits retrogame library. Setting up the display requires using the UNIX shell of the Raspberry Pi. When you’re configuring, if you notice that some of your keypresses return the incorrect letter, make sure to check that the Raspberry Pi is using the correct keyboard, since the default is the UK English keyboard. Before soldering anything in place I recommend prototyping by using a breadboard and jumper wires to test the functionality of the system.
For audio I used a USB sound card. Alternatively you could wire an amplifier to GPIO pin 13. However for me, I got better results by using a USB sound card. To open the case I popped it open with a knife. I desoldered the USB connector and wired the ground, data, and vcc pins to the Raspberry Pi. There is an audio input for the sound card however that is obviously not getting used for the gaming console. To space out the buttons properly so they fit in the case, place them from above the top part of the case and place the board against the wells for the buttons.
For the battery I then took off the plastic jacket and desoldered the wiring harness. I then wired the common vcc and gnd to the boost board and the micro USB connector. The output of the boost board is then wired with vcc connected to the switch and the output connected to the vcc on the USB sound card. The ground is wired to the ground on the USB sound card.
While doing this project I rebuilt the system with a better quality display (it’s the same display that I’ve linked in the parts list). When I did this I didn’t properly account for the wire length so fitting it all together was a bit of a struggle. I would recommend using extremely thin wires for data wires since there won’t be a large amount of current flowing through them to make it easier to fit everything together. At the bottom of the page are links to the thingiverse files for the case.