A fair amount of effort went into the control panel.  I tested several mock layouts on paper until I found one that I liked.  Slagcoin.com is basically the online bible of arcade button layouts, and I made full use of it.

I started by cutting out the six sides of the control panel box, and attaching furring strips to keep them together.  I screwed and glued the strips on, screwing through the MDF and into the furring strips (since the wood of the furring strip will do a better job gripping the threads at the end of the screw than the MDF).

Arcade control panel side boards.
Then I glued & screwed all the pieces together.  The top is not attached, since it will be detachable on the finished product.  And the back panel also isn't actually screwed on for now, because I need to be able to access the underside of the top panel to formulate some kind of latching system. (Ultimately, I never actually made a latching system, and the control panel simply rests snugly in place.  Having the back panel detached did help immensely with the wiring process, however.)

Arcade control panel box assembled.
The next step is to prep the top panel for joysticks and buttons.  I printed a full size version of my control panel graphics, and clamped them to the top piece.

Graphic template clamped to control panel top piece.
Then I center punched all of the holes.  I want these holes to be drilled as accurately as possible, so I'm taking my time.

Center punching button holes.
With the holes center punched, I removed the graphic template, and used a small drillbit to drill pilot holes.

Button and joystick holes pilot drilled.
Now to drill the holes for the buttons and joysticks using a 1-1/8" forstner bit.  I started with one of the joystick holes, since any mistakes will be covered up by the joystick washer.  After drilling a couple holes, I noticed that the bit was tearing chunks out of the underside as the bit came through the MDF.  So, I started drilling about 1/4 of the way through the bottom first, then flipping the board over and drilling through the top.  This seemed to go more smoothly.

For the joystick attachment, I needed to rout out part of the underside for the joystick mounting plate, because un-routed 3/4" MDF would only leave a tiny nub of joystick sticking out. First, I drew a square that matched the size of the joystick's mounting plate, centered on the joystick pilot hole I'd drilled.  I actually marked out the area I needed to rout BEFORE I drilled the 1-1/8" holes (and after I'd drilled the pilot holes).  This is because it's a lot easier to find the center of a tiny drilled hole than a 1-1/8" hole.  Then I simply routed out the area inside the square that I drew.  You can either do this with a fancy template, or you can just do it by hand (since nobody will see the underside of your control panel anyways).

1/4" deep joystick inset routed on underside of control panel

Unfortunately, because I didn't drill my pilot holes with drill press, where they exited on the underside was just slightly off-center from the intended locations.  Luckily, it wasn't enough to be noticeable up against the art.

Test fitting joystick and buttons on cutting template
Once everything is drilled, I filed the front two corners so they were rounded, and then used my router to create a T-molding slot around the front & side edges of the control panel (more details on how to do this in the "Putting It All Together" post that's coming up), and primed/painted the control panel black.

My control panel art was ordered from GameOnGraphix, along with my admin panel art.  I created my own art in GIMP, and used their custom design service. [Click here to download the GIMP art file for my control panel] The polycarbonate-coated material they use is terrific for this application, and it was easy to apply.  The art is basically a big sticker. Peel off the back, and stick it to the control panel.  I lined up the holes from the underside by shining a light through the art to make sure everything was in place.  It was slightly off-center when I first started to applied it, but I was able to peel it up and reapply it with no problems.

Lining up the control panel art
Once the art was applied, I used a sharp X-Acto knife to cut around the edges and inside the button/joystick holes.

Cutting the control panel button holes

Control panel art applied and fully cut to fit
On the underside, I carefully aligned the joysticks where I wanted them to be, and marked where the screw holes needed to be placed.  Then I drilled my 0.4" deep holes (carefully, because the wood is only 0.5" inch thick here) and inserted EZ-Loks to secure the joysticks.

Joystick EZ-Loks
Now to attach all of the buttons and joysticks permanently.  My buttons and joysticks were all bought from GroovyGameGear. The buttons are Arcade PRIME buttons.  I splurged on "premium" micro-switches for the main 8 buttons for each player (GGG no longer sells the "premium" switches, it appears), but they were louder than the standard switches.  So, I kind of wish I'd stuck with all standard switches.  Leaf switches would've been quieter yet.  The joysticks are OMNI2 joysticks which can be switched between 4-way (old games like Pacman only had up/down/left/right movement) and 8-way mode.  Because essentially any game with a second joystick was an 8-way game, player two's joystick is permanently in 8-way mode (I contacted GGG and they gave me a $10 discount to get it this way).

The joysticks are screwed into place with screws and EZ-Loks.  The buttons are simply hand-tightened using the nuts that come with them (I bought a fancy nut-tightening tool for the buttons, but it was totally unnecessary).

Button and joysticks secured
The wiring isn't particularly difficult, but it was tedious and very time-consuming.  All of my controls interface with the computer running the arcade cabinet using an IPAC-2.  You can either buy these directly from Ultimarc; or in my case through FocusAttack, which saved quite a bit of money on shipping.  You could also try one of GGG's encoders, the cheaper Xin-Mo encoder (found commonly on eBay), or one of the much cheaper (but much more complicated to set up) Arduino Leonardo boards.
Ultimarc IPAC-2 Encoder Board
My control panel is actually detachable, so I needed to be able to easily plug/unplug all of the wiring.  I did this by wiring everything through M/F parallel cables (one for each player).  I cut the cable in half and wired the individual wires from one end into the buttons, and the corresponding-colored wires from the other end into the IPAC.  Then I plug it all in by connecting the male and female ends of the cable.

Control panel wiring for player one

Unfortunately, the wires inside the parallel cables are ridiculously thin, so I needed to solder a short length of thicker 22AWG wire to each wire so I could hook it up to the IPAC's screw terminals and into the quick disconnects attached to the buttons/joysticks.

Parallel cable wire soldered to 22AWG wire (note the extra piece of shrink tubing on the thinner wire so the main shrink tubing had something thick enough to grab onto on that side)
At this point, all I needed to do was attach the T-molding (again, more detail on this in the next post; and you can see the T-molding applied in the photo at the very top of this post).  I thought I'd need magnets or a latch to keep the control panel in place, but it was clear that I didn't need any of this once I got everything assembled.

The marquee serves no real functional purpose except to look really freakin' cool.  Building this part wasn't exactly rocket surgery (although I had a couple struggles).

Basically, I needed a ceiling and a floor for the marquee.  These are just strips of MDF held in place by metal L-brackets (if I'd used little blocks of wood to attach them, there'd be dead spots on the marquee where light couldn't shine through the wood).  Then I added some scrap wood to the back of the marquee area where I'd mount the backlight.

Marquee Construction
I ordered my marquee artwork, along with the side panel and keyboard surface art, from Souldraw.  The marquee art is printed on Backlit PVC Film.  My art had some scuffing and air bubbles, but for the price, I'm happy with what I got from Souldraw.  I had the art printed with about an inch of buffer space around all 4 edges, so I could cut it to size and not worry about it being too small.

Marquee art, full side panel art, and keyboard panel art: $88.46 shipped from Souldraw.com
The marquee art is simply sandwiched between two pieces of Plexiglas.  I left the protective film on the piece of Plexiglass behind the art, since it helped to diffuse the light somewhat.

You can buy specialized arcade marquee brackets to hold the art in place, but they tend to be somewhat overpriced.  I used clear plastic corner guards that I picked up from Home Depot for about 8 bucks.

Plastic Corner Guard
These brackets have little dimples dispersed across them to help nail them onto walls, so I had to cut the brackets in such a way that no dimples would show up on the front surfaces.  There are a couple dimples on the top & bottom, but they're totally not noticeable.

With the corner guards cut to size, I clamped them into place with the art/plexiglass in position.  Then I drilled three small-diameter pilot holes through the top and bottom surfaces.  Using these holes as guides, I added EZ-Loks to the cabinet (I love these things!).  Then I widened & slightly countersunk the holes on the brackets so I could screw machines screws into them (much like I did with the wooden ruler on the monitor glass retainer).

Next, I painted the inside surface of the brackets with black spraypaint, and then covered the dried paint with tape to protect it from scratching.  This gave the brackets a nice, glossy, black finish.

Now I needed to light my marquee.  

The LED Tape I Eventually Found to Light My Marquee
First I tried a fluorescent light fixture, but it was too big for the space I'd left.  Then I tried LED tape powered by an AC adapter, but every adapter I tried caused electrical interference with the sound system in my cabinet.  I eventually found USB-powered LED tape that worked great.  Also, since it's USB-powered, it automatically turns on and off with the PC powering my arcade machine.

Completed Marquee (Note the Flaw on the Lower-Right Corner)
The screen area is made primarily of 1/2" MDF, with several trim pieces to keep a glass panel in place.

I started by taping several pieces of paper to cover the entire screen-area on my monitor.  This gave me a template to cut the hole for the monitor in the MDF (below isn't my actual monitor, but it shows the general idea of what I did).  After cutting the hole, I used my router to put a nice, rounded bevel on the cutout.

Cutting Stencil for Screen Cutout

For the top edge, I attached a strip of 1/2" MDF. I previously routed 1/4" off the area where the glass would rest.  

Top Edge of Screen Panel

For the bottom, I have a similar 1/2" MDF strip routed to 1/4" for the glass to rest in.  I also added an additional trim piece which matches the bottom trim piece on the admin panel. This trim piece also serves to create a slot for the monitor glass to rest in.  On both sides, I glued a 1/4" thick strip of MDF, so the glass can rest securely on all 4 edges.

Bottom Edge of Screen Panel

On the back, I attached two pieces of scrap wood that help to position the monitor.  I drilled holes in these strips, and inserted some EZ-Loks which will hold plastic hangar straps to keep the monitor in place.
Screen Panel: Back Retainers

To keep the monitor glass secured, I used a cheap wooden ruler.  I sanded all of the markings and indentations off with my power sander.  Then I drilled & countersunk 3 holes to secure it to the cabinet.  To compensate for the angle of the speaker panel above the screen, I filed the back-top edge off from the strip so it could rest snugly against the speaker panel above it.  When everything fit the way I wanted, I painted it black to match the rest of the cabinet.

On the screen cutout, I drilled holes matching those of the wooden retainer strip I just created.  EZ-Loks and machine screws hold it in place.

Screen Panel Completed

I just realized that I've been seriously negligent on my arcade cabinet updates.  I actually finished it a few months ago!

Next up: The speaker panel.

First off, I created a template on 1/4" MDF to help me rout out the speaker holes.  The old butter dish gave me a round stencil for the cutout.

Measure twice; cut once.  Because I always measure incorrectly the first time.
Then I used this template to route out the speaker holes (and patched up the spots where the cruddy 40-year-old router I was using mucked up the panel).  I glued scrap MDF and furring strips to the back in order to keep the speakers properly aligned.

Speaker panel cut out with speaker guides attached
As you can see below, once the cabinet was assembled, I then used EZ-Loks & screws to screw some plastic hanger straps into the furring strips to keep the speakers secured.

Speakers secured in place.
On the front, rather than having some off-the-shelf computer speakers showing through the poorly cut holes, I wanted to give the speaker grill a more professional look.  I started by cutting a piece of 1/4" MDF to the size of the speaker cover I wanted, and then I cut holes for the speakers and the dials.

Speaker cover dimensions laid out on speaker panel and cut to size.
To keep the cover in place, I ordered some Parts Express grill guides off Amazon.

Parts Express Pressfit Speaker Grill Guides

With the cover still clamped as shown above, I drilled through both the cover and the speaker panel with a small-diameter drill bit.  This would ensure that the grill guides would line up correctly when I installed them.  I widened the holes to 7/32" on the speaker cover, and 11/32" on the speaker panel.  It takes a LOT of force to get these guides into the holes.  (Note: I recommend hammering these into place before you completely assemble the cab.  In my case, I waited until the cab was nearly completed.  When I hammered the female guides into the speaker panel, I ended up partially ruining the bondo patch I'd made in the joint between the speaker panel and the marquee panel.)

Then I primed & painted the cover black, and covered it using speaker fabric and spray glue from Parts Express.

To do so, I cut the fabric to size so it would wrap completely around the front and back (with the overlapping seam on the back, not passing through any of the holes in the cover). I sprayed the glue onto the back surface of the cover only, let it dry for a few minutes, and then wrapped the cover with the speaker cloth.  I cut the speaker cloth inside the hole for the dials, and wrapped it in a way that the cloth would adhered to the glue.  Then I hammered the grill guides into place, so they would also help keep the cloth tacked down on the back.

Speaker cover completed and installed
With the cover completed, I just pressed it into place on the cab, where I had already hammered-in the female speaker pins.
My cabinet has an administration panel below the monitor, which offers basic navigation functions for starting / stopping games.  It also has a 7" LCD that displays the controls for the current game.

First, I cut a 1/2" MDF sheet to the appropriate dimensions.  Then, I clamped a printout of my artwork to the MDF and I marked the centers of the buttons and the screen with a center punch (the picture below is actually from the control panel, but the same process applies).

Using CP/AP artwork to mark centers of buttons & screen
I also cut out a piece of Plexiglas to the same dimensions as the MDF.  While the art I'm using is actually quite sturdy and doesn't need Plexi to protect it; I want to keep dust and hands away from the LCD.

I drilled pilot holes through the MDF with a small drillbit where I center punched the button holes.  Then I clamped the MDF to the Plexiglas, and drilled through both at the same time using a 1-1/8" forstner bit.

I marked out the dimensions of the screen opening on the MDF, and roughly cut it out with a jigsaw.  Using a router (with straight-edged pieces of MDF clamped to my work as a template) I routed the final edges of the screen opening.  (I also had to use some MH Ready Patch to correct a router mishap, as you can see below).

Administration Panel with Plexiglass overlay
I then used my router to create an inset on the back that the screen could drop into.  This took a fair amount of measuring and fiddling with paper patterns, as the bezel is sized differently on each side of the screen.

NOTE: At this point, I ordered the final prints of my artwork online.  When they arrived, I discovered that their dimensions were slightly different than the printout I used to drill/cut my openings.  So, I actually had to re-do everything shown above (I also had to re-drill my control panel, which is covered in a future post).  The moral of the story is that I'd suggest either using your final artwork to mark where you want to drill/cut; or get a cutting template from the same printer where you'll get your final art from.

With v2.0 of my AP completed, I attached furring strips to the outside edges. These will be used to attach the AP to the cabinet's side panels.  I also attached some scrap pieces of MDF to the bottom edge, which will give me an attachment point for the bottom trim piece on the access panel.

Admin panel with furring strips.

I taped off (most) all sections that would be glued to other pieces of the cab, and primed the AP with Kilz primer (from a spray can).

Admin panel primed.
After letting it dry, I sprayed it with satin-finish black spray paint.  The only part that'll really be visible is the inside edge of the screen cutout, so I made sure to sand that section smooth with fine sandpaper between the primer and paint.  I also gave the front surface a cursory sanding, just to make sure the surface was adequately smooth to attach the art overlay.

Admin panel painted with painting tape removed.
After allowing a few days for the paint to fully cure, I attached the admin panel art, which I had purchased from GameOnGraphix.  By shining a light through the artwork, I was able to correctly align the button holes on the AP.  The picture below is from user EMDB at ArcadeControls.com, showing how it's done.  Luckily, if you're off by a bit on your first try, you can peel the art off the MDF and reattach it correctly.

Using a flashlight to align a control panel overlay.
Once the overlay is attached, I used a sharp X-Acto Knife to cut around the edges.  This actually scraped some of the black paint off the inside of the screen cutout, exposing the white primer.  This was easily fixed with a black Sharpie.

AP with art trimmed to fit
EDIT (10/19/2016): When I originally completed this project, I was disappointed by how hard it was to see this screen.  Since I was looking down at it from an indirect angle, it was almost impossible to read without stooping down so the screen was closer to eye level.  Almost a year later, I realized that I could greatly improve the visibility of the screen by flipping it upside-down, and then setting the video drivers on my PC to flip the image right-side up again. I had to do some awkward Dremeling on the back of the admin panel to get it to fit, but it's way better now.  So, be sure to check the viewing angles on your monitors before you mount them.  You might find that they look a whole lot better upside-down.

To keep the screen in place, first I cut a piece of 1/4" MDF to size and primed & painted it.  Then, I clamped it to where it would be mounted on the back of the AP, and drilled through both the retainer, and just slightly into the AP itself.

I wrapped electrical tape around all but 0.4" of a 15/64" drill bit, so that's the furthest it could drill (I don't have a drillpress where I can set the drilling depth).  Then, I drilled 0.4" deep holes into the back of the AP, and screwed EZ-Loks into the holes.  This allows me to screw/unscrew the screen retainer as many times as I want.

E-Z Loks attached to AP.
On one side of the screen retainer, I attached the PCB for the 7" screen using "L Type PCB feet" found on eBay.

AP screen retainer + PCB

On the other side, I attached the screen with Velcro tape.  Now, when I remove the retainer, all of the screen components come out in one easily-manageable piece.

AP screen retainer with attached screen.
Before attaching the AP to the cab, I had just one last trim piece to glue on using Gorilla Glue with plenty of clamps. (The top AP trim piece is actually a part of the main monitor bezel.)

Gluing trim piece onto AP.
The trim piece will be painted with the rest of the cab.  Aside from that, the administration panel is basically completed.

AP with screen showing sample control layout