Improved Easy DIY Tempest Spinner

by jesster88 in Living > Toys & Games

1605 Views, 6 Favorites, 0 Comments

Improved Easy DIY Tempest Spinner

Finished.jpg
tempestGame.png

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. My original design used a spinning drum to provide the weighted feel and sensing surface for a mouse. This improved design, although not weighted as much, has greatly improved responsiveness and reliability.

By using a spinning disc and wired mouse to sense left and right direction, the performance of a spinner can be comparable to the original Tempest Weighted Spinner. The outside edges of the Spinner Disc are 3d printed solid for increased weighted feel.

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 Improved 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. Two PiGrrl boards from Adafruit or plain proto boards.
  3. Eight 6mm x 6mm momentary push button tactile switches.
  4. Two 608 bearings.
  5. Twelve M2.2 sheet metal screws 6.5mm long.
  6. Thin wire. 24awg is fine.
  7. All of the 3d printed items.

3D Print Spinner Parts

Parts.png

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 Spinner Disc so that the optical mouse sensor will respond properly. I used black. The Spinner Disc should be printed with 8 walls to provide additional weight to the outside edges and additional strength to the stem. The infill density should be set to 60% and the infill pattern should be lines. This is not only for strength to maintain a flat and level disc, but it is also because the Top Layers setting in your slicer should be zero. Yes zero as this will expose a tightly arranged grid of lines that will improve the ability of the laser mouse to read position changes. Also, support is absolutely necessary to 3d print the Spinner Disc. Use the Outside to Inside settings on your slicer for best interface with the Spinner Knob.

Glue on weights available at any craft store can be added to the underside of the Spinner Disc surface for more weight if desired.

Disassemble Mouse

cheapmouse.jpg
IMG_20240613_100908344.jpg
mousePCB.jpg

Disassemble wired computer mouse.

Trim PCB

IMG_20240613_192510847_HDR.jpg

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.

Rewire the Cut Mouse PCB

IMG_20240614_073623242.jpg
IMG_20240613_195127867.jpg

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.

Mouse Lens

IMG_20240613_192510847_HDR.jpg

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

The Pushbuttons Are Connected in Parallel

PiGrrl.jpg
IMG_20251117_195450460_HDR.jpg

Solder a wire to a G connection point on each of the PiGrrl boards from Adafruit. Each board needs its' own pair of wires, they cannot share ground points and connect to the mouse board or they will not work properly. Next, strip 1/2 inch of insulation from a wire, slide it through the B3 connection on a PiGrrl board, bend the stripped wire over the B4, B2, and B1 connection points and solder the wire to B3, B4, B2, and B1. The result is that all four tactile buttons will now be in parallel with each other.

Using all 4 buttons in parallel under a larger button provides a button that will always respond regardless of angle of the button as it is pushed and provides a more stable feeling button.

Tactile Pushbuttons

PiGrrl.jpg

Solder the tactile pushbuttons to the PiGrrl PCBs or protoboards.

Mount the Pushbuttons

Pushbuttons.png

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. Note that two different heights of 3d printed pushbuttons are provided for those that prefer a tighter button or a more loose button.

Secure each of the PiGrrl boards using two M2.2 screws. Solder the PiGrrl board button wire pairs to the mouse board button connections as depicted in Step 4.

Secure the Mouse PCB

HotGlue.png

Secure the mouse PCB inside the enclosure so that the lens is facing the bottom of the enclosure using four M2.2 screws with the uncut edge of the PCB nearest to the bearing. Route the button wires along an inside edge of the enclosure and hot glue them down to be sure that they will not interfere with the Spinner Disc. Route the mouse board USB cable as needed and hot glue it down to be sure that no wiring interferes with the Spinning Disc movement. Insert the bearing into the enclosure and insert the Spinning Disc and verify that no wiring will touch the Spinning Disc before continuing.

Don't Forget the Bearings

bearings.png

Insert a bearing into the bottom cover.

Spinner Disc

SpinnerComplete.png

Verify that the Spinner Disc does not touch any wiring when spinning one last time.

Secure Bottom Cover

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


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

Press on Knob

knob.jpg

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.

Plug Into a USB Port

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

Using the Spinner With MAME

IMG_20240617_073007962_HDR.jpg
IMG_20240617_073028139_HDR.jpg

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. The responsiveness setting in Mame may need to be turned down and/or reversed in some cases. My responsiveness setting for Tempest in Mame is set to 5% which works well enough to not be jumpy while still being very responsive.