If you've ever played a fighting game on a home console for any serious length of time, you've probably been frustrated by the inaccuracy of the analog stick/d-pad. I tend to press the buttons pretty hard and after a while the controller feels creaky and loose, and the buttons feel all mushy. I then become less accurate and it becomes frustrating instead of fun. There's a reason the best fighting game players use arcade sticks. Accuracy. You can buy a quality arcade stick or build your own. I chose to build my own and I'll show you how I did it.
First of all, be prepared to spend $130 to $200 dollars on this project depending on how many of the various tools and supplies you already own. Also, there is some soldering and very basic carpentry involved. If you want to avoid the carpentry you can buy a pre-built case. By building your own case and doing a little soldering you can save some money though.
Choosing a Joystick and Buttons
Before you begin building you should decide on a joystick and buttons. I won't go into too much detail on all the different manufacturers. All you really need to know is Sanwa and Seimitsu are the most popular brands in arcade stick components. The most popular joystick is the Sanwa JLF. The second most popular joystick is the Seimitsu LS-32. Sanwa also makes the most popular buttons. Some people prefer Seimitsu's buttons because they aren't as sensitive and prone to accidental presses as Sanwa's. For my joystick I went with a Seimitsu LS-32 because the Sanwa JLF was sold out. For my buttons I went with Seimitsu as well because I didn't want my buttons to be ultra-sensitive and I read some good things about Seimitsu buttons. I got a chance to play around with an arcade stick that had Sanwa buttons and they did feel a little too sensitive for me. I'm very happy with the feel of the Seimitsu buttons. If you want to learn more about the different joystick and button options I recommend you browse the Tech Talk Section @ The Shoryuken Forums
Seimitsu LS-32, Seimitsu KN 30mm x8, Seimitsu PS-14-DNC 24mm x3 |
Basic Joystick Construction
Check out this diagram. This will give you an idea of how an arcade stick is put together. There are two types of buttons, snap-in and screw-in the screw-in type require nuts to mount. I chose screw-in buttons to help sandwich my acrylic glass and HDF control panel together.The joystick is mounted to the control panel with small nuts and bolts. The joystick has a metal mounting plate that makes this easy. Simply position your joystick where you want. Mark your control panel. Then drill small holes for your nuts and bolts. Install and tighten.
The PCB or printed circuit board is the central nervous system of the arcade stick. The PCB receives commands from the buttons and stick. It sends the commands to the console resulting in your character performing actions on screen. The PCB for this project can be purchased separately but the cheapest and easiest way to obtain one is by buying a generic gamepad and extracting the PCB. I'll go over this in more detail later in the tutorial.
The Controller Box
The Rubbermaid |
The Cuban |
The Strategist |
The PS2 |
The Economist |
The Swoosh |
As you can see, you can pretty much build your case out of anything. I think it's best if you build the case from scratch though, this way you can decide what materials and dimensions best suit your needs. I chose to build my case out of 3/4" thick pine. I went with pine because it was cheap and easy. It's not the nicest looking wood or the hardest but I knew I was going to paint then clear coat to protect the finish. If you're going to use stain instead of paint for a more natural look, pick a hard wood that you find attractive.
click to enlarge |
A few notes on my case design. I went with 3½" height because I found some pine boards that were 3½" x 3' that were pretty cheap. So all I had to do was cut them to length and that's it, no more cutting. I'm not an experienced carpenter and only have access to the most basic tools so this made it easier for me. You can go with whatever height you please as long as the components fit in your case. I could have probably got away with 3" in height though. That would have made for a slightly less bulky looking case.
My button holes for Back, Guide, and Start are 1" in diameter (to accommodate 24mm buttons). I wanted these buttons to be smaller than my main buttons. I placed these buttons at the rear of the joystick because I wanted to emulate an official Xbox 360 controller. Some people place these buttons along either side of the case for easier access. This button placement is up to you. Also, I ended up sanding these holes (a lot!) because I decided I wanted recessed buttons at the last minute. This step isn't necessary though.
You'll also have to make a little notch for the controller cord. I used a cheap knock-off Dremel tool (that I bought for ten bucks!) Why not make a wireless controller you ask? Because it's more of a hassle and you'd have to pop your arcade stick open every time you need to change the batteries (that, or devise a creative way to plug in the play and charge kit). It is possible to build a wireless arcade stick but I chose not to for various reasons. Also, on my stick there is no way to plug in a headset. There are ways around this but I wanted this project to be as simple as possible. Don't let me deter you though, if you want a wireless controller with a headset jack, it can be done. It's just more work.
Tools I used for this step:
- Miter Saw - you can use a table saw or circular saw too.
- Drill - with ¼" drill bit for the dowel holes, 1" hole saw for button holes
- Dremel - for making the little notch where the controller's cord comes out
- Sandpaper - for making my buttons recessed
- Dowels - ¼" wooden dowels, used to secure pieces together
- Wood Glue
Now you need to build the panel. This is where your buttons and joystick get mounted. Your panel needs to be big enough to accommodate all your buttons and joystick and there should be some extra room for you to rest your hands while you play.
Before you go any further, you need to decide on a panel layout. How do you want your buttons spaced? How many buttons are you going to need? There are many different panel layouts. The most popular layouts for fighting games are 6 and 8-button slanted layouts. I highly recommend you visit Slagcoin's Panel Layouts page. Print some of those samples out at actual size. Pretend to press the buttons on your print-outs and pick one that's comfortable for you. I went with what's known as an 8-button Hori layout. After you select a layout, print it out at actual size because you will be using it as a template for drilling holes in your panel.
I made my panel out of ¼" thick HDF (high density fiber board) layered on top of 1/8" thick Lexan sheet (similar to Plexiglas or acrylic glass). I cut the HDF to size with a miter saw and I cut the Lexan sheet using an inexpensive acrylic cutting tool. Make sure to cut an extra piece of HDF to serve as the bottom cover for your case. You can even use acrylic glass for the bottom cover so that you can see the wiring from underneath. I went with HDF for my bottom cover because it was my first time building an arcade stick and I wasn't sure how neat my wiring would turn out. *Important - I had to make a small groove on my bottom cover for the cord to stick out through correctly. I used my knock-off Dremel tool for this. This groove should line up with the cord notch in your case. Check out the picture below.
I drilled through the Lexan with spade bits and drilled through the HDF with hole saws. Some people layer the material then drill through both layers at once but this wasn't working for me. After you have cut and drilled your panel do a test fitting with your buttons. You may have to sand some edges to get everything fitting together properly and feeling smooth. Also, you may want to take this time to decide what artwork, if any, you'll be sandwiching between your acrylic glass and HDF panel.
Tips for cutting/drilling acrylic glass: Use an acrylic cutting tool and a metal ruler as a guide/straight edge. After a bunch of passes with the cutting tool you'll be able to snap the acrylic sheet where you scored it with the cutting tool. Use a spade bit for drilling the joystick and button holes. It helps if you drill a tiny pilot hole first. Clamp down your acrylic sheet on top of some spare wood to stabilize it. Use a very slow drill setting and slowly carve out a circle with your spade bit. This takes time and you must be careful not to scratch or crack the acrylic. I messed up a couple sheets before I got the hang of drilling through it.
panel support detail |
panel supports: top view |
Lexan sheet, various spade bits, acrylic cutting tool |
Tools I used for this step:
- Drill
- Metal Ruler
- Miter Saw - you can use a table saw or circular saw too.
- Acrylic Cutting Tool
- Spade Bits - 30mm, 1"
- Hole Saws - 30mm, 1"
- Dremel - with drum sander attachment to smooth out any rough edges
Sanding, Priming, and Painting
Now you are ready to apply primer. Make sure to follow the instructions on the can for best results. After priming, sand the case once more using a high grit sandpaper. Clean the dust with a wet cloth and let the case dry. Now you can apply the paint the same way you applied the primer. After the paint dries you can apply several coats of clear gloss enamel to protect the finish and make it shine. This whole process can take a few days. Take your time and be patient. Look on YouTube for tips on how to do all this if you need help.
Tools I used for this step:
- Sandpaper
- Wood Filler
- Spray Primer
- Spray Paint
- Clear Gloss Spray Enamel
Wiring
Next, we will begin wiring...Finally we put it all together...
Additional resources:
- Slagcoin's site - a wealth of knowledge on arcade stick building
- Lizard Lick - an awesome parts store located in the U.S.
- Akihabara Shop - another great parts store, located in Japan so shipping may take longer
- Byrdo's site - a true joystick artisan, look here for inspiration
- Electronics123.com - a great place to buy components, great prices and service
*Attention: this is a work in progress. I will try to complete this tutorial soon. I've been