Initial Plans

I don’t remember exactly when or why I decided to build an arcade cabinet for my Raspberry. In fact, there was a time when a friend suggested doing that, and I blew the idea off. But one day, I decided that it would be really cool to have an arcade cabinet.

In the meantime, I had purchased a different set of controllers, which were based on the PS2:

undefined

One of the things that annoyed me about this controller is that the buttons are labeled 1, 2, 3, and 4, which is not useful when playing a SNES game, for which the labels should be A, B, X, and Y, and it’s not useful when playing a PS1 game (The Raspberry isn’t powerful enough to emulate a PS2), for which the labels should be X, square, triangle, and circle.

My arcade machine would have the same problem; the buttons have different purposes based on which console or arcade game was loaded. Some buttons wouldn’t even be used for some games. For example, Street Fighter II uses six buttons, Altered Beast uses 3, Space Invaders uses 1, and Pac-Man uses none.

I eventually decided to get buttons with LEDs in them, because lighted buttons are cool, and if I was smart about it, I could only light the buttons being used.

There is a commercial software product called LEDBlinky which is designed for this exact purpose. It is designed to work with the PACDrive devices made by Ultimarc. LEDBlinky even addresses the problem of knowing what the buttons do by flashing them one at a time when the game loads and having a voice tell you what the currently flashing button is for. You can even get RGB LED buttons, so you can change the color of the buttons! It’s very cool!

I wasn’t sure I wanted to spend the money on LEDBlinky, so I kept searching for alternatives, and found this: https://gist.github.com/savetheclocktower/c7644597c9c4c3990b7fee363d5f03c1

This seemed like a good solution if all I want to do is light the in-use buttons and not have all the other flashiness. This is the solution I decided I would go with.

Another small detail I wanted was a button that would initiate the Linux shutdown on the Raspberry, so I could easily have a clean shutdown when I powered it off. That problem had already been solved here: https://pie.8bitjunkie.net/retropie-shutdown-and-startup-switch-the-easy-way

I followed the directions on that site and it worked like a charm the first time.

Leave a comment