Tuesday, December 17, 2013

Briefcase Arcade

  This project came about in an odd way.  Where I work, we have an arcade club.  Basically, a group of guys get together and play old school video games.  The only problem is I am the only guy in the club that has an arcade we can use.  So, after getting tired of hosting the arcade club every time we wanted to play, I started thinking about how to make an arcade portable.  I finally arrived at the conclusion to make one into a briefcase.  Also, I watched Iron Man 2 and saw Tony Stark put the Iron Man suit into one, so I figured I could put an arcade into one.  

  I started with an idea of having a bartop style arcade that would break down into a portable .  After that idea sank in the planning phase, I thought about just placing an arcade within an old style (80's) briefcase.  After finally finding one at goodwill for around $5, I could begin the project.

After gutting the briefcase, I started try to figure out the layout and how the components would fit into the case.  I then took apart my LCD monitor to mount within the briefcase.  The LCD I used has an external power supply of 12 volts.  This is important for ease of powering the briefcase  arcade.  The monitor had metal brackets to attach to the inside of the plastic case.  I simply reused these to mount the monitor within the briefcase.  After figuring out that I would need to lengthen the cables for the monitor to fit within the case, I realized I could flip the monitor upside down and not have to change any cables, etc.  I would need to change a setting within Raspberry Pi to flip the monitor 180 degrees.  This is a simple change that you can implement within the config file.

After acquiring the briefcase, I had to think about what computer would be able to run within the case.  Fortunately, I had a raspberry pi sitting around after I no longer needed it for streaming.  This would be perfect for the briefcase arcade, now formally known as the Briefcade.  So, with the small computer in place, I needed to work out the joysticks and buttons.  Using the traditional joystick and buttons I used for my last arcade build would not fit within the form factor I had to work with, within the Briefcade. 

  I searched on the internet and found the smallest joystick (height) and button were Sanwa style.  After receiving these in the mail, I still had an issue with height of the joystick.   With the balltop placed on the joystick shaft I could not close the Briefcade with the monitor in place.  I finally had to settle on leaving the joystick balltop removed while the case is closed.  This isn't too inconvenient but not optimal...

I then had to create the control panel.  I first cut the holes for where I wanted the joystick and buttons.  I wanted be able to open up the panel to access the computer, wiring, etc.  I made the "main" board (Joystick and Gameplay buttons) the area that can be lifted, and the other buttons (Exit, 1 player start, and coin up), the non moving area. 

After making the cuts and holes, I mounted joystick and buttons.  I then found out the level for the joystick to function, i.e. move around and not scrap the bottom of the case, and also be able to close.  After getting the height correct, I made mounts to hold the control panel in place, and then screwed all of these within place.  Then I mounted the hinge to be able to open the control panel. 

The next step was figuring out controller input from the control panel.  With my last build I went with the iPac controller that you wire in the buttons and connect to your PC with USB or PS/2.  The Raspberry Pi however has a GPIO (General Purpose Input and Output).  With this you can send signals to the PI.  The layouts of ground, +5 V, etc. can be found on the Pi wiki page.  I found my correct model, and went about wiring all the buttons and joystick up to the proper inputs with these 40p dupont wires.  These are great as they connect up to the GPIO pins perfectly.  Once I got the connections up, I then worked with a Linux script that takes the GPIO inputs and translates them into keyboard presses.  With this, you can then create the correct inputs for MAME emulator.

The Raspberry Pi has a lot of support and a great community.  There are several builds of Linux that will run MAME on the Pi.  I used Shea Silverman's PiMame.  This has a great menu, easy setup, and terrific support.  After getting this setup and running, I had to do some minor tweaks to get the controls working correctly. 

My last step was power for the Pi and monitor.  My monitor uses 12v to be powered, and the pi required 5v.  I made a hole on the side of the Briefcade I was able to use a female power connector.  The incoming wires then go to a switch I bought at RadioShack that has a nice On Off sign on top.  I then split the wires, with one pair going directly to the monitor, and the other going into a USB car charger.  The USB car charger is the kind that plugs into your cigarette lighter..  These convert the voltage from 12v to 5v.

Here is all the internals for the Briefcade

Here is the finished product.  The Briefcade or Arcase or Businesscade.  I personally like the Businesscade but most people call it the Briefcade, so I will go with that.

Briefcade Closed

Briefcade Open

Briefcade getting some attention