Arcade icon

How I built an arcade machine from scratch


I mixed old hardware with new materials to make a full-sized retro cabinet that fits in a small apartment.

Finished arcade machine

Everything started back in 2013 when I luckily won a starter kit from Make: Magazine with a Raspberry Pi Model 1.

Raspberry Pi kit

Since then, I was looking for something interesting to build, but it was more difficult than I thought.

I've almost given up when I found RetroPie.


This project allows you to turn your Raspberry Pi into a retro-gaming machine. So I made a quick test with some ROMs to check how it worked. It was effortless to have a working retro console with almost zero configuration.

Super Mario Bros. 3 running on RetroPie

It took me many attempts to setup RetroPie to make the most of it, but everything was worth it in the end.


When I had RetroPie running, I realized that I could fit everything inside an arcade cabinet.

I started looking everywhere for cabinets to restore. I only found costly wooden boxes in terrible conditions.

Most of them were:

So I realized that the only way to get the results I wanted would be by building my arcade cabinet from scratch.

In those terms, I was looking for something that was:

The plans

Right after I defined an ideal arcade machine, I looked for some information on building one.

I found Project MAME that provides open-source plans to build an arcade cabinet from scratch.

It holds a PC with a keyboard and everything. But it was also a good adaptation from old-school cabinets. The most important feature is that it fits a flat-screen inside.

One of the cabinets that came up from Project MAME was this beautiful Paper Mario themed arcade.

This maker improved the original plans to use only MAME controllers and to have a taller marquee. He also made available the side art and a SketchUp model.

3D model of arcade cabinet

I only had to modify the original plans' width by 2cm so the cabinet could fit an old 26" monitor that I've already had. I followed the rest as specified.

A model in cardboard

The first approach to test the elements' size and the position was making a 1:10 model in cardboard.

That way, I was sure that all made sense and checked if something needed to be adjusted or redefined, especially after the width modification that I had to do.

Model in cardboard

The model is 17cm in height and helped define the speakers' size and distribution.


Before I spent money on materials, there was a crucial decision to choose what kind of wood I should use: MDF, plywood, or particleboard.

I chose MDF, but if I knew how hard it was to clean up the thin powder result of sanding, I would choose another material. On the other hand, it was a very versatile wood: easy to cut, drill, and shape.

MDF boards

The materials I used trough the entire project were:

MDF boards (15mm):

Crystal-clear acrylic sheets:


First cuts

After bringing home all the MDF boards, I started drawing the shape in both laterals based on the plans. I've also used a pair of compasses to draw the curves.

Drawings on the board

I joined both laterals with paper tape to make only one cut. Then, using a jigsaw, I went from bottom to top. I always recommend moving with caution to stick to the line as much as possible.

Jigsaw Boards after cut

When I finished cutting, I learned some things:


I used 80- and 360-grit sandpaper. While the first one is a coarse grit for smoothing surfaces and removing imperfections, the latest one is a fine grit for finishing surfaces smoothly.

White sandpaper

After sanding all the edges, I achieved excellent results giving a rounded shape to the corners and fixing some mistakes I made during the cut.

Both boards sanded

One of the boards sanded

I later used the 360-grit sandpaper to smooth the surfaces between each paint coat.


I decided to join all the pieces with strips, glued and fixed with screws. That way, I had millimetric precision to position the MDF boards.

I cut a bunch of 4cm x 2cm pine strips to the size of boards they had to join.

4cm x 2cm strips

It's unnecessary to use glue when you're already using screws, but I decided to use it anyway to hold tight the entire structure. I've also made a bigger hole for the head of the screws to give the strips a better finish.

Holes in strips

I attached all the strips to both lateral boards using #6 x 1¼" golden screws and carpenter's wood glue.

Attached strips - both laterals Attached strips - top Attached strips - middle Attached strips - bottom

First assembly

I put all the pieces together to see the final shape and size. My first impression was to see a massive fridge inside my apartment, but it was improving as the project progressed.

First assembly First assembly top details

I started by joining the front and back panels with #6 x 1½" black screws but using no glue until I made the final touches.

First assembly middle details

I've also installed the bottom cover and attached two wheels to handle the cabinet around. I made a diagonal cut in both laterals to let the wheels lean on the floor when the cabinet is inclined.

A wheel installed Both wheels installed


I had an old Samsung T260n 26" LCD monitor that was perfect for this cabinet. In my opinion, an ideal size would be about 23", but I wouldn't spend money on a new monitor when I had this one at home.

One constraint was this monitor has no holes in the back to attach to a wall mount. But I found an unofficial mount that replaces the original base.


I installed the mount over a “T" board of 25cm x 62cm that I improvised to support all the weight it could handle.

T support

To make the maths to align the monitor, I made a paper doodle with the screen's size and installed it inside the cabinet.

Paper monitor Real monitor Installed mount, fixed inside structure

Using some strips leftovers, I cut two back supports for the monitor and two triangles to hold the acrylic cover.

Monitor batten supports Acrylic batten supports All the batten supports for the monitor area


It's plenty of controllers available for DIY projects out there. I bought a MAME kit which includes:

I did a little research about button positions in arcade cabinets. I found this complete article about the most common panel layouts.

The author of the article has also made his distributions based on all the controllers.

Joystick layout

I used a mix between some Sega layouts and tested it on a cardboard box.

Controllers mounted in cardboard

I drew the layout for both players on the MDF board and drilled.

Controllers draw in wood Controllers holes in wood - close Controllers holes in wood

Then I installed the MAME kit, including joysticks, 14 push buttons, 1P/2P buttons, and the USB board.

Installing controllers Controllers installed in the cabinet


I had a Genius 2.1 channel speaker system with a wooden cabinet that I bought back in 2007 with my first job. It has an exceptional deep bass.

he cardboard model was handy to make the first check on speakers' size and distribution. Then I used some paper stencils to make adjustments in the actual cabinet to find the perfect spot for speakers holes and grills.

Speaker holes

Besides the speaker system has only one subwoofer, I decided to make two holes to hold a 140mm computer case fan.

Bottom stencils

Attached cooler

Speakers installed

I found generic speakers grilles at


I bought some crystal clear acrylic boards to cover the monitor, controllers, and marquee.

Monitor cover

After sanding some edges of the acrylic board of 55cm x 62cm x 2.4mm, I attached it to the triangle strips and put some screws in the speakers' board's back.

Attachment to triangle strips Attachment to speakers board


I used two acrylic sheets of 13cm x 62cm x 4mm to hold a transparent print in between. I attached both sheets with four stainless steel clamps.


Controllers cover

I had to drill 18 holes in the acrylic sheet of 25cm x 62cm x 2.4mm for the controllers. So I decided to get one extra sheet to do some tests.

It was a perfect choice because the first experience of drilling acrylic was awful. The sheet melted down over the heat of the drill bit and gave uneven results.

Melted holes

Then I realized that using water keeps the drill bit and the acrylic sheet cold.

Drilling with water

It took nearly 10 minutes to make each hole, but I finished the job with a lot of patience.

Final acrylic holes


Paint kit

Wood putty

I covered all the screws with wood putty and sanded them until I got a smooth surface.



I applied white primer paint for MDF to the entire cabinet. That seals the pores of the wood and set a base color to apply another painting coats.

First coat of base paint Base paint

Black and white

I masked all except both laterals and one of the faces of the controllers' board.

Mask in black

Then applied Krylon Colormaster Gloss White to highlight the colors where later I'd place the printed art.

White spray paint White controllers

I used Krylon Colormaster Flat Black for the rest of the cabinet:

Black on top Black on middle

Black and white

Self-adhesive vinyl

The author of the Paper Mario arcade cabinet made available the side art. I printed it in vinyl and installed it on all the white sides.

Vinyl in controllers Vinyl in marquee

Vinyl in left side Vinyl in right side

Vinyl installed in right side Vinyl installed in left side


In these two years long puzzle, the last piece was the white buttons on both sides to play pinball games. Those HAPP buttons are extensions of some existing buttons. That's because every retro pinball game I installed uses those controllers as a standard.

Vinyl and pinball buttons installed in its final form Vinyl installed - front view