Building an arcade machine

MrVectrex
14 min readNov 19, 2017

--

The completed machine

So this is a sort of story/instruction guide on how I built a small arcade machine — a size often referred to as “bartop” (presumably because it’s perfect to have on top of a bar). It uses “MAME” to play my favourite arcade ROM’s and allows 2 players to play at once.

My son testing things out
Playing Donkey Kong 3

Background

I love the colour and cabinet design of the early Donkey Kong arcade machine from Nintendo, so I decided to copy that, but make it smaller and more convenient to have in a house. The pale blue sides and white edging really looked cool and screamed “retro” to me.

Let me tell you now, this was a labour of love: something I dabbled with from time to time then left for long periods. Consequently it took me nearly 2 years to complete. I made many mistakes along the way and if I did the build again I would change a number of things that I feel I got wrong.

Overall though, I am very happy with how this turned out and enjoy playing on it regularly.

Ingredients

I used the following items:

For the cabinet:
MDF board — in 2 thicknesses, 18mm and 12mm
Wood battoning
White T-molding
Perspex
Screws
Aluminium channeling — “L” shape and “U” shape
Spray paint (grey undercoat, gloss black and pale blue)
Cam-lock and key

For the marquee:
LED strip
12v adaptor
Inline switch (for the marquee light)

For the internals:
Raspberry Pi3
USB sound card
USB memory stick
USB extension cable+socket
2 joysticks + 18 buttons, cables and USB adaptor
VGA monitor
HDMI/VGA converter
4 gang power plug
Fused kettle-lead power socket with switch

For the sound:
5.1 system (sub-woofer and 2 speakers only)

Design

At the time I started this, there was no place to go on the net to get blueprints, and certainly no overpriced flat-pack models you could get online. I had however read with slack-jawed amazement an incredible build log by Neil McEwan, another retro arcade fan. This proved utterly invaluable to me during my build process.

To get started, I hunted around and found a site that had cabinet design details for the Donkey Kong I wanted to emulate.

Measurements and design for the original arcade machine

From this, I made a rather rough drawing of my own, with sizes, so I could get a vague idea of shape and design. You will shortly see how different the final panels ended up being compared to this initial drawing!

My (very rough) initial sketch and measurements

After this, the next thing I did was construct a rough cardboard model, taking my measurements from my initial drawing above. This showed me how things would look and allowed me to make some adjustments, and had the added bonus of meaning I had templates for the sides.

Side profiles and an early (and discarded) control panel

I drew around the templates onto 18mm MDF and then cut it out with a jigsaw, sanding things down until I had 2 sides that where as close to identical as possible. At this point I did not own a router, if I had, I could have cut one side with the jigsaw and used the router and a duplicating bit to cut the other, but instead had to cut 2 pieces by hand with the jigsaw instead.

I then attached wooden batons to the inside

All other MDF pieces where cut from the 12mm MDF and formed the front, bottom, top and back. I then cut batons of wood and screwed them to the MDF to allow me to attach everything together.

All the batons attached

Each of the 2 sides had to be a mirror image of the other, so that when the top, bottom, front and back where attached, everything was square.

Lots of “tests” where done to see how things looked

I ‘dry-assembled’ things regularly to see how they where looking and make sure things fitted as I expected.

None of this was screwed together yet

I had to buy a router eventually, to cut the grooves all round each side that where necessary for the t-molding to be hammered into. I also had to buy the correct bit, which was actually rather expensive, considering.

The router+bit. The bit was maddeningly expensive in the UK
The t-molding grooves now in place

Things where looking pretty okay at this point, so the next thing to do was screw it all together and make a solid cabinet out of all the pieces.

Front, bottom, top and sides all fixed with screw. Control panel and monitor mount still removable

I made sure I could still remove the monitor mount, control panel and lower bezel assembly as I was still not 100% sure this was all as I wanted it. The control panel in particular went through several iterations. At one point it was a single player setup, then a two player but with 4 buttons each. Finally I settled on a classic two player, 6 button config — you’ll see this later.

Test assembly with monitor and control panel in place

The monitor was an old Dell VGA LCD. I stripped the case completely off and was left with just the LCD panel, which had the VGA port and power plug still on it. This was much thinner and easier to mount than if I’d attempted to keep the plastic housing on.

I removed the case of the LCD completely — and trashed it

The perspex for the bezel, marquee and control panel proved to be a total pain. I had all my measurements right but the company I ordered from could not seem to manage to get these correct. It took 3 goes and lots of phone calls, email complaints and threats to get the actual pieces I ordered delivered. It took between 6 and 8 weeks to get this all sorted.

I used 2 pieces sandwiched together for the marquee and the same for the bezel and one piece mounted on the control panel to protect the artwork and provide a tough surface.

It’s very likely this picture shows the incorrect perspex!

I decided to make the back removable for access, and add a lock and key for authenticity.

The back panel, showing the lock and key

The LCD monitor needed to be mounted in a reclined position, so I created a “frame” for it that held it in place and allowed bolts to be put through from the back to ensure it stayed secure.

The 4 holes you can see in the centre of the frame allowed me to secure the LCD with bolts

It was around this time that I decided to test how well the speakers would likely work inside the cabinet. Bear in mind this was a 5.1 system with sub-woofer a friend had given me. The sub-woofer would fit inside at the back and I’d use 2 of the satellite speakers facing towards the front. Here’s a test video using an Atari handheld to get some sound going.

I was pretty happy with how it sounded, but I’d made a miscalculation (more on this in the section “Things I wish I’d done better”).

Next was filling, sanding, filling, sanding…repeat for many hours!

I used a type of filler that drove me NUTS by shrinking back

I used a tube of fine surface filler, but I bought it from Wilkinsons here in the UK, so it was cheap, and unfortunately, crap. Every time I filled a screw head, it would shrink back as it dried and require more filling. Don’t be a fool like me, use a decent filler!

The top was especially painful to sort out due to the poor filler

Time for spray painting. I used car spray paint bought from Halfords here in the UK — just regular rattle-cans. I totally misjudged my ability to spray paint properly and hence used way more cans of paint than should have ordinarily been required. I found myself spraying, getting runs or weird surface effects, sanding back and re-spraying more often than I care to remember.

Standard grey undercoat was used — this is the first coat

MAJOR PAINT TIP:

Please note and remember this when dealing with MDF because it was part of my learning process that I think you’d benefit from. You cannot, under any circumstances spray the edge of MDF board directly, no matter how smooth it looks after sanding. The paint will just sink in and the edge will look dull and rough and generally rubbish. What you need to do is paint the edge with PVA glue using a brush and let it dry. Then when you spray, the paint does not sink in and can be sanded back to a great finish.

After 2 or 3 coats of the undercoat and some wet-sanding to make it all smooth and lovely, it was time to mask off the sides and spray the bottom, insides, back and top in gloss black.

Mask things off, and spray the gloss black (bottom, back, insides and top)
Second coat of gloss black

Again, the gloss paint really took me ages to get right. I had never spray painted before and so holding the can the right distance with the right pressure on the nozzle was trial and error at first. This meant I ended up with runs that I had to allow to dry and then sand back and spray again.

Blue paint next — so it was time to mask all the black, leaving the front and sides clear for painting.

Ford Olympic Blue is the closest blue
Masked and coat number 2 of the blue has been applied

Once again I was caught out with how hard it is to get spray paint consistent. I learned that lots of thin coats was way better than a couple of thick ones. The thing to remember is that even if the coverage doesn’t look 100% after a pass, let it dry and apply another coat.

I wet sanded the blue and re-applied coats until I got it lovely and smooth. This paint came out just shy of gloss, not matt exactly, but something in between that looked good to my eyes.

Spray paint complete

Next I got the marquee light installed. This was some LED strip that uses 12v from an adaptor. I included an inline switch that can be accessed via the back door so you can switch the light on or off as you wish.

LED marquee light installed and working — black switch is at the back right
Close up of the inline switch

The marquee itself was a vinyl sticker I had printed and which I applied to one of the pieces of perspex, the other piece of perspex was used to sandwich this, giving a double thickness. Later, this would be the same approach I used for the bezel. The control panel had the sticker held in place behind perspex that was screwed to the panel — you’ll see this later too.

Donkey Kong marquee — Vinyl with adhesive
Vinyl sticker applied to the perspex of the marquee
Here’s a pic of the marquee in place and illuminated

I did notice that the marquee light could do with being a bit brighter, so I ended up gluing kitchen foil around the inside of the marquee area where the LED strip was. This helped quite a bit and made the light brighter, as intended.

Now, I must confess here, this is one of the few areas of the project where I don’t have any pictures for clarity, specifically of the aluminium channel I used to hold the marquee and bezel in place. This is a shame because the metal between the marquee and bezel actually requires Araldite to hold the 2 different pieces together — an “L” shape and a “U” shape.

The marquee was held in at the top with “L” shaped aluminium channel

This is probably the “best” picture I have of the glued “L” and “U” shaped sections for the marquee/bezel crossover.

A glued “L” and “U” shape section used at the top of the bezel and a “U” section used at the bottom

All aluminium sections came from Wickes here in the UK. They where sprayed with undercoat and then gloss black paint.

For the crossover between the marquee and bezel, the “L” shape was facing up and the “U” shape section was facing down, for the top of the bezel perspex to slot into. At the bottom, above the control panel was some more MDF facia, sprayed black, with “U” shape aluminium section screwed onto the top, for the bottom of the bezel perspex to slot into.

The final part of the exterior was the white t-molding. This is plastic that can be hammered into the groove cut around the edge of the 18mm MDF and which will finish the cabinet off perfectly.

You’ll need to soak the t-molding in hot water to make it more pliable and use tin-snips to cut some of the “T” away at corners and curves to make sure it fits.

Get a white, non-marking mallet for the hammering part, I got mine for a couple of pounds from Wilkinson in the UK.

T-molding in place
Be sure to start and finish underneath the cab, so any roughness is hidden

I started applying the t-molding underneath the cab and worked my way up the back and across the top, giving myself some time to practice before tackling the more complicated shapes of the front, and also to get the front looking as good as possible.

The curves at the bottom of the front edge where complicated

The control panel ended up with the 2 joysticks and 12 buttons. I moved 5 buttons to the strip at the very front, 2 on each side for coin and player select and one in the middle “just in case” — and for a “back to menu” button if I needed one.

Buttons in place for a test

I had to hold my breath while cutting the holes in the perspex for the control panel as I had it in my head it stood every chance of going very wrong — leaving me with cracked perspex.

However it worked out easier than expected and there was no damage. This was because I clamped the perspex between 2 pieces of wood and drilled through the entire sandwich.

Placing the perspex over the top of the control panel for a test

As I was going to put artwork between the control panel and the perspex, I didn’t bother to paint the control panel further than a good solid 2 or 3 coats of grey undercoat.

The control panel artwork was (poorly) designed by me and again, custom printed onto vinyl by the same company that did all my vinyl.

Vinyl art sandwiched between the control panel and the perspex and held in place with screws

The perspex was drilled with 8 small holes and some chrome, “flat-domed” screws used to hold the perspex to the control panel, sandwiching the artwork between. The screws where chosen so as not to dig into the edges of hands while playing.

More white t-moulding was applied to the front edge of the control panel to finish it off.

Control panel t-molding in place

As an aside, the joysticks are held in place from the underside of the control panel only and there is nothing protruding through to the outside. I was keen to have it this way to limit the number of bolts and screws that could get in the way of frantic fingers.

The final touches to the exterior was the side art. More vinyl stickers from the same supplier copied the original Donkey Kong side art perfectly.

Donkey Kong side art in place

Assembly of the interior components was the most exciting part and included putting in place the speaker system, the LCD monitor and the raspberry Pi itself. Wiring the buttons and joystick was time consuming and needed some care, but I found some instructions online that helped somewhat.

A peep inside the back

As mentioned previously, the sub woofer for the sound system is the largest thing inside the cabinet, and is screwed to the base of it so it will not move around at all.

The 4 gang power block is mounted on the back of the monitor for easy access. The plugs going to it are for: marquee, LCD, sound system and Pi.

The Pi is mounted on the side of the cabinet

I didn’t bother with extra cooling for the Pi, call me stupid if you like, but I thought it could probably cope. I’ll see of course, if the thing melts down during a future gaming session.

I did not take the option of connecting the headphone socket from the Pi to the sound system as this is notoriously bad sound quality. Instead I bought a very cheap USB audio card which had a mike and a headphone socket on it. This produces very clean sound and no crackles or hums can be heard, unlike if you use the Pi’s built in headphone socket.

The finished cabinet

Finally, it was complete. After many, many hours and lots of blood, sweat and (almost) tears, I could play the damned thing.

The cabinet has been allowed in the house

Things I wish I’d done better

If I was making this again, I’d certainly not make the following mistakes a second time:

  1. forget to put in any holes for the speakers. The sound worked so well during the tests I did as I built the cabinet, it never occurred to me to make speaker holes!
  2. the bezel covers up some of the LCD from certain angles. I had to have the Donkey Kong bezel around the monitor, and it would have been perfect if I could have got the monitor further back!
  3. read up and watch videos on how to apply vinyl. The bezel vinyl was literally the hardest thing I have ever done and I lost a pound in weight due to sweating buckets as I applied it…and screwed it up.

I can fix the speaker issue by adding a bass reflex tube to the back and some speaker grills under the bezel, above the control panel. I’m working on this and will get that done at some point.

Thanks must go to…

Neil McEwan — without whom I’d never have known where to start, or indeed, what “amazing” looks like. He gave me something to aim for, I almost made it ;-)

Find out more about Neil here: https://neilsarcadediary.wordpress.com/

Julian — for the speakers. I was stumped as to what I should use until he offered me the 5.1 system.

Alex & Christian — my sons, for their help in making and testing.

Get your bits from…

http://rockstarprint.co.uk/ all my vinyl art came from Paul Kay at Rockstar. He’s a great guy and really helpful.

https://www.ebay.co.uk/usr/extreme-hardware?_trksid=p2057872.m2749.l2754 I got my joysticks and buttons, wiring and USB controller from these guys via eBay.

https://www.arcadeworlduk.com for the t-molding.

Other stuff came from B&Q (MDF), Wickes (aluminium channel), Screwfix (router and nuts and bolts), Wilkinsons (mallet, filler, screws).

Go make one!

You don’t need to take 2 years over it like me, but you can make your own machine, be it a bar-top, cabaret or full size machine.

Feel free to ask me any questions…

--

--

MrVectrex

Developer, IT geek, gadget freak, maker, father of twins...