Welcome! this is my first attempt to create a MAME arcade cabinet from scratch. I built this thing some years ago and just decided to upload it to instructables.com

I tried to take as many pictures I could to show the step-by-step creation process.
This project has many interesting topics in which I worked: woodworking, design, electronics, painting, programming.

If you like this project please comment!

Step 1: Cabinet Construction

I think a good blueprint is a must as a good starting point for this project. I wish I could created a 3d design but I only know a little bit about 3d tools. If you take this approach a good -and free- software to play with is Sketchup from Google.

I chose the way of hand drawing designs. Since I wanted to build an old-fashioned cabinet I looked up to the Taito cabinets designs (Alpine Ski or Jungle King for example)

Since I couldn't find any full sized blueprint of the cabinet I liked to build, I had to create it by my own. First of all, I got a small picture of the side view of an "alpine ski" and printed it out in a deskjet printer. 

After slicing the silhouette of the side view I took a small piece of squared paper and draw the design there.
The next part was easy. All I had to know was one of the measures of the real cabinet (for instance, the length from the floor to the control panel) and apply a simple rule to calculate the other values.

I got one of the measures from a cabinet installed at a restaurant. The height from floor to control panel was 92cm.

The height from the floor to control panel in the small picture was 5cm

With this data I calculated the depth of the machine, by measuring the depth of the small picture (which was 6cm) and applying the formula that gives the measure of the real depth:

real cabinet side depth = 6 * 92 / 5  = 110cm

I got all the measures of the side view with this method and created a blueprint of the cabinet sides as the construction starting point.

Based on the blueprints I started the process cutting the MDF sheets for both sides of the cabinet. Every cut was made with the circular saw except the curved cut of the upper sides. I didn't have any tool to make that kind of cut so I had to build it by my own. I did this by using a saw blade fixing one end as an axis and attaching the jigsaw to the other end. This kind of cut must be performed with a lot of care and in very slow motion because the jigsaw blade can easily get twisted.

After both sides were ready I sanded the borders to get a smooth surface.

Next, I created the inner frame. This part is the reference to build the rest of the cabinet because the control panel will be positioned just over this frame.

The distance between both cabinet sides is 66cm. I got this measurement from the control panel prototype created before. Although the cabinet can be narrower I this measure is very comfortable for two players with six buttons each.

After fixing both sides to the frame, I started with the control panel construction, as you can see in the next step.

Step 2: Control Panel

I think this is one of the most important part of the cabinet. The control panel must be strong enough to get the hits of the most anxious players.

I tried to build a solid base with a 18mm MDF but any other kind of wood could be used. I placed this support over the frame attaching it with two metalic guides on each end. (then I fixed the guides to the cabinet sides with screws).

After deciding the tilt angle of the control panel top I built the wood box. Two 18mm MDF were used to support the control panel top just to avoid any kind of bending

After the box construction I estimated the joystics and buttons place. Each player has six buttons and that is enough for most games. An additional button was placed in the upper left corner of the control panel to serve as quit function.

Other button emulates the "insert coin" and two other are placed in the control box for player 1 and 2 start. I cut both joysticks and buttons holes with a hole saw.

Finally I placed the joysticks and buttons to test the layout.

There is a 2mm gap between buttons. This distance should be the shortest you can to create a comfortable layout for the fingers. (after some tests I realized that 1mm is much better, but it was too late)

This is the component list of the control panel:

2 Red buttons
2 Yellow buttons
2 Violet buttons
2 White buttons
2 Green buttons
2 Cyan buttons
2 Black buttons
1 1 player start button
1 2 player start button
2 Balltop joysticks

I bought the buttons at happcontrols. The joysticks were bought from a local provider.

Step 3: Keyboard Drawer

My first attempt in the keyboard drawer building was very disappointing because of the low quality rails I chose.

The rail wheels broke after a while so I decided to discard it and bought another one.

I placed the drawer rails just under the control panel base.

Step 4: Keyboard Hack

I had half way done with the keyboard hack because six months before the starting of this project I built a control panel prototype just to know if it would work.

I got an old PS keyboard and removed the printed circuit board (PCB). Then I soldered a wire to each pin of the PCB (if I had to do it again, I would use a ribbon cable instead). With the maylar and the keyboard layout I was able to determine the definition of each key.

I needed to handle 24 keys:

4 keys for player 1 joystick
4 keys for player 2 joystick
6 keys for player 1 buttons
6 keys for player 2 buttons
1 key for escape button
1 key for insert coin button
1 key for one player start
1 key for two player start

Most games will work OK with this setup.

One of the most difficult things with the keys selection was to avoid the "ghosting" and "blocking" got in some cases:

What this means:

Ghosting: when you press 2 keys you got a third
Blocking: pressing certain keys combinations they blocks others

I created a reference sheet as a helper to choose the right keys as you can see in the picture.

Step 5: Speakers

This was the cheapest solution I found for the speakers system. After some weeks of research and with a small budget remaining I decided to keep this part of the project in the "cheap" highway.

The sound produced by this little amplifier is OK because of the "boxed" cabinet style. I usually play with half volume and it sounds very well.

The speaker system is the easiest part to change in the cabinet, so they can be easily replaced anytime with any other set up.

Step 6: Video

This was a little difficult because I didn't have the monitor at the time I created the blueprints. So the main problem was to get a TV that fits in the cabinet!

The old days cabinets usually had a 20" monitor. I discarded both pc monitor and arcade monitor for this project. 

The arcade monitor requires special hardware and knowledge to interface it with the computer. And a PC monitor would look too "perfect" for an old-fashioned arcade cabinet.

I chose a TV as the display hardware for my cabinet: Relatively cheap, and "plug and play" since with the RCA input there is no need of electronics addins to convert the input signals.

After two months of research I could find a suitable Fairmate 20" TV that fits very well in the cabinet. Since I didn't have the TV when the blueprints were created, I took all the measures based on my own TV. The more suitable TV should be triangle shaped (see the pictures) to fit inside the cabinet (if it is totally square it would go outside the cabinet backdoor)

In addition the TV should have other two features. 1-it should have a RCA video input (almost all the TV's have them) or S-Video. 2-it should be cheap. As I already mention, the whole project is quite expensive and I was unable to spend more money on a brand new TV. Anyway, all the new TV's I found where more cubic shaped so I discarded them all.

Once I've found the one that seemed to be the right TV for the cabinet I had to face another problem: the front control panel of the unit had a huge height. The effect of this big height is that the TV would stay too far from the upper edge of the control panel, and therefore the bezel in the bottom will be also huge and ugly. Since I can't "select" and "cut" the bottom panel of the TV (and I refused to open the TV to make any changes because of the known hazardous high voltages inside) I asked the supplier if he could rotate the CRT tube for me. The guy did the job and that solved the problem. The height excess is now at the top but that is not a problem because I will hide it behind the speakers cover.

I had to visit the TV supplier once again because the guy flipped the image vertically (mmmm... seems to be ok) but also flipped it horizontally (all the left to right action would be right to left!!). Just imagine double dragon guys walking from right to left :(

TV Out

Most of the older TV's in my country has composite (RCA) inputs and not s-video.
At the time I built this cabinet most of the video cards available had s-video output, so the only way to get it work would be to plug an adapter to the video card.

It took me about five months to find the best solution... Finally I decided to buy a TV Elite XGA unit: 

This is a wonderful piece of hardware because some of it's features:

1. It is external
2. It can be connected to any pc
3. It does not uses any driver (just plug it into VGA and voila! showing the same in the TV. Therefore it can be used with any operating system (since it does not uses any drivers). The first game I tested on the cabinet was "Wolfenstein 3d" running on an ancient 386 machine :)
4. It shows both in the pc monitor and TV
5. The changes you make on the pc are reflected in the TV (brightness,
position, height, width, etc)

In addition it supports a very long RCA wires (I tried it with a 10 meters wires installation and it works OK).
Some of the other video cards I've tried produced a very bad output with a long wire. Of course there is no need of such wire length but it is just another remarkable feature of the XGA TV Elite. It was a little bit expensive than a standard video card but it really worthed it.

I had to build a solid base to hold this heavy TV.

Step 7: Painting

The cabinet was painted with a paint roller. The painting process is a nightmare if you don't have enough room and any chances of messing things up. 
Painting with a spray can is far the best way of doing this.

I painted the cabinet inner white because I planned to use this space to store things (tools and other things)

Step 8: Bezel

The bezel:

The first thing I thought about the bezel was to get a rectangular MDF sheet and make a rectangular hole inside it with the jigsaw. I found a problem with this approach: the finishing. The bezel is one of the most visible things in the cabinet so the inner edge should be perfectly square (with straight cuts). Although with practice it is possible to do it with the jigsaw it is much better to create the bezel with four frames, and then attaching them togheter.

By using two MDF guides the borders can be fixed to them with screws (hiding the screw heads to obtain a better finishing). A good sanding is also required.

In the cabinet I installed two bezel guides on each side. The borders of the bezel rest over this guides.

The border height of the bezel in the picture #2 fits between the side of the cabinet and the side side of the TV as you can see in pictures of the installed bezel.

So there is no space between the bezel and the TV borders.

The glass:

The old machines had a glass and not plexiglass so I got a real glass for the cabinet.

After a couple of days searching for the best way to attach the glass to the cabinet I find out that the best way is the easiest: I placed it from the cabinet rear, resting over the bezel support guides. The glass bottom rests over the control panel edge fitting very well (the height of the control panel must exceed the bezel level).

As you can see in the pictures, the glass height is a couple of inches longer than the bezel. This allows to make two guides on each side for the glass. Although it is not necessary at all I think is a good support for the higher part of the glass to avoid any up and down movements.

I choose transparent glass for the project, but smoked could also be used (I don't like them because the cabinets I used to play in the old days were all built with transparent glasses). The advantage of the smoked glass is that hides the TV borders and bezel.

The thickness of the glass I choose was 0.5cm (or 0.1968503937007874 inches :) and its enough and very strong for this cabinet.

The results of the finished bezel and the glass installed over it are very good. They fits perfect with the TV.

Step 9: Backlight

I chose a small 25W fluorescent light for this cabinet. The light spreads nicely over the backlight paper. Too much light can disturb the player's attention so 25W is far enough.

Attaching the backlight is very simple as you can see in the following pictures.

In the marquee section you can see some pictures of the marquee installed with the backlight on.

Step 10: Marquee

Marquee guides:

After some failed tries of getting a tool that could make the marquee guides I finally decided to make them with the circular saw and the help of some other tools. Warning! please take care if you decide to do this, because it can be very dangerous.

Here are some pictures about the marquee guides making. At first I draw two lines according to the plexiglass thickness and then attached a piece of wood which served as a guide for the circular saw. The height of this guide must be measured carefully in relation with the height of the exposed saw to avoid cutting too deep:

After this I put the circular saw and started the cutting process in a very slow motion:

Marquee retainer:

I didn't use the classic marquee retainers you can see in other projects because I just couldn't find them in my country. I chose a very simple solution as you can see in the picture below:

I put a couple of white adhesive stoppers (one on each side) to allow an easy positioning of the marquee. I tried to put the marquee on its place without this couple of stoppers and it is almost impossible to do it.

The plexiglass is supported by the stoppers and then can be slid until the top reaches the upper guide, as you can see in the following pictures:

By putting the screws in the cabinet sides makes the marquee stay on its place. I think a more thickness plexiglass would be better but in a home environment 0.5mm should be enough.

Step 11: Coin Door

The coin door was installed in the cabinet only for decorative purposes. In the future I will connect it to the "insert coin" button so it will be fully functional with coins like a real arcade.

I got an old Asahi coin door donated to me by a friend (thanks Ricardo Carracedo). He gave me the coin door and some coins to test it. 

I disassembled the coin door and applied thinner to help removing the old yellow paint. One minute later I brushed the coin door with an aluminum sponge which quickly removed the old paint.

After cleaning all the coin door parts with a dry cloth I then applied a non gloss spray paint.

I draw a rectangle in the cabinet front cover and then cut it with the jig saw.

Step 12: Computer

This is the computer I bought for the cabinet:

Brand: Compaq Deskpro (refurbished)
Processor: Intel Pentium III 650Mhz
RAM: 128Mb
Disk: 10Gb
Operating system: Windows 2000

I used a crossover cable to copy the MAME software, the frontend and the roms from my computer. 

I installed Windows 2000 but I think that Windows 98 is a good choice too because the startup screen can be easily changed and the startup speed is much better than w2k.

Step 13: Frontend

I decided to make my own frontend because I couldn't find any just as simple as I wanted.

I found the template somewhere in the internet (I cannot remember where, if you do please e-mail me and I'll give the credits here)

Frontend summary:

    -Created with Visual Basic 6.0

    -Tested with MAME 0.84

I designed the frontend to be fully functional with the control panel by using this configuration:

        Up and down: scrolls game list one by one

        Left and right: go to the previous or next initial letter of a game.

        Player 1, button 3: displays a keyboard grid that allows to type some letters of the game name and go directly to the list position of the game that starts with that letters.

        Player 1, button 1: starts the game

        Insert coin button: adds a credit

        Player I and II start: starts the game (for 1 player or 2 players of course)

        Escape button: quits the current game. Closes the keyboard grid. Has no effect when is pressed in frontend (in other words, the frontend cannot be quitted from the control panel).

The font type and size was customized to be nicely displayed on a standard TV screen.

Step 14: Artwork

I took the "defender's" background and added the word "arcade" and some arcade characters downloaded from localarcade.com

In the future I plan to add more artwork on the cabinet sides, maybe creating it with templates and spray painting.

Hope you enjoy this project as I did by building it.
Please comment if you like.


<p>Thanks for a well written instructable. This will help me a lot with my MAME project. A really nice looking cabinet! </p>
Thank you CrazyBill!!
<p>Really nice build. I am planning to do something similar too. I am a programmer, and I also want to make my own front end. Could you please give me some info about how you did it? ( I do know vb6 as well)</p>
<p>Hi JackM36,</p><p>I read the gamelist file generated by Mame and then displayed it in the screen<br>When the user choose a game, call the mame.exe with the game name as parameter along with other ones (like fullscreen display, etc). Basically what I do is to call command line mame.exe with parameters, with shellexec32</p><p>Anyway, as I mention before, there is a much better frontend than mine called MaLa which has many cool features.</p><p>Thanks for your comment and good luck.</p>
Thanks for your reply, that was very helpful. I know about MaLa and other cool front ends, I am just the kind of person that like to do things myself. I also enjoy the challenge of doing things I never tried before! :)
Hi Crusso. Great instructable. You can use a router to cut a hole in MDF and get a smooth edge for the bezel. If you setup a jig with a straight rule to control the router its actually quite easy. Youtube has a lot of videos and this is how I learnt.
Hi WildMan, <br>Thank you for your comment, <br>I have a router now but not at the time i built this arcade machine. You're right, it would be much better with a router. <br> <br>Regards.
Great instructable, Carl..<br>Here is mine I am making..<br><br>It is a MIME, PINBALL..<br>
whats mime
Sorry, it suppose to say:<br>Mame<br><br>Multiple Arcade Machine Emulator
thanks for the info
Wow, that looks really cool. You should post an instructable or at least a video when you're done. It looks amazing,
Awesome gonna build asap <br>
thats cool might make this for the kids put there xbox 360 in it
Awesome job, Carlos. You did very well making this from scratch, without blueprints.<br><br>I would be a little concerned about using fiberboard, if your operating environment has moisture. That's not a problem for you maybe, but on a basement floor (even if it is &quot;dry&quot;) it would be an issue. Fiberboard just wicks up any moisture it can get. Rubber feet will help, raising it off the floor.<br><br>I would love to build one of these, but in a cocktail format cabinet.
I totally agree with you. The MDF is not the best kind of wood to do this... I'm currently building a new pacman-style machine, with other kind of multi-layer wood (i don't know how to spell it in english :) like this one:<br><br>http://centrocarpintero.com.uy/imagenes/placas/multiplaca%202.jpg<br><br>Thank you for your comment, hope to hear about your cocktail cabinet soon!
If that saw blade driven by a drill lol
That's no saw blade, it is a sanding disc!
that's right scottinnh :)
Im really new to this whole thing. Do you think you could some how explain exactly what to do for a fellow amature? Brilliant project by the way.
I dont get it ether
I don&acute;t understand your question, please let me know how can I help you.
Sorry ignore that comment I skipped the keyboard step. But would you make a list of all the games?
Hi!<br>For this project I installed mame 0.84. There are thousand games supported in this version, but i recommend you to visit www.mame.net to get the latest version much newer than this one. And if you wish to install a frontend to launch mame in a friendly fashion, go to www.malafe.org.<br><br>Thanks for your comment.
thats brill ! <br>how much did that cost you to make?
hi, thanks.<br>you can see the complete cost list at http://www.carlosrusso.com/arcade/spanish/costs_sheet.htm<br><br>Thanks for your comment.
I don't suppose you'd post your marquee artwork as a downloadable file? And did you print it on regular paper or use some sort of transparency?
Not to be a stickler but that isn't a neon light. It's a florescent light. And a 13w florescent light is the same output as a 60w incandescent light bulb. But over all this is a great instructable!!!!!!!!!!!!!!!!!!!!!!
Hi Mikey, thanks for your comments. Yes that's right, it's a fluorescent light.<br>I live in Uruguay, here we have 220v AC. This bulb has a little transformer, so the bulb works with only 12v. Best regards! Carlos.
Yea I'm a electrician by trade (Many other trades under my belt too LOL) and I've dealt with a lot of voltages ranging from .01 vdc to 10k. a lot of the electronic ballast's for florescent fixtures take multi voltage inputs. I've been replacing most of my projects with LED so I don't have to change out builds as much. Good job on the project!
Might include a warning that #1 the input to it is 125 VAC and the output to the bulb (via the ballast) is around 8k-10k VAC so a electrical shock warning to all the users.
great work
Wow! very nice. I plan on doing 1 soon. great project. thanks for shareing
Thank you!
Thank you very much! I am just an amateur in woodworking, but I like a lot to build things and enjoy the whole process.<br><br>Regards!<br>Carlos.
You mentioned the image was flipped in the tv and did not look right. Just fyi there's a plug inside your tv called the yoke connector that connect to the large mess of windings on the back of the tube. There are only 4 wires on this connector so its easy to find, and it goes straight to the main board inside the tv. The four wires basically control the height and width of the image, and if each correspoding pair is reversed, they will reverse the image. Flipping it horizontally AND vertically will make the screen perfectly upsidedown. Your supplier may have only flipped it vertically which would have accounted for the &quot;mirrored&quot; image (which many of the old arcade cabinets used along with an actual mirror to reposition the video screen to a more natual position, while keeping the tv itself tucked away where there is more room).
Yes, that's right. The supplier did it wrong the first time and I went back and ask him to fix it.<br>He told me what you're mention, about the wires. He did it this way.<br><br>Thank you for your comment.
Wow, I am thoroughly impressed. I work as a gameroom technician for an arcade and I have to say your craftsmanship surpasses most of the arcade games that I work on that are from professional companies. My favorite part is the pull out keyboard tray, well hidden!
I like the finished product.<br><br>I especially like your keyboard controller hack.<br><br><br>You said &quot;Most of the older TV's in my country has composite (RCA) inputs and not s-video&quot;<br><br>Just so anyone trying this knows, there are MANY many many s-video to rca cables available. In fact, my last 2 video cards came with them, in the box. You can even hack one together with an old p/s2 cable, and an rca jack. Just a matter of hooking up the correct pins.
Hi ironsmiter,<br>thank you for your comment. I have another keyboard hack much simpler to be used on a 1 player arcade. I made it by hacking a keypad. Is much simpler and fits in a very little plastic cabinet.<br><br>I tried with many different s-video to rca cables but I got very poor results, that's why I decided to buy the xga unit.<br><br>Thanks!<br>Carlos.

About This Instructable




More by Carlos Russo:Darth Maul Star Wars latex mask Homemade CNC nut with thermo moldable plastic enclosure Homemade Arcade Cabinet 
Add instructable to: