Arcade Joysticks

I have been a gamer for much of my life. Starting when I was very young playing Nintendo with a friend who had one and upgraded to the arcades as I got older, then a series of PlayStation consoles and eventually a PC. I have stuck with using a PC as my gaming because I have the most control over the performance and game play. Also, there is no replacement for a mouse for aim in a fast-paces First-Person shooter (FPS).

When I was spending countless quarters at the arcade, I mainly focused on fighting games like Mortal Kombat, Street Fighter, and Killer Instinct. I favor MK because of the over-the-top action, like fatality and friendship ending moves, and the classic “adding insult to injury” move, the babality, where you turn your fallen opponent into a crying baby. Close to the end of High School, arcades started to fade from the scene all together with the rise on consoles. They would eventually be reborn for adult entertainment as places like Dave and Buster style outfits, but by then I had officially moved to a PC and PlayStation. I did always miss the good ol’ feel of an arcade though.

Combining maker experience and a RetroPie build, getting the arcade feel back in my home was just around the corner. I wanted to build a retro gaming system with my Raspberry Pi 1B and it turned out pretty good, but there were some limits when it came time to run more graphically demanding games. Many of the MAME games worked, but the 1B really did best with the NES and Sega games.

Years past and development progresses, as it does, and the Rpi3B+ was released in 2018 and I picked one up. I installed the latest version of RetroPie and played with fantastic results, the MAME games looked and sounded accurate. I did a comparison between the 1B and 3B+, which obviously the 1B took 2nd place, but it was fun to see how far the development has come and I started to move ahead with making a more arcade accurate gaming experience. I spent hours customizing the controls and getting the list of game ROMs that I wanted. This proved to be far harder than it sounds. Finding a ROM is easy, finding a good ROM is a different story.

Time past again, and June 2019 was the release of the latest and greatest from the team at the Raspberry Pi Foundation, the Raspberry Pi 4. This one I had kept up with release date because I was excited to see how far it has come. I went with the 4GB version and was super excited about getting the RetroPie build installed. Sadly, at first there wasn’t an official version yet (early 2020). I researched and found a version that had been released by couple developers, and until I can get an official release from RetroPie, I will used that for the RetroPie build. For the most part, it works like a champ, there are some issues, like the built-in scraper doesn't work like it should, and some functions in the menus can get wonky. Even with the faults, I finally saw the arcade project I always wanted because the Rpi 4 runs all the games I had in my list.

For me, building a stand-up arcade cabinet started with confirming arcade sticks styles. I preferred the oblong grip over the ball. The cabinet, sound and screen are less about finding the “correct parts”, and more just using materials and parts I am familiar with. There are kits that you can get online that include: arcade sticks, buttons, and USB zero-delay boards (these are needed so you don’t see lag during operation). Once I found the type of joystick I wanted to use, I then had to figure out what button configuration I wanted to use. This posed a little more of a challenge for me. As I am a solid Mortal Kombat fan, I knew I wanted to play that the most but also wanted to include Street Fighter games. The two use different button configurations. MK 1 and 2 use a 5-button in almost star pattern and went to a 6-button for MK3-later versions. Street Fighter uses a basic 6-button (2 rows of 3 buttons) because of the Heavy, Mid and Light punches and kicks. I had played MK on SF buttons before and figured I would just come up with a 7-button configuration. I found a company Slag Coin and learned there are a lot more configuration options. I took one of the examples and cut it up and used a cardboard box to text various configurations to find what felt most comfortable for those two games. The other games I'm including only have 2-3 buttons needed, so that is easy to adapt. I ordered a DragonRise kit off Amazon for about $40 that supports 2 players and enough buttons for all the essential operation. Since there are plenty of options out there, I want to mention that EG Starts is painful to work with. They are absolutely no help comes to support and answering questions about their product. I wanted to get specifics about the connections they used for the 2-pin (see image below) connectors on the board, and they insisted there was only a “standard 3-button” on their board. As you can clearly see, there are 11 2-pin connections on the board and “standard 3-button” is not a part number (lol). However, I figured it out anyways without their help. USB Controller Since I was using a cardboard box to try out different configurations, I could easily test different designs and came up with one that felt good. This is the pattern that I came up with. It gives my left hand extra space to move and my fingers lay comfortably on the buttons regardless of what game I was playing. Arcade Controls Once I had a final design, I went down to the garage to make one out of wood to test like it will be in the cabinet. The overall feel and function worked great. RetroPie lets you setup a config file for each game, which makes easy work out of button setup. Even before I learned about that option, it's easy to swap between MK and SF configurations.

Instead of making a full cabinet for my arcade, I have opted to make 2 arcade sticks for player 1 and player 2 instead. They sit great on a table or even in your lap if one desired. I have limited space from all the other builds and projects, and putting a stand-up arcade isn’t in the cards yet. DragonRise is by far the most common arcade sticks that are used in these builds, and it was a surprise to learn all the issues once player 2 is in the mix. I can use each one separately perfect (which is why I didn’t find this issue when I was testing my prototype controllers), but once I have both plugged in and playing in a match, many games do not act properly. From all my tests, it’s mainly the “A” button (low kick on MK and SF) on player 2 that isn’t working, all other buttons work as intended. I have read there are a lot of people having similar issues; an article suggests using a different driver for the DragonRise Joystick and others offer suggestions on wiring. What is even more odd for my setup, is MK1 and MK2 have the issue, but MK3 runs fine. That leads me to believe it is ROM related, not hardware. Like I mentioned before, finding perfect running ROMs have been the bane to builders’ existences during these projects. I am going to try to create custom button configs for MK and SF games and use a generic config for others and see if that work. I will post the results once I can confirm they are working perfectly. I have spent months whittling down thousands of ROMs to a select set and going through them all again just to test P2 controls is not an exciting endeavor to think about. I think once I get MK and SF working just right, it should be easier to figure the rest out.

Another cool aspect to the RetroPie is players can play together across the Internet. Player 1 and play against Player 2 using NetPlay in RetroArch if they are using the same RetroPie build and ROMs. I will test this out with one of my gamer friends once I can confirm that Player 2 works.

I give this project 4 stars, not just because of level of complexity with selecting parts, finding quality ROMs, woodworking and customizing a RetroPie build, but the time and effort that is needed to make everything work just right. This project is as much about learning to adapt your vision, as it is playing games, and I have enjoyed hours building and playing it. I highly suggest this type of build for any maker, because of all the aspects that are needed from start to finish. A very special thanks to the makers over at RetroPie and the developer community that support it.

#JDIY25 #Arcade #JoySticks #RetroPie #Video #Games #MAME #SEGA #NES #Fighter