tinkernaut
Posts: 74
Joined: Fri May 10, 2013 5:58 pm

I made a Pi-powered arcade cabinet

Wed Jul 17, 2013 10:57 pm

Heya, my fellow gaming enthusiasts! I just wanted to share my project that I've spent the last few months of weekends working on. It's a full-size raspberry pi powered arcade cabinet. It's set up to run atari 2600, nes, snes, mame, neo-geo, sega genesis, sega master system, sega game gear, gameboy/color, and gameboy advance. With the exception of later mame titles, everything runs full-speed or very close.

I'd like to give my thanks to Aloshi and Petrockblog for the wonderful pieces of software that they have built. You guys have really built some quality tools, and without them I would not have been inspired to take on this project.

Here are a few quick pictures that I snapped of the finished product. I can take some more too if anybody is interested in seeing them: http://imgur.com/a/Y7MoG#1

The entire cabinet body is hand built and painted MDF.

Components:
24 inch 1080p monitor w/ speakers
2x Sanwa JLF joysticks
16x transparent arcade buttons from adafruit
500gb external hard drive
powered usb hub
1 ipac2 keyboard encoder

That's really it for all the important pieces that I can think of. Both sets of the controls hook up to the raspberry pi via the ipac2 (which only uses up one USB port), and the only other things connected to the pi are power and HDMI. It boots right into Emulation Station, is completely operable from the joysticks alone (though there is a keyboard on a slide-out drawer that I can pull out for configuration), and can be completely turned on/off with just one switch on a power strip in the back.

This thing is a blast to play. I still have some tweaks that I would like to make (trying to add game descriptions & cover art, but EmulationStation is displaying only a white screen when I add a gamelist.xml), but currently all the above emulators work and are fully configured for both players.

If you guys have any questions about my setup, feel free to ask. I'd also like to extend my thanks to the whole community here. I've had countless configuration issues with setting this thing up, but I was always able to find answers to my problems.

Katamari
Posts: 34
Joined: Fri Jun 28, 2013 1:26 pm

Re: I made a Pi-powered arcade cabinet

Wed Jul 17, 2013 11:53 pm

I just want to say that that is a pretty awesome setup. I have been content using an SNES/PSX controller, but the buttons look great. The full cabinet really looks amazing.
I do have to laugh at modern technology though. 1080p screen for games that never even imagined the idea of resolutions beyond 800 x 600. And a 500 GB harddrive? Obviously you don't fill it all, but that could probably hold every game made up through at least 1995 or later. Technology is amazing.

tinkernaut
Posts: 74
Joined: Fri May 10, 2013 5:58 pm

Re: I made a Pi-powered arcade cabinet

Thu Jul 18, 2013 12:17 am

Katamari wrote:I just want to say that that is a pretty awesome setup. I have been content using an SNES/PSX controller, but the buttons look great. The full cabinet really looks amazing.
I do have to laugh at modern technology though. 1080p screen for games that never even imagined the idea of resolutions beyond 800 x 600. And a 500 GB harddrive? Obviously you don't fill it all, but that could probably hold every game made up through at least 1995 or later. Technology is amazing.
Hahaha yeah, I think I started taking the monitor for granted once I found one I liked. It may seem a waste, but it was actually an amazing deal. I got it non-functional on ebay for $35, and managed to repair it myself. And the HDD was a pretty sweet deal from a black friday sale and was collecting dust in the closet. I'm actually using 100GB of the thing already, if you can believe it. I forgot to mention that this thing can actually run 2d playstation 1 games pretty well, and those are quite large. The other reason for the HDD, though, is to have all the roms on a separate device if the SD card happens to corrupt. That's happened to me probably 4 times during the development of this thing.

nexusrex
Posts: 234
Joined: Thu Jul 04, 2013 2:25 pm

Re: I made a Pi-powered arcade cabinet

Thu Jul 18, 2013 1:06 pm

how do you config the buttons
and if you can give me a tutroial
i will made a one but i it's for one player
it's a mini arcade
with 10 inch screen

tinkernaut
Posts: 74
Joined: Fri May 10, 2013 5:58 pm

Re: I made a Pi-powered arcade cabinet

Thu Jul 18, 2013 1:31 pm

nexusrex wrote:how do you config the buttons
and if you can give me a tutroial
i will made a one but i it's for one player
it's a mini arcade
with 10 inch screen
http://www.koenigs.dk/mame/eng/basicwiringguide.htm

I would recommend this as a starting point for how to wire up your controls. I also recommend going with the keyboard encoder option, since a lot of people working with retropie seem to have issues with mapping certain functions to joysticks. This way, your buttons/joysticks just emit keyboard key presses when used, and you can map them however you want to your various systems in your project.

For setting up the config files, start with retroarch.cfg in the retropie/emulators/configs/all directory (i think that's the proper place). Any controls you set in there will apply to all the retroarch systems so, though you will want to set more specific ones for each system individually, you will be able to see your controls working among the widest range of programs. My retroarch.cfg was completely blank when I looked at it, and had no instructions on the syntax for mapping keys properly. See this file for guidance on how to map your keys: https://github.com/ToadKing/RetroArch-R ... roarch.cfg

nexusrex
Posts: 234
Joined: Thu Jul 04, 2013 2:25 pm

Re: I made a Pi-powered arcade cabinet

Thu Jul 18, 2013 1:37 pm

tinkernaut wrote:
nexusrex wrote:how do you config the buttons
and if you can give me a tutroial
i will made a one but i it's for one player
it's a mini arcade
with 10 inch screen
http://www.koenigs.dk/mame/eng/basicwiringguide.htm

I would recommend this as a starting point for how to wire up your controls. I also recommend going with the keyboard encoder option, since a lot of people working with retropie seem to have issues with mapping certain functions to joysticks. This way, your buttons/joysticks just emit keyboard key presses when used, and you can map them however you want to your various systems in your project.

For setting up the config files, start with retroarch.cfg in the retropie/emulators/configs/all directory (i think that's the proper place). Any controls you set in there will apply to all the retroarch systems so, though you will want to set more specific ones for each system individually, you will be able to see your controls working among the widest range of programs. My retroarch.cfg was completely blank when I looked at it, and had no instructions on the syntax for mapping keys properly. See this file for guidance on how to map your keys: https://github.com/ToadKing/RetroArch-R ... roarch.cfg
thanks
but how do you exit from the game
sorry i'm a beginner on the retropie
if you can pm me with a tutroial of how to use retroarch.cfg

tinkernaut
Posts: 74
Joined: Fri May 10, 2013 5:58 pm

Re: I made a Pi-powered arcade cabinet

Thu Jul 18, 2013 2:20 pm

Code: Select all

# Key to exit emulator cleanly. 
# Killing it in any hard way (SIGTERM, SIGKILL, etc, will terminate emulator without saving RAM, etc.)
# input_exit_emulator = escape
You just want to uncomment the input_exit_emulator line (by removing the # from the line. lines starting with # are ignored by retroarch). Then escape will be your key to exit the game, but you can change it to whatever you want.

nexusrex
Posts: 234
Joined: Thu Jul 04, 2013 2:25 pm

Re: I made a Pi-powered arcade cabinet

Thu Jul 18, 2013 2:30 pm

tinkernaut wrote:

Code: Select all

# Key to exit emulator cleanly. 
# Killing it in any hard way (SIGTERM, SIGKILL, etc, will terminate emulator without saving RAM, etc.)
# input_exit_emulator = escape
You just want to uncomment the input_exit_emulator line (by removing the # from the line. lines starting with # are ignored by retroarch). Then escape will be your key to exit the game, but you can change it to whatever you want.
now i want to change esc to a button from the buttons

tinkernaut
Posts: 74
Joined: Fri May 10, 2013 5:58 pm

Re: I made a Pi-powered arcade cabinet

Thu Jul 18, 2013 2:35 pm

Just change the word "escape" above to whatever key you want it to be. Any keyboard letter, ctrl, shift, rshift, ralt, any number (but I think you have to specify numbers like num1, num2, etc rather than just the digit alone)

nexusrex
Posts: 234
Joined: Thu Jul 04, 2013 2:25 pm

Re: I made a Pi-powered arcade cabinet

Thu Jul 18, 2013 2:38 pm

thanks
and i like you project
now i can make my
Retro Punch
this is the name of the cabinet
i use the nanocade style
and retropie image

tinkernaut
Posts: 74
Joined: Fri May 10, 2013 5:58 pm

Re: I made a Pi-powered arcade cabinet

Thu Jul 18, 2013 2:51 pm

nexusrex wrote:thanks
and i like you project
now i can make my
Retro Punch
this is the name of the cabinet
i use the nanocade style
and retropie image
Haha well thank you. Good luck on your project! It has been a lot of fun to work on, and I'm sure that you will really enjoy yours once it is together too.

Raspberry Paul
Posts: 84
Joined: Mon Jun 10, 2013 3:40 pm
Contact: Website

Re: I made a Pi-powered arcade cabinet

Thu Jul 18, 2013 5:55 pm

This looks amazing.

Never seen the IPAC2 things before but they seem an excellent way of interfacing normal switches to the Pi. I'm off to find if I can buy them in the UK (on their own)
http://www.raspberrypaul.co.uk

tinkernaut
Posts: 74
Joined: Fri May 10, 2013 5:58 pm

Re: I made a Pi-powered arcade cabinet

Thu Jul 18, 2013 6:04 pm

Raspberry Paul wrote:This looks amazing.

Never seen the IPAC2 things before but they seem an excellent way of interfacing normal switches to the Pi. I'm off to find if I can buy them in the UK (on their own)
http://www.ultimarc.com/ipac2.html

They seem like a very niche item that (I think?) are only sold through this one site. But yeah, they're very easy to wire to. I know the picture of my wiring looks very complicated, but actually it's pretty simple. The arcade buttons have 2 connectors on them, and you only need to wire one to ground and the other to whatever post you want on the ipac. Then whenever the button is pressed, the ipac will emit whatever key that post is assigned. The joysticks are simple too, but they take 4 posts on the ipac (1 for each direction, diagonals just hit two of the four switches), and a fifth line that connects to ground.

nexusrex
Posts: 234
Joined: Thu Jul 04, 2013 2:25 pm

Re: I made a Pi-powered arcade cabinet

Thu Jul 18, 2013 10:52 pm

which input for esc
and select
or i will make a shift button like start and up
or what
and can i make r2 and l2
or no

tinkernaut
Posts: 74
Joined: Fri May 10, 2013 5:58 pm

Re: I made a Pi-powered arcade cabinet

Fri Jul 19, 2013 12:02 am

nexusrex wrote:which input for esc
and select
or i will make a shift button like start and up
or what
and can i make r2 and l2
or no
You have it kind of backwards. Hook the controls up to any input on the ipac (it doesn't matter which). Then set the controls in the emulator to whatever keys your controls are hooked up to.

For example: I connect a wire from one of my arcade buttons to the post on the ipac labeled "1 SW 6". According to this table http://www.ultimarc.com/ipac2.html, that button will now act as if i pressed the x key on an actual keyboard. If you want this button to then quit the current game, you add the line input_quit_emulator = x into retroarch.cfg. That may not be the actual input command since I'm not looking at a real retroarch.cfg at the moment, but hopefully you get the idea.

Also, the guys who sell the ipac2 also sell both a smaller size unit and a larger size unit. The ipac2 though has something like 32 inputs, so you can map up to that many keys. If you look at the picture of my control panel, you see that I have 8 buttons and one joystick for each player. Since joysticks take up 4 inputs and the push buttons take up one input each, I'm using 24 of the available 32 inputs. So, i could actually add more buttons if I had any need to. If you're just setting up controls for one player, you don't even need something with as many inputs as the ipac2. You could get the smaller one. So yes, you will have enough inputs for l2, r2, and whatever other controls you may want to enable.

nexusrex
Posts: 234
Joined: Thu Jul 04, 2013 2:25 pm

Re: I made a Pi-powered arcade cabinet

Fri Jul 19, 2013 12:01 pm

but which to make a select button
and and how to make a combo like start + select = esc

tinkernaut
Posts: 74
Joined: Fri May 10, 2013 5:58 pm

Re: I made a Pi-powered arcade cabinet

Fri Jul 19, 2013 3:26 pm

nexusrex wrote:but which to make a select button
and and how to make a combo like start + select = esc
As far as which to make a select button, it doesn't matter. You can pick any button that you have wired up. You just have to change the config file appropriately.

To make a combination of buttons do something, I think you'll have to determine if your emulator supports setting up your inputs that way in the config file. I haven't set any of my configs like that, so I'm not sure.

nexusrex
Posts: 234
Joined: Thu Jul 04, 2013 2:25 pm

Re: I made a Pi-powered arcade cabinet

Fri Jul 19, 2013 3:34 pm

do you play psx games
and you recommend psx games to me or no

Gerbil20
Posts: 4
Joined: Mon Jul 22, 2013 4:34 pm

Re: I made a Pi-powered arcade cabinet

Mon Jul 22, 2013 4:47 pm

First off, I'd just like to say that you did a great job on the cabinet.

I've been thinking about tackling something like this because I have recently come into possession of an empty arcade cabinet (intact cabinet, no guts) and I was thinking I could upgrade it to something like this. I just have a few questions about your project, if you don't mind me asking.

1. How much did the arcade joysticks and buttons cost?

2. How much time would you say that you put into setting up/configuring the Raspberry Pi and installing the components into the cabinet?

3. When you say that "everything runs full-speed or very close", what do you mean by that? Do the older arcade games and emulated systems run without too noticeable hiccups?

Thanks for your reply, and congratulations on your new cabinet.

tinkernaut
Posts: 74
Joined: Fri May 10, 2013 5:58 pm

Re: I made a Pi-powered arcade cabinet

Mon Jul 22, 2013 5:25 pm

Gerbil20 wrote:First off, I'd just like to say that you did a great job on the cabinet.

I've been thinking about tackling something like this because I have recently come into possession of an empty arcade cabinet (intact cabinet, no guts) and I was thinking I could upgrade it to something like this. I just have a few questions about your project, if you don't mind me asking.

1. How much did the arcade joysticks and buttons cost?

2. How much time would you say that you put into setting up/configuring the Raspberry Pi and installing the components into the cabinet?

3. When you say that "everything runs full-speed or very close", what do you mean by that? Do the older arcade games and emulated systems run without too noticeable hiccups?

Thanks for your reply, and congratulations on your new cabinet.
Hey, thanks for the kind words.

1: Here are the sticks that I used, http://www.amazon.com/Sanwa-JLF-TP-8YT- ... =sanwa+jlf and here are the buttons, http://www.adafruit.com/products/473 . So, pretty inexpensive overall. The sticks and buttons can both be found cheaper, but I really like the look of the buttons and the sticks have very high build quality.

2: The components in my build are really simple, so it took minutes to hook them up. Wiring the controls took a few hours, but mostly it was time spent stripping bulk copper wire to connect the buttons to the keyboard encoder. Configuring the pi takes the most amount of time imo. Retropie is usually pretty quick to start up, but sometimes they introduce commits that break features and those can be frustrating to find solutions for. My advice is to always create a backup image of your pi before upgrading anything. Other than that, finding the config files to set the controls for each system was a bit of a pain, but if you have trouble I could help you out. I'd say imagine spending a day or two to get the configs to your liking. I ran into a few pitfalls (one of my keys was bound to the shift button, so when it was pressed any key bound to letters would not work), so expect that too. I'm still doing a little configuring, but all it is now is manually adding box cover art and game descriptions to every game. I can take my time with that.

3: Most of the emulated systems run 100% full speed with my overclock setting (medium). DGEN seems to run full-speed, but is not as accurate as I would like. This is acceptable though, considering the hardware and the games are very enjoyable. mame4all runs the older titles really well, and really lags when running anything from the mid-late 90's from what I can see. This is fine by me, though, because most of the games that I'm concerned with from this time are neo-geo titles and Gngeo runs them at full speed. PSX is the worst, but that's to be expected. Less graphically intense games play with slight lag, but 3d games really slog along.

I wish you luck in your build. The cabinet itself was a huge amount of my build effort, so since you already have one I would really encourage you to finish it off. Once you do some research, I think you will find that it is much easier than you think to put together. 95% of my cabinet on the inside is empty space.

Gerbil20
Posts: 4
Joined: Mon Jul 22, 2013 4:34 pm

Re: I made a Pi-powered arcade cabinet

Mon Jul 22, 2013 6:53 pm

Thanks a lot for taking the time to respond, and your answers are really inspiring. I've got a week off coming up soon when my job ends and before I head back to school in the fall, and I wanted to make sure that I could finish it in that amount of time and that the emulators would work well enough to make this worthwhile.

I'm familiar with messing around with config files and wiring things together, so I feel that the time spent doing that stuff will be similar to yours.

Anyway, thanks a lot for the help!

nexusrex
Posts: 234
Joined: Thu Jul 04, 2013 2:25 pm

Re: I made a Pi-powered arcade cabinet

Tue Jul 23, 2013 3:51 pm

i have a problem
i want to make l2 r2 buttons
but i don't have any input for select and esc
can i make coin1 is select
and what is 1a and 1b
is this inputs can i hook on it some buttons
please help me tinkernaut

tinkernaut
Posts: 74
Joined: Fri May 10, 2013 5:58 pm

Re: I made a Pi-powered arcade cabinet

Wed Jul 24, 2013 3:03 pm

nexusrex wrote:i have a problem
i want to make l2 r2 buttons
but i don't have any input for select and esc
can i make coin1 is select
and what is 1a and 1b
is this inputs can i hook on it some buttons
please help me tinkernaut
If you're talking about the labels on the ipac2 not matching what you need, don't worry about that. The labels are the default buttons in mame. You can wire any of the posts to any of your buttons that you want. Once you are done, change the config file to map your buttons.

Gobezor
Posts: 1
Joined: Wed Jul 24, 2013 5:34 am

Re: I made a Pi-powered arcade cabinet

Thu Jul 25, 2013 10:51 am

This is really cool, after I'm done with building my PC I think I will try something similar. How much did it cost?

tinkernaut
Posts: 74
Joined: Fri May 10, 2013 5:58 pm

Re: I made a Pi-powered arcade cabinet

Thu Jul 25, 2013 1:30 pm

Gobezor wrote:This is really cool, after I'm done with building my PC I think I will try something similar. How much did it cost?
In total I probably spent about $600 on this project. Some things could've been done cheaper, but the biggest expense was probably tools. Depending on what you have available (old tv, tools, hard drives/thumbdrives, etc) you could do this for cheaper. It's probably reasonable to expect between $300-$700 dollars based on what you have available. I'd say that if you're really interested, look up the necessary components and prices. If you're amateur to working with wood like I am, expect to ruin a few pieces and re-work them a few times, lol.

Return to “Gaming”