Introduction: Functional, Huge 100x NES Controller Coffee Table
The Nintendo Entertainment System (NES) was a landmark home video game console in its time, and still remains very popular and well-loved by video game enthusiasts with several games for the system now fetching hundreds or even thousands of dollars to the right collector.
The regular controller is small enough to fit in one's hand, but some of us like to dream big. If you make it big enough, it might even require two people to operate! The controller replica described here is approximately 100 times the size of the original NES accessory, and if you follow the instructions just right, you'll have something that works, looks amazing, and might get you free entry into gaming conventions for the rest of your life. ;)
For those of you who consider yourselves to be prolific at painting and accomplished at assembling, you should view all these steps before starting and possibly rearrange them as you see fit in order to minimize time-consuming rework. This was a laborious undertaking spanning weeks of effort between two people.
You Will Need:
65-80 hours of working time
(Note the quantities of paint you need will depend on how thick you apply how many layers, and how many times you mess up)
- Safety goggles
- Respirator (filter mask)
- 2 pieces of 2' x 4' x 3/4" MDF (medium-density fiberboard)
- 2 pieces of 2' x 4' x 1/8" HardBoard
- Palm sander (optional but highly recommended)
- 80-grit sandpaper (both in plain sheets and for the palm sander)
- ~320-grit sandpaper (both in plain sheets and for the palm sander)
- 2 cans of White spray thick primer
- 5 cans of Rust-Oleum "Winter Gray" gloss spraypaint
- 2 cans of Rust-Oleum "Black" semi-gloss spraypaint
- 1 can of Rust-Oleum "Dark Gray" gloss spraypaint
- 1 can of Rust-Oleum "Apple Red" gloss spraypaint
- 3 cans of Rust-Oleum clear spray-on lacquer
- Black High Gloss Enamel
- Empty Condiment Bottle
- Blue painter's tape
- Tape-n'-drape (or plastic sheets)
- Painter's tarp
- Plenty of 26AWG gauge wire (50 feet should do)
- Wire strippers/cutters
- 10 nice push-button switches (150 grams or more of actuation force)
- 1 NES controller board, perhaps harvested from a knock-off NES controller
- Soldering supplies
- soldering iron with tip suitable for electronics
- rosin flux
- At least 2 but preferably 3 that can clamp something at least 2 feet wide
- At least 2 but preferably 3 that can clamp something at least 4 feet wide
Table legs, leg plates, and mounting screwdriver(s) for screwing in the leg plates (might want a power and a manual screwdriver)
Legs we used: http://www.homedepot.com/p/Waddell-WAD2678-1-5-8-...
Mounts we used: http://www.homedepot.com/p/Heavy-Duty-Top-Plate-2...
- CNC table router, with the following suitable bits:
- 1/4" ball nose
- 1/8" end mill
- 1/4" end mill
- 3/8" end mill
- 1" 90° V-bit
Before you dive in, here are the steps you will be undertaking:
- Cut out the NES controller and buttons on the CNC table router.
- Cut various simple pieces with the table saw and the drill press.
- Cut out the paint stencil on the CNC table router.
- Apply primer to the buttons and the top side of the controller.
- Make the wiring.
- Put on the sides.
- Finish the sides.
- Bonus Points - make it a table.
- Glue down the Button Switches.
It is advised that you wear your safety goggles and respirator whenever you are dealing with cutting or sanding anything, especially the MDF, as well as applying paint. This basically means you'll be wearing these items an awful lot while you build the controller.
Step 1: Cut Out the NES Controller and Buttons on the CNC Table Router.
This part took about 5 hours to do initially, but could go much faster with some of the tips shared below.
Since the pattern takes up the entire 4' length of the MDF, it is extremely important that your piece is perfectly squared up with the axes of your tool. The best way to do this is to turn on the laser centering tool on your table router.
Whaaaaaaat? Where do I get one of those? How can I afford one? How do I get it in my house?
No need to worry about any of this! Hopefully you live nearby to a Makerspace or a Hackerspace. These are spaces where enthusiastic DIY-minded folks come to mingle, work on projects together, and pool their money from dues and special donations to house and fund big, expensive things like table routers. For access to the table router at the Dallas Makerspace, all you need to do (besides becoming a member) is take a ~4-hour class and then pass a proficiency test on the tool before one of the trainers. (And then don’t forget your keys to unlock the control pendant. :-P)
Anyway, assuming you have a table router nearby, lay down strips of tape (masking or painter's preferably) on the sacrificial material or table bed beneath where you intend the edges of the MDF sheet to go. Move the laser back and forth along your tape strips, and then mark with a pen exactly where the laser falls on the tape. I made two pen marks on each of three strips of tape set along the 4' side, and then two pen marks on each of two strips of tape set along the 2' side.
Once your markings are made, set the sheet of MDF down right on the markings you made, and then when you run the tool, it should cut without any rotation or skew!
If your table router is compatible with the "MultiCam G Code (inch) (*.cnc)" type of G-code, then go to our GitHub repository and download the G-code files you need for this step. The file names begin with F1 through F4 and end with .cnc, and contain the type of tool to be used for that specific cut.
If you happen to use VCarve in your toolchain for making the G-code to operate your table router, then download this VCarve file: https://github.com/OpenBrite/giant-nes/blob/master/100x%20NES%20Controller.crv?raw=true This way, you can visually inspect the vectors in the CAD tool and make any desired adjustments before exporting them to G-code (or simply using the ones we provided above). (If you're in VCarve, note that the "Profile Top Edge" toolpath needs to be run last, after you've read the rest of this step.)
Important: Before you run the 3D phase of the milling (the file involving the ball nose mill), be sure to drastically slow down the feed speed of the tool. With the MultiCam router table at the Dallas Makerspace, it normally feeds so fast and so deep that your material could possibly shift around, and that would mess up your 3D cut. You don't want that! Slow down the feed rate so it can cut away more material before it tries to make drastic moves, and it will have a better chance of milling out the contours nicely.
On said MultiCam router mentioned above, you can control the feed rate through the hardware control interface (pendant). The G-code is set to run quite quickly because once the deep holes are plunged, watching the rest of the 3D parts get milled is like watching grass grow, and you want that part to go fast. Thus, as the cuts get more shallow, manually adjust the feed rate higher.
Don't forget to FOLLOW ALL SAFETY INSTRUCTIONS for operating your table router. It is out of scope of this guide to discuss safety precautions, so if you don’t know them, please get assistance. Always watch the mill and keep the Emergency Stop button within a finger's distance; I cannot be held responsible for damage to your equipment should something go wrong. You should do a "dry run" of the G-code to see in what order it will run the cuts. For the 3D parts, it will cut the whole D-pad first, then button B, then button A.
Once all the front-side milling is done, flip the controller face over by pivoting it on one of the short edges so the details are now facing the table and the D-pad button pocket is on the right side of the piece. You will now mill out a path for the wiring and a pocket for the controller PCB. Be sure to line up the controller face on your guides once again.
If your table router is compatible with the "MultiCam G Code (inch) (*.cnc)" type of G-code, then get the files from our GitHub repository beginning with B1, B2, and B3.
If you happen to use VCarve in your toolchain for making the G-code to operate your table router, then download this VCarve file: https://github.com/OpenBrite/giant-nes/blob/master/100x%20NES%20Controller%20Back.crv?raw=true
Once again, it is advised to do a dry run of your cut before actually milling!
When the back-side milling is complete, now you need to separate the actual controller part from the Select & Start buttons you just milled, and actually make the controller the proper height. To do this, flip the controller face back around to the way it was originally -- D-pad on the left and front-side details facing up. Insert the 3/8" end mill bit into the CNC machine. Now, run the G1-NES 0375 Top line.cnc file, or if you're following along in VCarve, the "Profile Top Edge" toolpath.
Step 2: A Quick Stop by the Table Saw and Drill Press
This step should take about 5-10 minutes, and will get you four sides for the table (one with a hole to run the controller wire through) and the hardboard to go underneath the controller face on which you will mount the buttons.
It's possible you could get away with quickly cutting your side pieces while the table router is working on some long operation.
The way we did it:
This design required that we give "depth" to the controller. To do this, we cut the entire second piece of MDF into four equal ~6" strips along the long side (not counting the kerf width of the blade). Then upon realizing the short sides of the controller are less than half the length of one single long side, we took one of the 6" strips and divided it into two pieces of 22" length (and had about 4" left over from that strip). This left us basically three long sides. This was fine, since one corner of this MDF had gotten banged in and was ugly (so consider it an Extra in case you mess up on one of the sides).
Note that to properly make a 100x NES controller, the thickness of the controller would actually be more like 6.7". So what if we were a bit off; that won't be too noticeable!
The way you might want to do it:
Since you can cut the two short sides from a single strip, cut the second piece of MDF into three 6.7"-wide strips along the long (4') side so that you have three 4' x 6.7" strips. This should give you a leftover strip of about 4" by 48". Two of your strips will be used along the long edges. Take the third strip and divide it into two 6.7" x 22" pieces to make the short edges. Note that it can actually be a hair shorter than 22", but no less than 21 15/16". Any longer, in fact, will make it more annoying to sand down later.
Take one piece of hardboard and cut about 3 5/8" into the long side so that the short side now measures 20 3/8" (52cm). Check the hardboard against the controller face you cut out of MDF and make sure the hardboard does not overhang the controller face (or else it will be very hard to put on the sides later). Make adjustments to the hardboard as needed.
Once the controller face is done and has the wiring channel milled out, drill the hole where the controller will go into on one of the Long Sides cut earlier.
- Put the controller face upside-down on a table such that the wiring channel and PCB pocket are facing you.
- Along the long side of the controller face where the wiring channel goes off the edge of the controller board, place one of the table sides you just cut right next to that side and squared up with the controller face. The side needs to be upward, as if you are starting to construct a box. The table side goes next to the controller face, not on top of it.
- Draw where the wiring channel and the controller side overlap. Take a pencil and reach through the wiring channel so that you are drawing a box onto the table side corresponding to where to drill. When it comes time to thread your wire through, note that the controller port should exist on the other side of this pencil marking.
Don't forget to take into account the special considerations for doing this. It is important to note where the hole should be placed, which side the controller plug needs to come out of, etc. It's a lot of words to describe drilling a hole, but it's easy to mess up. Even I messed it up the first time and had to redo it.
Step 3: Cut Out the Paint Stencil on the CNC Table Router (or Vinyl-cutter or Laser Cutter).
This part should take a couple hours tops.
After you're finished cutting the main controller piece out and moved it off the router table, don't peel up your guides just yet. While you still have the marked tape down on your table router, put down the other piece of Hardboard or MDF right on top of those markings. Then, cut out the stencils you will use for painting the various letters and shapes on the controller.
If your table router is compatible with the "MultiCam G Code (inch) (*.cnc)" type of G-code, then get the G-code files for the paint stencil from our GitHub repository that start with S1 and S2 (for Stencil); remember the file names indicate the bits needed for the machine.
If you happen to use VCarve in your toolchain for making the G-code to operate your table router, then download this VCarve file: https://github.com/OpenBrite/giant-nes/blob/master/100x%20NES%20Controller%20Paint%20Stencil%20No%20Trademark.crv?raw=true
Note: While this project is licensed under Creative Commons, I do not have license to distribute any related trademarks. That is to say, unlike what you see in my pictures, these paint stencils do not come with the word "Nintendo" in them. It is up to you to add it in if you desire.
Don't forget to FOLLOW ALL SAFETY INSTRUCTIONS for operating your table router/vinyl cutter / laser cutter. You should also do a "dry run" of the G-code to see how and in what order it will run the cuts.
Step 4: SAND THE BEJEEZUS OUT OF EVERYTHING
This part took many, many hours.
Once you have everything milled out, you will want to sand down all the rough edges so that you have nice smooth buttons and so the button pockets don't have any ugly-looking excess material. It will also help the paint look a lot nicer when you are painting over the stencils. Perfectionist tendencies will lead to better results and you will want every little grain and strand filed off.
Besides filing down the faces and sides of every button to be slightly rounded (80 grit) and sanding the insides of every button pocket to get rid of leftover material (80 grit), it's also very important to sand down the surfaces you are going to paint (320 grit). This helps avoid the "orange peel" effect. However, as most of the controller has sort of a bumpy texture to it (except for the light gray edges), you may want some orange peel effect in order to replicate that texture at a large scale. Thus, you will still want to sand those parts, but there's no need to go crazy.
All parts and edges were sanded with 80-grit sandpaper and then finished with the 320-grit sandpaper.
Hours were spent sanding down the insides of every letter in the stencil, and even sanding the insides of letters like "A" and "B". Later, we learned not to bother with the insides of the letters; there is another way to paint "letter holes" which will be described later. For now, note that you can discard the letter holes.
When you made the paint stencil in the previous step, you noticed that the part for "SELECT" and "START" is actually made inside a rounded rectangle that should fit inside one of the rounded rectangles cut out to make way for dark gray paint. Try to fit this "SELECT START piece" into the appropriate spot. If it doesn't fit, make adjustments using a palm sander until it fits.
Step 5: Apply Primer to the Buttons and the Controller Face
Lay down a tarp, and spray primer onto the buttons and the controller face. Sand smooth with 320grit sandpaper. Be sure to apply the primer under the recommended environmental conditions, and let it dry for a while before applying your real paint.
Step 6: Paint
Once you have applied enough primer and it has dried, spray on the basic colors onto each item (2-3 coats of each color recommended).
First, put the piece of hardboard underneath the controller face. Spray-paint all of this black, including the hardboard that is showing. By painting the hardboard black, you'll make the switch pockets look nicer and more realistic. Now you might know that various edges of the controller should in fact be light gray, but you will come back to do that later. For now, apply a nice coat (or two or three) of black. (Our controller had two coats of black here.)
While your black paint is out, you could also paint the Select and Start buttons. We did 4 coats of paint on these buttons with sanding using 320grit sandpaper in between.
You might as well get the red paint out to start painting the A & B buttons. We did 4 coats of paint on these buttons with sanding using 320grit sandpaper in between.
Also, if you're going for a table, paint your table legs the desired color. We did two coats of light gray paint on the table legs so that they would match the sides and give a more seamless look.
Once the black paint has dried on the controller face, now you need to put on the dark gray rounded rectangles. Line up the stencil over the controller face. The D-pad and A/B button pockets are cut out of the stencil in order to help you align everything perfectly. Use painter's tape and plastic as needed in order to prevent overspray and to cover up areas where only red paint should go (for instance, over the letters A and B by those buttons. Hold down the stencil firmly while spraying the dark gray paint over the stencil. After you are done painting, carefully remove the stencil (helps to have 2 people here to lift it off vertically).
After the dark gray paint has dried, it is time to apply the red lettering. Cover up the parts of the stencil applicable to the dark gray with painter's tape and plastic as needed (especially where the "START SELECT piece" fits into the rounded rectangle), and expose the parts applicable to red paint (such as the letters A and B by those buttons). Hold down the stencil firmly while spraying the red paint over the stencil. After you are done painting, carefully lift the stencil vertically.
Being careful is important here. The hardboard is likely to flex as you pick it up, which could lead to smudging of these finely-detailed letters. Our letter "B" got smudged in this process, but luckily it was easy to fix.
There are two ways to fix overspray issues once the paint is dry:
- Carefully use a pocketknife/razor blade to remove any paint clumps around the edges of the letters.
- Trace over any areas where there is "fuzzy" paint due to the stencil not being pressed firmly against the work piece using a detail brush and some of the spray black or red (you can spray thick onto a paper plate and use that paint). Clean brushes with acetone or alcohol (depending on the detail brush). Try to match the texture of the main body of the controller.
Be sure to let everything dry and cure at least overnight!
If you are feeling ambitious, take the NES Graphics No Trademark .TIF file from GitHub and print it such that the printed letters are the same size as the ones you stenciled on earlier. The file should not require modification, but it might be worth double-checking anyway. Cut away at the letter holes (such as the insides of A and B) with an Xacto knife, then cut away the letters from the paper. Lay each paper letter over the painted letter and tape it down.
Spray the appropriate color of paint thickly onto a paper plate, and then take a detail brush and dip it in that paint. Press the brush into the letter hole and make dots -- the technique is more like stippling rather than conventional "hold down and drag" painting. Once you have made enough dots, your letter will now have a solid "letter hole" so your As, Bs, and Rs don't look weird. Remember to fill the A and B button's letter holes with black paint, and the As and Rs in "SELECT" and "START" with dark gray paint.
Really, the letter holes could be done any time before you lacquer the table -- I didn't do this until after the Bondo step. Just don't forget to do this.
Make sure your letter holes have enough time to dry too!
Step 7: Make the Wiring
Because this was the first time doing this, this was probably made into a much longer process than necessary.
Nevertheless, the most important part is (roughly) centering up the switches inside the button pockets, and then (roughly) measuring enough wire to connect both terminals on the switch to the PCB which will be placed inside the PCB pocket. Always err on the side of more/excess wire instead of less wire!
Place the PCB from a harvested Nintendo controller inside the PCB pocket. As you place the wires from the switches onto the controller PCB, consider which direction you want your wires facing in order to minimize bending and stress on the solder joints, as they could be very fragile. As you are measuring wire lengths, hold down one side of wire onto a switch terminal, and then hold down wire into the wire path until it reaches the PCB. Cut the wire to this length; don't forget to strip the ends too. Wrap one end of the wire around the switch terminal and solder it down. Take the other end of the wire and solder it to the PCB. Do this for each terminal on the 10 switches.
As you solder onto the PCB, note that one terminal of the switch should be wired to one side of the button pad etched out on the PCB, and the other terminal of the switch should be wired to the other side of that button pad. Electricity normally flows through the switch when a slightly resistive rubber dome makes contact with both sides of the button pad as etched out on the PCB. This takes a normally high or floating signal and grounds it out. For this controller, we do not need to worry about the original button pads etched out on the PCB, since now our own mechanical switches are controlling the same exact signals propagated by the wires you just placed down.
Also, since every switch is wired up to ground, consider using one big "ground pad" on the PCB as a place to connect one wire from each switch, or at least for those buttons lying a little too close for comfort to other circuitry.
Now, if you think you're hard-core, take the piece of MDF where you drilled the hole for the controller cord to go through. Carefully unsolder the controller cord from the PCB, and thread it through the hole in the MDF for the side piece. Re-solder the wires onto the PCB. The reason this is hard-core is because, from now on, you will have to move both of these pieces together. This is cumbersome and unwieldy, but it is the way I originally planned on doing it. If you're not feeling hard-core, I will explain how to thread the controller cord in later.
How it was done here:
We actually measured about 1 foot more of wire than needed, and then put the PCB outside the pocket and outside the controller face in general. This was simply to verify everything worked.
Unfortunately, after the initial test run, we let the switches get tangled up in each other, and when untangling them, some of the solder joints from wire to terminal actually broke. Some of the solder joints on the PCB broke, causing traces on the PCB to break too. What a hassle! When it was time for me to shorten the wires so everything would fit in the PCB pocket, almost every wire was unsoldered before cutting them to the new length, then re-stripped and re-soldered.
What you could probably get away with:
As long as you leave a bit of spare wire length to account for any mistakes you might make when stripping the wire, just cut the wire to be long enough to go from the switch to the right spot on the PCB inside the PCB pocket. Don't bother cutting the wires too long and then re-cutting them all later.
Once you're done, keep all the switches organized so they don't get tangled up in transport if you ever take them anywhere (even if somewhere close like upstairs). You can use some of the blue painters tape to hold the wires into the wiring channel.
Test the switches.
When your PCB has been hooked up to your switches, it is time to test everything out. Make sure the wires are planted firmly inside the wiring channel in the back, and place the PCB in the PCB pocket. Put the piece of hardboard you painted earlier on top of the back side of the controller, then flip it around so you can actually press the switches. Now, plug your controller into your favorite NES game and try it out!
If anything did not work, use a multimeter or electrical continuity tester to make sure one side of each switch is connected to its designated signal wire, and the other side is connected to ground.
Step 8: Put on the Sides
If all of your switches are working as expected, and you can play a game without any buttons failing to function, it is now time to glue on the hardboard intended to go beneath the controller face and provide support for the buttons.
First and foremost, secure your switches so they are out of the way. Hopefully you can use painter's tape to secure them somewhere inside the button pocket in such a way that they won't protrude from the button pocket. We don't want the switches taking the brunt of the weight later; it needs to be on the MDF and hardboard.
Once the switches are taken care of, do a test run to make sure your hardboard will fit nicely. With the controller face up-side down so the wiring channel is exposed, lay down the hardboard such that its painted parts lie right inside the controller face's button pockets. If the switches prevent the hardboard from laying directly onto the controller, then set them sideways or find something to prop the controller face up with. Square up the Hardboard's corners to the controller's corners. If some corners don't reach, that's OK. Just make sure the hardboard does not overhang the controller on any side, or else the sides will not attach well. If there's a side of the hardboard that overhangs the controller face, it may be easiest to trim down the hardboard with a table saw so the edges will be flush.
Apply E6000 glue liberally to the controller's back side. Carefully lay down the hardboard and square it up onto the controller's back side just as you did before. Make sure, again, that the hardboard is actually resting on the controller face and not the button switches. Also, do not glue the button switches to the hardboard at this time; that comes later.
Place something heavy on the hardboard, such as a shelf's worth of books, and let the E6000 glue set overnight to dry and harden.
Once the glue is dry, attach the sides. The sides are intended to go around the controller face rather than be attached to the back of the controller face. Since the long sides are just exactly as long as the controller is, then the short sides need to be placed so as to overlap the long sides and make everything flush.
If you did not take the "hard-core" route above, then you probably still need to thread the controller cord through the side panel somehow. How we did it was to actually cut away a small channel down into the hole we drilled, and pushed the wire through the channel. Now there is an ugly gash in the side of your controller, but we can remedy that later by using Bondo to fill it in. You don't even need to keep the piece that you cut away.
Once your controller cord is threaded through the side, it's time to glue the sides to the controller face. Make sure the surface you are working on is totally flush, and that nothing is underneath your work pieces to prop them up. Put glue (E-6000 and/or wood glue) on one edge of the controller face (carefully so as to avoid any excess getting pressed out), and then attach an edge piece to that edge in such a way that, when you do all four of them, you will have basically an open crate. It is helpful to use a nail gun to reinforce these edges and prevent them from falling down while you do the others.
Once you have all four edges glued down around the sides of your controller face, prepare the wood clamps and clamp down hard on the sides so they will attach strongly. If you can look at the painted side of the controller face, check for any glue that may have pressed up through the joint and try to wipe it away. It is very difficult to sand down the glue later, and will detract from the quality of your controller if it lingers.
Let the glue dry overnight. Once the glue is dry, take the wood clamps off.
Step 9: Finish the Sides, Do Touch-ups, and Lacquer
Despite your best efforts, the sides are probably not exactly flush with the controller face. Don't despair; that's why we have a palm sander and Bondo. Even if all the sides are totally flush, you will still probably want to Bondo the joints in order to hide them and make your controller face totally smooth.
First, mix your Bondo and apply it with a spatula/speader to the exposed joints on the controller face. Really press it into these joints so you can sand them down later and still have it smooth (rather than having the groove reappear). It is best to do this in a well-ventilated area because Bondo is extremely smelly. Apply the Bondo so that the controller face and edges are smooth (or at least there's a nice contour between the surfaces).
Wait about 3 hours for the Bondo to cure, then get out the palm sander and start going to town on the controller face to even out the Bondo and any sides that aren't flush. Start with 80-grit sandpaper on the palm sander to do the brunt of the work, then do one or two passes around the unpainted parts of the controller with 300-grit sandpaper so that the rest of the paint will look good when you apply it.
Cover up the painted parts of the controller face (i.e. the black/dark gray parts and red letters within the groove) as well as the table legs with painter's tape and plastic. Also, wrap painter's tape around the controller cord so it stays black. Paint the unpainted parts of the controller with light gray. We did three coats of light gray paint.
Remove the painter's tape and plastic from the controller. Pour some of the black enamel into the condiment bottle, and carefully apply enamel into all the milling details (such as the rounded rectangles around the A & B buttons, etc.). If any gets on to undesired areas, wipe it off with a wet paper towel quickly.
Once the controller is painted and all desired touch-ups are made cosmetically, it's time to lacquer the controller. For best results, spray the lacquer from a distance of 2 feet (~60 cm) away at low humidity. Put on no more than 3 coats, with at least 6 hours between applications to let the lacquer dry. If everything has set for at least 48 hours and there are still streaky spots in the lacquer, use a heat gun to even these streaks out. This is likely due to high humidity (and/or possibly temperature) during lacquering time, so do this in a dry environment. Be careful, as too much heat will crack the lacquer.
Step 10: Bonus Points - Make It a Table
There's nothing like functional furniture. Your friends will love coming over to play Nintendo on your giant coffee table controller. To attach legs to your controller, flip it upside-down so the controller face is facing the ground. Buy four square legs at whatever length you desire (e.g. instance 21” coffee table height or 28" for near regular table height). Screw the legs tightly into the leg plates.
If you attached the sides already, set the legs and their mounts in such a way that your power screwdriver can access all the holes that need to be screwed in. Then, use your power screwdriver to drive the screws as far as they will go into the hardboard and MDF. The screws from the recommended Home Depot kit will not go fully through the MDF, and any screw 3/4" or shorter in length should be fine. You may need a manual screwdriver to finish them off. Once the screws are in place, give the legs another twist to make sure they are indeed nice and secure.
Step 11: Glue Down the Button Switches
Make sure the buttons are removed. Place glue under each of the switches to attach them to the Hardboard, then quickly place the switches roughly in the center of the button pocket (or in the case of the D-pad, roughly under where you think they'll line up with the holes). Next, place the buttons on top of the switches (have fun squaring up the D-pad with its switches), and center them into the desired places and let them cure overnight.
It is also beneficial to cut out some small foam pieces to use as stabilizers under the buttons, particularly the A & B buttons. Otherwise, the switch might have a hard time bouncing back on its own, or the button could be pressed in at an angle and get caught on its way back up.
Now, your controller is complete and ready to be taken anywhere!