Introduction: Arcade Spinner

About: I took electronics in high school and have been tinkering ever since.

I assembled this arcade spinner for games like Arkanoid, Breakout, Circus, Tempest, and Tempest Tubes to name a few. Since this was a budget build my goal was less than $40 dollars. Even at a low price point I wanted this spinner to look good and function like a commercial spinner. After some research I settled on three parts. A rotary encoder ($20.31), a USB adapter ($9), and a heavy aluminum knob ($10.18). These three items come in just under $40 ($39.49) but the shipping cost ($5.99) for the USB adapter made the price just a bit over at $45.48. A commercial spinner like the SpinTrak ($107.98) is more than double my build cost. The commercial spinner has several advantages and would likely be worth the cost. Commercial benefits or not I was going to build mine on a budget. I was not sure my collection of parts would work but I was going to try anyway. With all the parts in-hand I assembled the pieces and it was a great success. I used a short length of 8mm rod (5/16" round bar will work too) with one end turned down to 6mm to connect the encoder to the knob. This homemade spinner works great and has the same unbeatable pulse rate of the SpinTrak. Plus feels great in the fingers while playing games


I purchased the following items from ebay:

  1. An incremental rotary encoder (Rotary Encoder)
    • 300 pulses per revolution
    • NPN output (open collector)
  2. A SpinTrak USB adapter (Ultimarc SpinTrak)
  3. A knob to control the spinner (44mm x 34mm x 25mm Aluminum Knob)
  4. Scrap 8mm or 5/16" rod to connect the encoder to the knob

Step 1: Wiring It Up

The USB adapter is the same adapter used by the Ultimarc SpinTrak. This adapter can also support two buttons. To wire the ebay encoder you will need the information on the side of the encoder and the pinout of the SpinTrak adapter. The adapter has two rows of pins the top row has 4 pins and the bottom row has 5 pins. The rotary encoder will connect to the top row of 4 pins. I installed female pins on my encoder leads and installed them into a 5 position connector. So after some more research I found a table and picture on the Ultimarc website which helped me get the wiring correct for my ebay encoder.
SpinTrak pinout

+5 volts = Brown

X2 = Green

GND = White

X1 = Yellow

Empty hole in the 5 pin connector

Note: The wire color and function on the side of the encoder may vary. Also if the rotation is backwards you can switch the position of the "A" and "B" phases to correct the issue. For example when the encoder is rotated clockwise and the mouse cursor (testing on a PC) moves left switch the location of the "A" and "B" wires and now clockwise rotation will move the mouse cursor right.

ebay Encoder

+5 = Red

B = White

GND = Black

A = Green

Empty hole in the 5 pin connector

Earlier I said the ebay encoder had the same unbeatable pulse rate as the Ultimarc SpinTrac and yet I specified a 300 pulse per revolution encoder. Let me explain. Encoders create a square wave output based on the number of lines the encoder wheel has. So 300 lines will make 300 pulses in a single revolution. But each pulse has a low to high transition and a high to low transition. So 300 lines will generate 600 transitions. Still not 1200 pulses per revolution like the SpinTrak right. Well there are two phases, SpinTrak has X1 & X2 and the ebay encoder has phase A & B. Since each phase counts 600 pulses there is 1200 pulses per revolution total. For this to work you will need a 2 phase encoder simply multiply the pulses per revolution by 4 and you will have the actual output seen by the gaming system (ebay encoder 300ppr * 4 = 1200). The SpinTrak does the same multiplication of the X1 & X2 to get 1200ppr.

Step 2: The Finished Product

All wired up and installed. It works great. There is no backspin, no slowdown, and it will free spin for about 5 seconds. The one downfall is there is no easy way to add a flywheel to increase the spin time. All I can say is it's so much better to play games with the controls they were meant to have. So much better than a joystick. So if you build this or buy a commercial spinner you will enjoy game play so much more. I nearly forgot to mention that the spinner will require a sensitivity adjustment (varies game to game). More information and game turn count can be found at arcade controls WIKI. Use the following equation to determine the required sensitivity (game turn count * 100) / encoder turn count. For example Tempest has a turn count of 72 and the encoder used in this instructable has a turn count of 1200. Therefore 72 (tempest turn count) * 100 / 1200 (encoder turn count) = 6 (Tempest Dial Sensitivity). To adjust the dial sensitivity in MAME start the game (Tempest) press the "tab" key , scroll down to analog controls, then scroll down to dial sensitivity, and change the sensitivity to 6. Exit and restart the game and you'll be playing with the new sensitivity setting. Good luck and happy gaming.

Made with Math Contest

Participated in the
Made with Math Contest