Joe Longstreet

An inventor / maker living in Kansas City, Missouri


a raspberry pi powered arcade emulator

My wife's family does a "pinterest Christmas" each year around the holidays. Instead of buying gifts, we'll all make a few things - photo coasters, soap, shaving cream, picture frames, and other hand made goods.

I remembered seeing a few projects which were turning Raspberry Pis into retro arcade emulators. Most of the family had grown up playing classic NES games and besides, I definitely wanted one of these for myself.

Downloading and installing the RetroPie image was straight forward. The directions are clear and it's realtively quick to get everything set up. It's an excellent project and makes retro gaming available at a minimal investment. Adding games could be challenging for the novice hobbyist, but it's not super difficult.

The people who would be receiving this console as a gift weren't used to playing complex video games. They love and remember the classic style two button controllers. This poses a few problems when creating an emulation station:

  • After playing a game, how can they return to the menu to select a new game?
  • If it's off, how do they turn it back on?
  • The pi doesn't take kindly to repetitive plugging and unplugging from a wall receptacle. How can they safely turn off the console?

Taking advantage of the pi's GPIO pins and using physical independent button input seemed to be the best way. I found a case that was a close fit for my project and only required a few minor modifications. Only thing I had to do was add some slits for three standard mini push buttons and a touch of personalization. You can download the .eps file for laser cutting if you like.

The next step was to add a start script to the pi which can detect button input. Found something pretty close and tweaked it, you can grab the code as a gist. There's a nice instructable on launching a python script on startup.

The on button is wired slightly differently since the OS can't detect input if it's off. You can use the P6 header.

That's it! I wrapped them up in little boxes with preloaded SD Cards, a power supply, some retro usb nes controllers, and a fully assembeled case.