Q*bert MAME Project
QbertCab

I, Jimmy, call myself a classic gamer, but I don't have an arcade machine in my gameroom... there's something wrong with that, and it must be rectified. Given my current space, I only have room for one cabinet, so MAME will give me the most variability with the space. However, I'm not a fan of generic-looking MAME cabinets, so I want to model my cabinet off of one of my favorite games: Q*bert. So begins the journey.
The Plan (Or Lack Thereof)
I had few goals for my MAME project:
  • Make it look like an actual classic cabinet, none of this generic MAME cab junk. I chose Q*bert, as it is one of my favorite games and the cab will add some needed color to my gameroom.
  • Allow for interchangeable control panels. The only thing I dislike more than generic MAME cabinets is generic control panels that cram way too many controls on a single panel. I want to have simple, dedicated control panels that are quick to swap.
  • Build it with my current skillset and the tools at my disposal.
I knew that if I planned everything out in detail, I would never get started. So, I did a bit of internet research, found a Q*bert cabinet template, and started cutting. I figured I could work out the details on the fly.

There are a lot of good resources that go into much more detail than I will. Here are a few I used, but there are so many more online:
The Cabinet Shell
The first step was to make the cabinet shell; I started with the cabinet sides and then figured out the other pieces. I grabbed the outline for Q*bert from http://jakobud.com/cabinetPlans.php and used it as is. For material, I used a combination of 3/4" Birch plywood and 1/2" Birch plywood. The 3/4" was for the structural pieces, and the 1/2" was for non-structural pieces. Some people might recommend MDF, but I find plywood to be lighter, stronger, and better looking.

To start, I drew the Q*bert outline onto a piece of scrap plywood using a straight edge, a square edge, a measuring tape, and some good old trigonometry. If you attempt this, take your time and double-check the measurements. I then cut out my template using a combination of circular saw work and jigsaw work. The idea was to create a template first and then use that to cut out the actual sides.

I was planning to use a router to cut out the sides using the template as a guide. However, I wasn't getting good cuts with my router, so I just ended up cutting the sides using the circular saw and jigsaw again. By referencing the template, I got them fairly close to the same size, but to get them perfect, I clamped the two sides together and sanded them down.
Template1
Template2
Template3
Sanding
For the adjoining pieces, I started with the bottom, the top, and the upper shelf (below the marquee). Once these pieces were joined, the cabinet had enough structure to be free standing. This is where my "planning" ended, so I just took careful measurements of the sides and cut the pieces to size. Deviating from the standard Q*bert plans, I added a few inches of width to allow a bit more room for two-player side-by-side games. For fasteners, I used wood glue and countersunk screws, which I puttied over later; this thing wasn’t budging.

Voila! The cabinet was finally free standing and actually starting to look like something.
CabinetShell
The Monitor
There are a lot of different options for the best monitor to use; there are also a lot of strong opinions on the topic. A classic arcade monitor looks the most authentic, but can be fairly complicated to connect to your MAME controller. A CRT TV or monitor also looks somewhat authentic, but is super heavy and a bear to drive. A modern LCD monitor is by far the cheapest and easiest option, but you're sacrificing authenticity. I didn't want to deal with some of the more complicated options this time around, so I used a 4:3 LCD monitor I had laying around.

I removed the monitor casing to cut down on some of the bulk and mounted it using some blocking and a horizontal piece spanning the space between the cabinet’s right and left sides; using a standard VESA mount, the monitor was easily installed on the spanning piece. A bonus is that the monitor can easily be rotated on the VESA mount to switch between portrait and landscape games.
TestRun
After I installed the monitor, I quickly hooked up a few things to take it for a test run. It was playing nicely, but I still had a lot of work to do. (I’ll talk about the control panel and wiring in a bit.)
The Cabinet Internals
Unfortunately, I don't have a ton of detail here because I was flying by the seat of my pants. I filled out the rest of the cabinet through trial and error. Plan where you want the internals to go and then build blocking and shelves to accommodate.

I made the back panel completely removable, so I can access it for maintenance. The front panel swings open as a door since I'm going to have some storage on the bottom of the cab.
UnpaintedCabinet
The Painting and Artwork
One of the big reasons I decided to model my cab after Q*bert is the awesome yellow paint. I love how bright it is, and I ALWAYS play yellow in board games. Perusing my local hardware store, I decided on a Behr Unmellow Yellow for the sides and plain old black for the rest.

I painted everything using rollers and brushes. The yellow took 3-4 coats, and the black took 2 coats. This was probably the most time consuming task on this project.
Painting1
Painting2
Painting3
I wanted to clean up the cabinet and hide the wood edge, so I used T-Molding. To install T-Molding, use a router with a T-Molding bit to cut a groove in the center of your wood edge. Then pound in the T-Molding using a rubber mallet. I also added a bit of glue to the groove to give a bit of hold. When going around corners, use diagonal cutters to trim the corners.

I buy my T-Molding at https://www.t-molding.com/.
TMolding
I ordered side art decals, a marquee, and a control panel overlay from https://www.escapepodonline.com/. They were awesome to work with and did some custom modifications to ensure the artwork fit my cab perfectly. I highly recommend them.

Before applying the artwork, I cleaned the surface of the cab with soap and water. I didn’t remove the backing from the decal’s adhesive all at once. Instead, I removed the top two inches or so, attached that to the cabinet, and slowly applied the rest of the decal, working my way downwards. When applying decals, use a squeegee or credit card to push out all the bubbles. This is a two-man job so ensure you have a buddy around.
Artwork
The Control Panels
Up to now things have been status quo; here is where I wanted to do things a little differently. Everyone has seen those MAME control panels (CPs) that cram two joysticks, about 25 buttons, a trackball, a spinner, and the kitchen sink all onto a single CP. I hate it. It looks cluttered. I'm always fumbling to figure out which button does what. I can't comfortably rest my hand anywhere. Alright, maybe I'm being harsh, but the fact is I want a CP that is closer to the original and isn't cluttered-looking. But, I also want the option to play multiple games. Hence the idea for interchangeable CPs.

To start, I know I want a Q*bert CP (a single joystick rotated 45 degrees), a single-player simple CP (a single joystick with two buttons), and a two-player simple CP (two joysticks, each with two buttons). I can play most of the games I like with this. Later I will likely add a trackball CP, a spinner CP, and maybe a two-player fighter CP (if my friends bug me enough).

I know that I'm going to be using a Windows PC as the controller for the system, so I need the controls connected via a USB interface. There are a lot of nifty USB controllers that have a bunch of IO that you can connect your control peripherals to, but you can do it just as easily with an old keyboard.

Let's quickly talk about how keyboards work... USB Keyboards, like the ones most people have lying around, have a built in USB controller. Pop open the keyboard and take a look at the controller. A standard keyboard has ~104 keys, but the interface doesn't break out 104 individual pins; instead, it uses a matrix to detect which key is pressed. For example, an 8x14 matrix will allow for 112 inputs. Sounds complicated, but it's really not. Check out this article for a better explanation: http://pcbheaven.com/wikipages/How_Key_Matrices_Works/

So what does this actually mean for my control panels? I pulled out a keyboard encoder, soldered wires to it, and added a connector to the wire ends. This way if I add connectors to my CPs, I can quickly swap between CPs.

KeyboardConnector1
KeyboardConnector2
ControlPanelConnector
I'm using wood control panels with vinyl overlays (most are just black, with the exception of the Q*bert CP). I cut out about 10 CP pieces, so minimal effort is required when I want to create new CPs down the road.

Plan out where you want the joysticks and buttons, and mount them accordingly. Most buttons and joysticks require a 1 1/8" drill bit.

To wire up the CPs, I built some custom wire harnesses with crimp terminals for the button end and connections to the Molex connector on the other side. This can be time consuming, but isn't technical. Clean it up with zip-ties.

I added latches to the CPs and to the inside of the cabinet so that I can quickly swap my controls and keep the firmly in place once they’re installed. I just pop open the front door, unlatch the CP, disconnect the CP, remove the CP, add my new CP, connect it, and latch it down. It takes less than 60 seconds and is super easy.
ControlPanelTop
ControlPanelBottom
The Brains
I had a Windows PC lying around, so I used that as the brains of the cabinet. I pulled the PC out of the case and mounted it in the top of the cabinet behind the marquee. The idea was to leave the entire bottom of the cabinet empty with all the guts hidden up top.

Software configuration is a huge pain! I'm using the MAME emulator with an mGalaxy frontend. Look around at the options before deciding on an emulator frontend; there are a lot of choices but none of them hit everything I was looking for. I'm not going to go into the details here, as I'm still figuring it out and there are decent tutorials out there.
The Details that Pull it all Together
The Coin Door: I guess I didn't really need a coin door, but without one, the cabinet just doesn't feel like an authentic cabinet. The coin slots light up and are coin-up buttons. They're super awesome, and I think they're way better than the Easy CoinUp buttons I've seen around: http://groovygamegear.com/webstore/index.php?main_page=product_info&products_id=295.
CoinDoorFront
CoinDoorBack
The Speakers: I mounted computers speakers behind the marquee and a subwoofer in the bottom of the cabinet. I drilled holes below the speakers to force the sound right at your face when you're blasting spaceships. Best of all, the speakers have a control hub that I mounted on the outside, so I can change the volume or plug in headphones if I need to rock out to my game while my wife is sleeping.
SpeakerHub
The Marquee: The marquee is acrylic with the Q*bert image printed right on it. I lit it with a fluorescent tube. An LED strip would also get the job done.
Marquee
The Glass and Bezel: I called around to local glass shops and found someone who would inexpensively supply a custom sheet of glass. For a bezel, I used black foamcore, which can be found at your local hobby store.
Glass1
Glass2
The Front Buttons: There are few buttons I wanted for controlling the MAME interface, but I didn't want them junking out the CP. I added those to the front of the cabinet on a back slope which somewhat hides them. I also added a USB port where I can quickly connect a keyboard and mouse when doing configuration work.
FrontButtons
FrontUSB
The Shelving: Since I have all these interchangeable CPs, I wanted the ability to store them in the cabinet. I added slots to the cabinet sides to hold them, which can accessed from the front. I have a total of six CP shelves, which gives me room to grow. I also have a shelf to hold miscellaneous items.
ShelfFront
ShelfBack1
ShelfBack2
The Casters: I put the whole thing on casters to easily move it around my room when needed. As a bonus, the casters added about 3" to the height, which made it the perfect height for me.
The Final Product
I hope my classic gamer cred is now increased by a small margin. It turned out better than I expected for my first build, and I love playing a few games at night.
QbertCab
QbertCab2
QbertCab3
QbertCab4