This is a DIY illuminated arcade cabinet spinner.
Estimated costs are less 10€.
BOM:
- ITR9608 2x (0,40 €)
- WS2811 5mm 4x (1,00 €)
- Arduino Pro Micro 1x (3,00 €)
- Ballbearing 8x22x7 mm 1x (1,00 €)
- M5x16 screws 6x
- M5 nuts 6x
- M3x16 screws 5x
- flat ribon cable (3 wires, approx 50cm)
3D printed parts (approx 60grams material):
- tos_base.stl (transparent material, 50% infill)
- tos_core.stl (transparent material, 50% infill)
- tos_knob.stl (transparent material, 100% infill)
- tos_flywheel.stl (transparent material, 50% infill)
- tos_encwheel.stl (black/ nontransparent material, 50% infill)
- tos_tool.stl (any color, 50% infill)
Video with building instructions on YouTube:
https://youtu.be/xyOA1leHPJQ
Wiring:
The ITR9608 consists of a phototransistor and an integrated LED. The phototranistors ground needs to get connected to the arduinos ground, the phototransistors signal line to arduinos IO-pin 2 or 3. The integrated LEDs cathode need to get connected to the arduinos ground and the anode to 180 Ohm resistor which is connected to arduinos 5v pin. Note: check the tiny imprint on topside of the ITR9608.
Additional wiring for optional addons as supported since firmware version 2:
- a second spinner is also supported by the new firmware. Just add the two ITR9608 for the second spinner analog to the first one, but use IO-pins TX0 and RX1 (instead of 2 and 3)
- by connecting IO-pin 7 to ground, the spinner which is connected to TX0 and RX1 will move the X-axis, disconnect pin 7 from ground and the same spinner will move along the Y-axis (changes to the setting will become effective after disconnecting/ reconnecting the USB cable).
- by connecting IO-pin 8 to ground, the spinner which is connected to pins 2 and 3 will move the X-axis, disconnect pin 8 from ground and the same spinner will move along the Y-axis (changes to the setting will become effective after disconnecting/ reconnecting the USB cable).
- connect some (daisy-chained) NeoPixels to 5v, ground and IO-pin 5 and the NeoPixel at address 0 will become color animated according to the speed of the spinner connected to pins 2 and 3: color fades from blue (no motion) over pink to glowing red (maximum speed). Same color animation for NeoPixel at address 1 according to the speed of the spinner connected to IO-pins TX0 and RX1.
- as side effect of supporting two spinners that can be configured for x- and y-axis, it is now also possible to use controller and firmware as input controller for track balls.
Firmware and Controller:
The file tospin_fw.hex contains the firmware that needs to be uploaded to the Arduino Pro Micro. Use ArduinoBuilder or AvrDude for upload of the firmware:
http://arduinodev.com/arduino-uploader/
Once the firmware is uploaded, the Spinner will be automatically recognized as USB Mouse by any OS that supports that type of hardware.
Important Note:
There are a lot of different Arduino 'flavors' out there. But it must be a version based upon ATmega32U4 (Arduino Pro Micro, Arduino Micro, Arduino Leonardo). Based on that and due to the small form factor, Arduino Pro Micro ist highly recommanded.
Update 09.01.2017:
Uploaded a short demo video to YouTube:
https://youtu.be/WCIApuEYZXw
Update 16.01.2017:
Did a new demo video that demonstrates the control of a second spinner and also the color animated NeoPixels:
https://youtu.be/9jsXezV_6CE
Sources:
ITR9608
WS2811 5mm
Arduino Pro Micro
Ballbearing 8x22x7