Planning the Arcade Cabinet Part I... when a gecko becomes an iguana!

Ok... prototype control is complete and I now think I know what I want in my full arcade cabinet.  Repeating from some of the lessons learned, here is what I initially thought I'd build and include.
Controls







From my prototype, I knew I wanted a 2-player machine, with a joystick and six game buttons per player.  I wanted joysticks that could be switched from 4-way to 8-way and back again without the need to open up the cabinet to access a restrictor plate.

In addition, I wanted to add a trackball and spinner control.  There would need to be a few administrator buttons, like Player 1 start, Player 2 start and a "hotkey" button for other admin functions like exiting a game.

I knew that I wanted a button mounted somewhere outside the cabinet that would allow a graceful shutdown of the Raspberry Pi before another external power switch was used to power down the entire cabinet.

I would want external speakers mounted in the cabinet for sound.  Even if the display I selected had speakers, it would be enclosed in the cabinet and behind Plexiglass, so another method of sound would be needed.  I learned from testing various games that the sound level varied greatly between some games, so I'd also need some sort of way to control the volume for different games.

Lighting
While not authentic to many original cabinets, I liked the looks of the illuminated buttons on the prototype.  So, I wanted the buttons to be lit up when the machine was powered on.

I also wanted a standard back-lit marquee like the classic cabinets.  This is where I started.

Display
The display would take some thought.  I did not even consider a CRT display (again, I know, not authentic), but would be going with a flat panel display.  The CRT wpuld add lot of weight to what would likely already be a very heavy piece of furniture, and I'd have to make the cabinet much deeper than I'd really like given the space I had.  I had been using a 32" LCD TV for the prototype and I liked that size, but I'd have to consider the width of the cabinet as well.

Games
Every game I had installed on the prototype was tested and played for at least a bit to check functionality.  If the game crashed, hung, did not perform as expected, or required components (like a light gun) that I was not planning on having, it was marked in a spreadsheet and would not be placed in the final cabinet.  I didn't want friends and family playing on the machine only to have a game crash or lock up the Pi, requiring me to remote into the Pi and manually reboot it.  I kept the game ROM files, but marked them in my spreadsheet (one for each emulator type, but again a focus on Arcade) in the event I ever wanted to put them back if I added something later that might make them attractive again.

Dimensions/Hardware/Access
There are a lot of plans on the Internet for building your own cabinet.  I just wanted a simple starting point that I could then modify for what I thought I wanted.
A little research told me that the standard height on most arcades is 6'.  This is what I'd make as my height.  In addition, the control panel is generally located around 36"-40" from the floor.  I put a piece of tape on the wall and tested the height both standing and sitting on a stool.  I settled on 38" from the floor to the front edge of the control panel.

Next, I had to consider width.  Both the size needed for the control panel and the horizontal dimension of the display would impact this decision.  My prototype control panel was 24" wide, but I needed additional width to add the trackball between Player 1 and 2.  Again, I turned to my templates, cutout circles to represent the trackball and spinner and a piece of cardboard.  I moved things around until I figured I'd need about 28"-30" for things to be comfortable.  And since I planned on placing the control panel on top of the side panels and not between them (so I could lift up the panel to access the controls underneath), so the width of the control panel would be the same as the outside dimensions of the cabinet.  As far as the display, I could just squeeze the 32" LCD panel I had used for the prototype into the cabinet if the internal dimensions between the side panels was about 30 1/2", making the overall outside width 32".  I didn't plan on using this same TV (it had to go back to the bedroom I stole it from), but I still felt 32" was a bit wide for the allocated space.  So, I settled on an overall outside dimension of 30".  That means any display would have to squeeze into the 28 1/2" inside diameter, using the 3/4" MDF for the sides which was my plan.  A quick search showed that I could find a few 32" LCD TVs with a horizontal dimension that would just squeeze in.  Going the computer monitor route would likely result in a slightly smaller display, but would provide more options and a little more working space.

That just left a decision on depth.  This was a little bit more arbitrary, as very little depth would be required for the flat panel display.  I didn't want to reduce the depth too much, because that would look... well, just weird.  The above starting diagram showed a base depth (before the control panel bump-out) of 28".  I placed masking tape on the floor in the target location, and this felt a little too deep for its future home and how it would look sitting next to its sister slot machine.  After some tape trial and error, I settled for a base depth of 20".  With the 5" bump-out I eventually came up with for the control panel, that meant an overall outside depth of 25".  Yes, I know, 24" would have allowed me to cut both side panels from a single 4'x8' sheet of MDF, but I was going to need some additional 3/4" MDF anyway, and it's not very expensive, so that's what I decided.  Final outside dimensions of 72"h x 30"w x 25"d.

But since then....

The Gecko becomes an Iguana
First, it's important to know that the prototype was designed and built over a Christmas break, where I'm lucky enough to get a couple of weeks off.  I was also lucky that we had a brief warm streak of weather during that time (well, warm for Indiana in the winter) that allowed me to putter around in the garage and do the necessary sawing, sanding, etc.  But, like is normal for Indiana, this was followed by a brutal cold streak.  So, even though I had completed the initial design for the arcade cabinet, it was simply too cold to work outside and in the garage.  Besides I still had some research to do on controls, pick out a display, etc. and I knew it was going to take me quite a bit longer than a weekend to build the cabinet, so I wanted a time where I could have at least a week off work.  Fortunately, working at a university allows me to take off the week of spring break.  This is in mid-March, and while you never know about Indiana weather, the temperatures should be warm enough to at least work in the garage and driveway.  That gave me a target starting date for the build, but also allowed me about 2 1/2 months to research, play with ideas and tweak things.  And boy did things get tweaked.  About the only thing still the same is the overall dimensions of the cabinet!

The first thing I did was pick up another Raspberry Pi starter kit (Canakit) with the exact same microSD card as my prototype.  As I covered in an earlier post, this would allow me to clone my prototype image to the new Pi and I would not need to start over.  But the new Pi would be eventually going into the arcade cabinet and would give me a test bed for playing with some ideas.  I originally thought I'd disassemble the prototype and reuse those parts.  But I already decided I wanted different controls, so I thought I'd just keep the prototype and could take it to friends' houses if desired.

Next, I started to sketch out some small scale drawings of the cabinet.
This alone led to a number of design changes.  I wanted to be able to access the inside of the cabinet without the need to pull it out from the wall and remove the back.  So I designed in a couple of side panel doors that could be opened.  I also wanted the top panel, right behind the marquee to hinge open should the bulb need replaced, and optionally (if I could figure out how to design it) I could remove and replace the marquee graphics or replace the acrylic sheet (aka Plexiglass) should it become damaged.  I was trying to come up with a design that would allow me to perform maintenance or do upgrades without having to take anything physically apart in the future.

I also needed to figure out how I was going to mount the display in the cabinet and add an acrylic sheet in front of the monitor, with the same ability to semi-easily remove it to clean it and the display or replace it should it become scratched or damaged.  Adding the acrylic sheet would add a bit of realism, as most classic arcade games had this, but more importantly it would keep sticky little fingers off the display, the owners of which think every display is simply a giant iPad meant to be touched and poked!

All this led to yet more scale drawings as I kept modifying things.
During this same time, I was continuing to investigate controller options.  I had a nice vertical 4" panel designed right above the control panel and below the monitor.  This seemed like the perfect place to have the Pi power button, a volume control knob and maybe toggle switches to flip the joysticks from 4-way to 8-way if a method to do that electrically could be found.

I was reading a lot of other blogs, browsing forums and watching YouTube videos (much of the same ones you have likely seen if you've been searching and somehow found this one!) when I came across a post about these joysticks that could be electronically (or even programmatically) switched from 4-way to 8-way and back again!  This would perfect.  But once I located them and their site, there was so much more there than just the joysticks that would meet my needs... and even a few needs I didn't know I had yet!

This site is Ultimarc.  They are based in the U.K. but I've already found them to be very responsive to questions I've thrown at them.  Yes, you can find much cheaper controls but as the tag line on their site says, "Ultimate Arcade Controls".  And I agree with them.  Not only are these high-quality, arcade-like controls, they have many items that cannot be found anywhere else (at least I couldn't find them).  This opened up a whole bunch of new ideas.  Uh oh, the iguana is starting to outgrow its skin!

Meanwhile, yet a few other things were going on.  I had started to order some various components that I could test and would need to know the size of before finalizing the cabinet (nope, final design still not locked in at this point).  I obtained a small amplifier, basically on a circuit board:
I also ordered a couple of 4" 5W speakers, labeled as speakers for arcade/pinball machines.  But when I hooked this up to the Pi, not only was the sound scratchy (attributed to the Pi's audio output jack) but the sound level was too low and tinny.  These were scrapped and a similar, but more powerful, amp was ordered along with some mid-quality 3.5" car audio speakers.  This would require a 12V power supply, but that was a project for a later day.  Even connecting this new amp and speakers to the Pi substantially improved the audio sound.  But I still wanted to use the HDMI audio if possible.

So, that leads to additional requirements for the display. Here's the things that the display would have to have:
  • Would fit horizontally within the maximum 28 1/2" I would have available
  • VESA mounting holes (I decided this is how I'd mount the display)
  • Audio out or a headphone jack to send HDMI audio to the amp
  • HDMI-CEC, or the ability for the display to turn on whenever it receives a signal
This last bullet was important because it would be inconvenient to have to find a way to physically push a power button each time the cabinet was powered on and using a remote would be an extra step and may not work because the IR receiver would likely be blocked by the bezel around the display.

Based on all this, I started leaning towards a computer monitor instead of a TV.  I didn't need a tuner nor any of the smart features so many TVs seem to come with these days. I found a monitor online that seemed to meet all my requirements.    But I really wanted to see it in person before making a purchase that would be a major part of the arcade.  Problem was, the only place in the area that carried it had it listed as out-of-stock.  So, I was browsing another electronic chain (rhymes with Rest Guys) and looked at the monitor selection there.  There was nothing that met my needs.  As a lark, and since I was already there, I decided to browse through the LCD TV section.  I stumbled across a low-cost 720p 32" LCD TV.  Poking around on it, I found it had a headphone jack, on the back no less!  It had a thin bezel, so the outside dimension was 28 1/4".  Tight, but it would fit.  The only remaining question was HDMI-CEC.  At the low end, I figured I would be out of luck.  But a quick check of the user manual via my phone showed that it did, indeed, have HDMI-CEC on one input. Only a $150 later, and I was on my way home with what I thought was the perfect display and a major component out of the way.

But I bet you could see this coming... the picture quality when hooked up to the Pi was abysmal.  Text in the RetroPie menus was blocky and pixelated.  And even though the old video games don't have anywhere near the resolution of today's games, they looked even worse on this TV.  I tried every possible setting I could to improve the quality.  Everything else about this display was perfect.  I really, really wanted it to work.  But I couldn't get the picture quality to an acceptable level, so back in the box it went and off I headed to the see the Rest Guys.

Finally, the other retailer got one of the monitors I was originally considering in stock.  I picked it up same day.  It's only a 27" display, but this will actually make mounting easier and give me a little more room to play with regarding the bezel that holds the Plexiglass.  The picture quality looks great and required headphone jack and VESA mounting holes. As an added bonus, all buttons (power, menu, etc.) are actually on the back panel, not the front or sides.  This will make them accessible even after everything is mounted, if necessary.  There was one minor issue regarding the power state after all power has been removed, but I think there is a way to easily overcome that.

So, now I have my sound and my display and what I believe is the supplier for all the controls.  But the research didn't stop here!  The iguana is soon to become unrecognizable.

No comments:

Post a Comment

RGBCommander Update (and possible fix)

If you have recently been working on your own arcade and ran across posts referencing a utility for RetroPie called RGBCommander that can co...