Here we'll be installing a RetroPie system into an old arcade shell!
What you need:
32-GB MicroSD Card
USB to MicroUSB Cable x2
Dualshock 4 Controller
5 Amp power brick plug
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Case
I started building my RetroPie in the case of an old Pac-Man machine that had been upgraded to house the 1985 game GunSmoke. I am unsure to what extent the shell was refurbished, or what components remain of the original Pac-Man game, but what I did find inside was an old Crt television, a large controller board, battery fed power system, and RGB wiring connecting all 3.
The first challenge I encountered was that the back of the display, where all the components were housed in, was locked. I first tried a lockpicking kit, but was able to find the keys to open the case. The next step regarding the shell was wiring the devices and monitor through it.
Step 2: Screen
Once we disconnected the crt tv, replacing it with a monitor compatible with an hdmi cable became the next step. Luckily, the case already had rods capable of housing the screen which we modified with a pair of 2x4s to hold the screen against the glass.
Connecting the screen to the Retropie was simple with a single HDMI cable. Using a newer monitor allowed a higher resolution and adjustable image size that the original Crt tv would not have offered.
Step 3: Program
The RetroPie itself was programmed using the base Rasberry Pi program Rasbpian, and the RetroPie program was layered onto that. Initially I did not have a strong enough power source to properly run the Rasberry Pie. As a result, it got stuck in a cycle of rebooting and was inoperable until the issue was resolved. The device is powered using a MicroUSB Charge Cable
Step 4: Control
The RetreoPie was programmed to receive inputs from both the keyboard and a Dualshock 4 Playstation controller, both connected to the computer by USB cables. I had to map both into the RetroPie in such a way that it could receive inputs from either source without latency or unresponsiveness. While my methods worked well, for the most part, they could always be improved.