Introduction: Easy DIY Tempest Spinner

About: I've used an Ender 3 Pro 3d printer since 2018 to create electronics enclosures, retrogaming cases, repairs, and even figurines.

Playing Tempest on Retropie or MAME is a compromise unless you have a weighted spinner. Now playing Tempest can feel similar to the vintage Tempest arcade game. By using a spinning drum and wired mouse to sense left and right direction, the performance of a spinner can be comparable to the original Tempest Weighted Spinner. There's more background info on my blog.


This spinner may also be used with other games such as Arkanoid and Omega Race and even OutRun. Simply obtain the small list of parts and 3d print the enclosure parts and assemble to create your own Easy DIY Tempest Weighted Spinner.

Supplies

  1. An old wired optical mouse or a new cheap one. I used a “Surf Onn” from Walmart.
  2. PiGrrl board from Adafruit or plain proto board.
  3. Two 6mm x 6mm momentary push button tactile switches.
  4. Two 608 bearings.
  5. Two M3 screws 8mm long with hex nuts. Double-sided tape can substitute here in a pinch.
  6. Six M2.2 sheet metal screws 6.5mm long.
  7. Thin wire. 24awg is fine.
  8. All of the 3d printed items.

Step 1: 3D Print Spinner Parts

All items may be printed using PLA filament at 0.28mm Layer Height. However, it is important to use a dark, opaque color for the Spinning Drum so that the optical mouse sensor will respond properly. I made the mistake of 3d printing my drum using white PLA; so, I painted it gray for the sensor, which worked just fine.

The Spinning Drum should be 3d printed using a Wall Count of 25 for maximum weight on the outside drum walls and for a more solid drum shaft. Glue on weights available at any craft store can be added to the inside of the drum surface for more weight if desired.

The insides of the enclosure holes may have seam edges that will need to be filed or sanded down after 3d printing. Seam edges may also need to be removed on the Spinning Drum shaft.

More information on preferred 3d printer settings for each of the 3d printed objects is available on the Printables page for this project.

Step 2: Disassemble Mouse

Disassemble wired computer mouse.

Step 3: Trim PCB

Trim mouse PCB to a length of 52mm. This can be done using a knife to make deep cuts in the PCB and then using two pair of pliers to snap the PCB along the cut lines.

Step 4: Rewire the Cut Mouse PCB

Add new wiring for left and right mouse buttons and the thumb wheel. Note that the thumb wheel is polarity sensitive and that the mouse will not function without the thumb wheel connected.

Step 5: Mouse Lens

Be sure to secure the mouse lens to the PCB with double sided tape just as it was before disassembly.

Step 6: The Pushbuttons Are NOT Grounded

Isolate the button grounds if you are using a PiGrrl board from Adafruit. The back of the PiGrrl board is a copper ground plane and must be cut away from any button solder points. Verify that the button connections have no ground connection use a multimeter after cutting away ground plane connections. If you use a protoboard instead of a PiGrrl board, this step is unnecessary.

Step 7: Tactile Pushbuttons

Solder the tactile pushbuttons to the PiGrrl PCB or protoboard. Solder mouse button connections to each tactile pushbuttons.

Step 8: Mount the Pushbuttons

Insert the pushbuttons into their holes in the enclosure and mount the PiGrrl board or protoboard so that the tactile button tops are touching the undersides of the plastic buttons. Secure the board using two M2.2 screws.

Step 9: Secure the Mouse PCB

Secure the mouse PCB inside the enclosure so that the lens is facing the inside of the enclosure using the two M3 screws and nuts. Convenience access holes are provided in the back of the enclosure to make screw alignment and installation easier.

Step 10: Don't Forget the Bearings

Insert a bearing into the enclosure and one into the bottom cover.

Step 11: Spinner Drum

Insert the Spinner drum into the enclosure bearing completely. The D sliced shaft goes into the enclosure bearing.


Step 12: Secure Bottom Cover

Secure the bottom cover to the enclosure using four M2.2 screws. Be sure that the spinner drum tip inserts into the bearing and spin the spinner drum to make sure it spins freely.


A little blob of hot glue dabbed near each corner can help prevent the unit from sliding around on a surface.

Step 13: Press on Knob

Gingerly press the spinner knob onto the spinner drum shaft to avoid bending the shaft. Now spin the knob to check for binding and correct it if the spinner does not rotate freely.

Step 14: Plug Into a USB Port

Simply plug the unit into a USB port. It is still recognized as a mouse.

Step 15: Using the Spinner With MAME

Note that only specific Mame versions will use a mouse for input. Mame2003 and 2003 Plus work fine. The spinner response can be adjusted in Mame2003 under the Analog section titled Dial. Mame2000 does not recognize a mouse.