I was looking for a spinner; unfortunately Tornado and SpinTrak are quite expensive, and you still need some sort of "housing" for them. I was looking for something more simple to hold in your hands like the good old paddles on Commodore and Atari
So I decided to try making one, based on an optical mouse.
Here's the result:
Just tested with Tempest and Arkanoid (lr-mame2003) and it works nicely (without any specific settings).
Concept is simple: a thin black cardboard disc rotates in front of the optical sensor of the mouse.
Used a microtraveller genius mouse (5 euro) + mini flanged ball bearing of the right size (10 euro) + cardboard + 3D printed knob ... and neoprene glue.
I've never been able to justify the price of a commercial spinner for my own cabinet. This is a fantastic solution! Well done.
celly last edited by
caver01 last edited by
Clever idea. I've seen ones made using the optical wheel innards of a mechanical mouse, but never one that works like this by creating a continuous moving surface in front of the optical sensor. I like it!
How's the performance? Does it continue to track if you really give it a fast spin?
@caver01 I have no experience with commercial spinners so I cannot compare.
The ball bearing provides smooth movement: not to hard and not too soft to turn the knob.
Initial tests with Tempest: If you turn it fast it will continue to track (but it will not continue to spin on it's own if your remove fingers).
With a different ball bearing or more sophisticated rotation support you may get "free spinning".
caver01 last edited by
@UDb23 Ok. I appreciate what you've done here. It's a simple and elegant solution. These little optical mice are cheap and ubiquitous. I could see someone taking this idea to the extreme with free spinning, weighted, and arcade panel mountable. My question is more about the "imaging" capabilities and how well the mouse can keep up.
Another idea on this theme would be to construct an analog joystick--take an inexpensive Happ Super for example and mount a black card on the bottom, then position the optical mouse underneath.
@caver01 This specific mouse is (supposed to be) 1200 dpi. I will do some more detailed testing next week to see how it behaves in different games and let you know.
Analog joystick... sounds interesting.
Made v2 of the spinner: changed the dial to get better connection with the flanged ball bearing and added a "cover" for the bearing (also 3D printed).
Tested both with lr-mame2003 and advmame: was recognized automatically and works fine.
I did some adjustment on sensitivity and found good values are around 40% for Tempest and 30% for Arkanoid.
FYI: found some useful info on Mameworld's Forum about Analog input options:
"Sensitivity is the scale factor to apply to the analog value. 100% means every OS analog change is sent to MAME. When using a trackball with a mouse encoder, you generally set it to 25% because a mouse counts 4x then the original arcade hardware. Another example is using a 1200 (300 teeth * 4) count spinner to replace the 72 count spinner used in Tempest. 72/1200*100 = 6%
Digital speed is used when you are using digital buttons to simulate the original analog control. This is how many analog values to change every frame. The sensitivity is also applied to this. So you generally set the sensitivity to 100% unless you want fractional increments each frame. eg Speed = 5; Sensitivity = 25% gives 50.25 = 1.25 analog change every frame. A special case of Speed = 0 gives 1Sensitivity analog change per button press.
Centering is used to simulate the auto-centering of a analog device when using digital buttons. This is the speed the analog value returns to center/rest when there is no button pressed during that frame. The analog change being calculated the same way as Digital speed. When set to 0, then no centering is applied."
@UDb23 Hi! Thanks for the interesting thread!
Also up for a spinner build with optical mouse.
Tried lr-MAME2003, but I can't seem to find the 'auto-center' option so I can not turn it off.
(Is this to edit in a .cfg file somewhere?)
This breaks my driving games as the positions centers after a static hold. :'( check vid here:
Wold be grateful if you could share..
- which core of mame being used
- MAME settings for the controls
- Any extra settings made in RetroArch?
Going insane here :'(
Cheers! (And thanks for letting me use this thread)
@gStAv As said in previous post I tested in lr-mame2003 and Advancemame.
I applied settings thru Mame In-game interface (access with TAB on keyboard if I remember well). Haven't tested with driving games so far. Will check over the weekend and let you know.
edmaul69 last edited by edmaul69
@UDb23 this is an interesting method. Its crazy what people come up with. For me i have a 2600-daptor to us atari 2600 peripherals. They make a trackball, paddles and a spinner (atari driving controller) for the 2600 so a cheap way to get all these peripherals if you arent using an actual arcade machine
@edmaul69 I recntly got an Atari VCS from ebay. Could be interesting to try the 2600-daptor, thanks.
BTW as a trackball I use an affordable PC USB kensigton one; still have to do extensive testing but works fine so far (missile command!)
edmaul69 last edited by
@UDb23 for more than joystick and paddles you need a 2600-daptor ii. Cost $5 more.
@UDb23 Thanks man! Lookig forward to your results.
Where did you buy the "mini flanged ball bearing" btw? :D
@gStAv Amazon: try searching "KFL08 8mm" on your local Amazon site.
@gStAv Tested both with Pole position I and II and I was surprised how well the spinner works (considering it's not a driving wheel). I confirm both games have an "auto return to center" as you show in your video but I have no problem at all during driving, keeps the correct input while curving.
I use the spinner as steering wheel with left hand and xbox gamepad for pedal (analog 2 - default setting) and high/low remapped from "space" to a gamepad A button.
@dankcushions: you did a great work with spinner support in lr-mame2003; thanks a lot !
Concerning mame analog settings for this game, I'm just using defaults as image below:
Super Sprint works fine too with spinner.
@UDb23 thanks for thesting pal! :D
Can you please test Out-Run too, as I find the autocenter kills the control of the car?
@gStAv Will do. Currently on top of a mountain (@2700 m). Snowboarding.