A number of arcade games used a spin knob (Tempest, Tron/Discs of Tron, Arkanoid, Omega Race). While most arcade emulators support using a mouse for these games, the gameplay is significantly enhanced if you can use a freely-spinning knob for input. Unfortunately, the only commercially available spin knob for the PC that I know about is built into the Logitech Wingman Warrior joystick, which is no longer being made. For those of us who either can't find one of these joysticks, or want to have a spin knob as part of an arcade control panel with arcade style buttons, there is an alternative - building our own.

Background

Authentic arcade spin knobs work on the same principle as modern opti-mechanical mice and trackballs. The spin knob/mouse ball spins a shaft that has an encoder wheel on the end (a disk with holes along the rim). There is an LED and a pair of photo-electric sensors mounted on opposite sides of the encoder wheel - as the encoder wheel spins, the photo-electric sensors receive pulses of lights from the LED through the holes in the wheel. The direction and velocity of the rotation can be determined by from the signals generated by these pulses. So, since most emulators already support mice, "all" we need to do is find a way to connect a spin knob to the mouse encoder wheel, and voila, we have a spin knob!

Materials

Here are the materials that I used for my spinner. By no means are these the only materials that can be used for this project (for example, you probably could use a trackball instead of a mouse) - they are provided mostly as a framework to share my experiences about what worked well and what didn't.

You will need:

You may also want to have:

Procedure

Again, I want to point out that there are many ways to do this - this is just what I did.
  1. Go out and get your materials. I bought a Dexxa mouse, a couple of arcade pushbuttons, some wire and quick connect terminals, a shaft extender, and a box to put it all in.
  2. Take apart the mouse (one of the screws holding the mouse together was covered by a sticker that I had to peel back) and take the circuit board out - you may need to take the encoder wheels off to do this, but they should just snap on/off. This is a good time to hook the mouse to your PC to make sure it works, and to get a feel for how the whole encoder-wheel mechanism works.
  3. If you are attaching arcade pushbuttons, solder the wires to the circuit board now, and crimp on your quick-connect terminals (you don't want to attach the ends to the pushbuttons yet).
  4. If you bought a mouse (like the Logitech models) that has a small circuit board, use a hacksaw to cut off the parts of the mouse casing that you don't need (the part with the mouse ball, etc). All you need is the part that the circuit board sits on, and the part that holds the encoder wheel in place (BTW, the encoder wheel is attached to the mouse casing in two places - you only want to keep the part that is near the LEDs, as the other end of the shaft will connect to your spin knob). Even if you don't have a small circuit board, you'll still need to cut away parts of the mouse casing so you can connect the X-axis encoder wheel to the shaft extender.  It's up to you whether you want to keep the top half of your mouse casing or not - if you glue it on, it probably will help to hold the circuit board in place, but it's kind of a pain to take it off if/when you want to make adjustments to the position of the encoder wheel. I got so tired of removing/regluing the top part that I just used a hot-glue gun to glue the circuit board to the bottom casing. If you choose to go this route, go ahead and glue the circuit board to the bottom casing now - avoid getting glue on any electronic components.

  5.  

     

    When doing all this, remember that you'll be using the X-axis encoder wheel (the one that spins when you move your mouse from left to right) - just make sure that there's nothing blocking you from attaching your knob/shaft to the shaft of the encoder wheel.

  6. Take your box and drill your holes for your knob/shaft, and for any pushbuttons you are using.
  7. Attach your shaft extender to the box, and put the mouse electronics in the box alongside it, about where you expect it to sit. Figure out how much of the shaft extender you need to cut off - it should be just long enough that you can mount the encoder wheel shaft to the end of it, and attach it to the mouse circuit board.
  8. Cut the shaft extender to the appropriate length, and drill a hole in the end to fit the encoder shaft into. Make sure that you drill the hole in the center of the shaft - if you don't, your encoder wheel will wobble when you spin the shaft.
  9. Mount the shaft extender to your box, and secure it by tightening the nuts, etc (geez, that sounds provocative ;-). Now you can put the encoder shaft in the hole you drilled in the end of the shaft extender, and glue it in place. You can also attach the knob to the other end of the shaft extender now.
  10. Now take your mouse casing/circuit board, and position it so the encoder wheel spins freely in the correct position when you spin the knob. You can run a test by plugging the mouse in to your PC, and spinning the knob - the mouse cursor should move smoothly from left to right.
  11. Take the styrofoam block and shave it down so it just fits between the edge of your box and the mouse circuit board. The idea here is that you can glue the styrofoam to the box, then glue the mouse casing to the sytrofoam with the encoder wheel in the correct position. If you do this correctly, the mouse circuit board will be securely mounted, and you can spin the encoder wheel to move the mouse cursor on your PC. It should look something like this. Here is another view. The hard part is now done!
  12. If you want to, you can glue the top of your mouse casing onto the bottom of the mouse casing. I don't think this is worthwhile, and it's much easier to make adjustments (say, if the encoder wheel comes loose from the shaft extender) if you don't have the top casing on there. If you glued the circuit board to the mouse casing, you are fine.
  13. If you have pushbuttons, mount them on the box now, and attach the wires to the correct terminals.
  14. Put the bottom on your box. Before you do this, you'll need to cut/drill a little notch that the mouse cable can fit through. I left a little slack in the serial cable inside the box, then tied a knot in the cable before feeding it through the notch - that way, if you accidentally tug on the serial cable, the strain is taken up by the knot, rather than ripping your circuit board loose.
You are done!

Please email me at drews-arcade_AT_aqualion.net if you have questions or comments.

Go back to Drew's Arcade Page

This page last updated on 11/5/1998