The MacStick2
USB Rotary Joystick: Project #2

Like the other joystick I made, this joystick is for use in MAME, well, acutally MacMAME. The rotary joystick is for use in games such as Ikari III, Caliber 50, and Downtown. Of course it works well in any game that uses digital controls. I'm not going to go into a lot of detail here because there isn't anything here that hasn't been done before. Just check out Build Your Own Arcade Controls for just about anything you ever wanted to know about building one of these.

The last time I built a joystick, I learned a few lessons. Like don't use plexi-glass. It looks cool, but it can complicate things. And while gamepad hacks are easy to do, keyboard hacks give you a lot more options button wise. With that being said...

What the heck was I thinking this time around! I wanted to make something easier, not harder! I wanted to make a USB controller with a rotary joystick. Hmm... Sounds simple enough. Yah, until I actually started it.

My first mistake was to choose an Apple USB keyboard for the hack (not the newer ones, but the original tiny ones that nearly everyone hates). This would seem like a good choice since they're plentiful and cheap. And for the rotary joystick I bought an Apple 'hockey puck' mouse. Also plentiful and cheap.

The mouse wasn't really a problem, it was the keyboard that gave me headaches. As I described here, a lot of keyboards have PCBs where there are separate solder points for each key. Well, the Apple USB keyboard does not use a PCB for the key matrix, it uses two thin plastic sheets that are separated by another plastic sheet. The sheets lay over each other forming a matrix.

I thought about how I was going to do the hack for a long time. I came up with a number of ideas, all of which would be very time consuming and potentially expensive. Because of this, I decided that it would be easiest to just go with an I-Pac. However, I had already bought (and hacked up) the keyboard and I didn't really want to spend MORE money. So I went ahead with the keyboard hack anyway.

To make things worse, when I was drilling a hole in the back of the box for the USB cable to pass though, the drill bit scratched some of the etchings on the keyboard PCB rendering it useless. D'OH! I had to buy another keyboard and hack it up. And while soldering the wires back on I accidentally soldered some to different places than the original. Because of this I had to COMPLETELY rewire the whole thing! Argh!!

There is one thing nice about the keyboard though. The two USB ports let me plug the USB mouse into one of them. That way I only had to have one cable coming out of the box.

I'm not going to go into detail about how I did it. Let me just say this though: it wasn't fun, it wasn't easy, and it was very time consuming. Just look at the picture. Moving on...

The box was made out of 5/8" press wood that I got for free (and I got a lot of it too! Woohoo!). All the buttons, the joystick, and the T-Molding were from Happ. Everything else (connectors, contact paper, contact cement, screws, bolts, nuts, etc.) is just common stuff that you can get at any hardware store.

My original plan was to use this MK3 panel for the top, but I just wanted to get the thing done (I had this thing in the works for about a year and a half!), so I made a whole new one. I would have had to order more stuff too. I had spent enough money on this project already so spending more money just didn't appeal to me. The MK3 panel is also pretty big (it's a 2 player panel after all). I don't really have room for something that big right now.

For what it's worth, when I bought the MK3 panel, I didn't think the game would be emulated for several years. I was pleasantly surprised to see it emulated in MAME 0.37b5.

The reason I made a rotary joystick was because one of my favorite games of all time is Ikari III: The Rescue. Without a rotary joystick, the game is kind of hard to play. Happ offers a rotary joystick, but I (for some strange reason) decided to make my own. It actually wasn't too hard, just very time consuming. The bottom of the joystick (the handle part) needed to be drilled and tapped in order to attach the encoder wheel for the mouse. Other than that, the rest is just sheet metal, nuts, and bolts. There was a fair amount of trial and error in creating it, but it works great!

This summer I might build my own joystick since the Ultimate joystick isn't the most comfortable to turn. For the handle part I'll try to round up some hexagonal aluminum stock. Another advantage is that when I lathe the lower rod (the part that is below the panel) I can make a perfectly centered hole for the encoder wheel. Right now it's pretty good, but not perfect. Ahh. It's nice to have your own metal lathe =)

I used a total of 12 pushbuttons on the control panel. Six are for normal player one controls (Buttons 1-6 in MAME). From the right the rest are: escape, player one insert coin, player one start, tab, return, and F11 (toggles the FPS display). Any of the buttons can easily be changed in a few minutes.

Overall build time was around 40 hours and... umm... a lot of money. I don't really know how much I spent on the whole deal, but it was probably around $125. Was it worth it? I guess. It works pretty good, but there are lot of things I should have done differently. I already have a few ideas for another joystick in my head, although I have no plans on starting it anytime soon.


The duct tape on the lower left was only temporary. The T-Molding was
starting to come off so I reglued it and also nailed it down in a few places.


You'll notice the top is on hinges for easy access to it's guts.

Updated 03/31/01

Home