Spin is a photography turntable system for capturing how your DIY projects come together over time.
NOTE: If you have a laser cutter whose bed is 12" in a single dimension, click here for a modified turntable design!
Building your own Spin system involves fabricating the mechanical turntable, assembling the Spin Arduino shield, and 3D printing a motor gear and iOS device stand.
All purchased parts are available online from McMaster, Digikey, Sparkfun, and Amazon. The raw materials cost around $150. There are quick links to most materials on the left; these links exclude any acrylic or fasteners you'll need to fabricate and assemble the turntable.
If you'd like to grab all the design files in one place, check out the project on Github.
The following tools are necessary for assembling your Spin turntable
- Philipps head screwdrivers (precision and normal)
- M1.5 allen wrench
- Soldering iron and basic soldering tools (tweezers, solder, and wire strippers)
You will also need to use the following machines:
- Laser Cutter
- 3D Printer
The turntable consists of laser cut, 3D printed, and purchased parts.
Recommended parts are listed below. It is highly recommended that you purchase the fasteners at your local hardware store since the parts are only available in bulk online. You can find direct links to Sparkfun, McMaster, and Digikey carts on the left side of this page. Alternatively, if you want me to mail you a kit of fasteners, send me an email at spinturntable (at) gmail (dot) com.
Item | Vendor | Quantity | Part Number | Total Price |
---|---|---|---|---|
Specialized Parts | ||||
Turntable | McMaster | 1 | 18635A52 | 33.02 |
M3 Heat-Set Inserts | McMaster | 1 (pack of 100) | 94180A331 | 12.30 |
Acrylic | ||||
3/16" acrylic (total area of 30" x 14") | Tap Plastics | 1 | 3/16" acrylic | 19.40 |
⅛" white acrylic (14"x14") | Tap Plastics | 1 | 1/8" acrylic | 10.00 |
Misc Electronics | ||||
Stepper Motor | Sparkfun | 1 | ROB-09238 | 14.95 |
Arduino Uno | Sparkfun | 1 | DEV-11021 | 24.95 |
12VDC Wall Adapter | Sparkfun | 1 | TOL-09442 | 5.94 |
M3 Standoffs | Digikey | 4 | 952-2189-ND | 2.24 |
3.5mm Audio Cable | Amazon | 1 | Audio Cable | 7.99 |
Fasteners | ||||
M3 set screw (4mm length) | 2 | |||
M3 machine screws (10mm length) | 18 | |||
M3 nuts | 7 | |||
¼-20 machine screws (0.625" length) | 3 | |||
¼-20 nuts | 3 | |||
5/16 machine screws (2.5" length) | 3 | |||
5/16 nuts | 3 | |||
Total: $130 + ~ $10 for fasteners |
NOTE: Remember to purchase acrylic that can fit your laser cutter’s bed! The materials I suggest fit my laser cutter (3’x2’).
Spin consists of 3/16"-thick clear acrylic parts as well as a 1/8"-thick platform.
First, laser cut the base, outer gear, and stepper motor case parts out of the 3/16” acrylic (all vector cuts):
Next, cut the platform out of ⅛” acrylic / ABS. The steps for fabricating the platform are, 1) raster 3 holes 0.08" deep (this is so the platform can rest atop 3 screws on the turntable), 2) vector cut the outline of the platform, and 3) flip the part over and vector engrave the centermark (green). The centermark should not cut through the entire part.
TIP: The rastering process can be shortened by sending each red rasterd hole separately (so the laser head doesn't have to travel back and forth when rastering the bottom two holes).
3D print the motor gear [stl], which will attach to the stepper motor. Optionally, you can use this iOS device dock I designed to fit iPhones and iPads [stl].
NOTE: I highly recommend printing the motor gear in ABS and not PLA, which is more susceptible to warping and heat damage. This is what one motor gear looked like after several weeks of use:
Wait for a few minutes after inserting the heat-set inserts before you screw the gear to the motor shaft. You want the plastic to cool completely to prevent any deformation.
If you find that the heat-set inserts start to loosen from the plastic, replace the motor gear part with a new one.
First, solder a 4-pin male header to the stepper motor cable in the following color sequence: RGYB
Next, attach the 3D printed motor gear to the stepper motor shaft. To do this, you need to first insert the M3 heated inserts into the two holes on the side of the motor gear.
Use a soldering iron to insert the M3 heatset inserts (check out the video below for reference).
Be sure to turn the temperature down on your soldering iron and keep the soldering iron as straight as possible to avoid melting too much material around the insertion hole. Using a Weller WES51 soldering iron, a temperature of 400F works well.
TIP: Position the motor gear such that the gear hangs off the side of the table to keep the part flat (for easier insertion).
Assemble the stepper motor case on the base of the turntable using the M3 nuts and bolts. The cable outlet on the stepper should face towards the center of the turntable.
Ensure that the Arduino mounting holes are on the LEFT side of the base (so that the audio cable will face the front of the turntable when fully assembled). Check out the assembled turntable above for reference.
Next, secure the Arduino to the base using the standoffs and M3 screws.
Fasten the laser cut parts with the purchased turntable bearing from McMaster. The outer gear should be attached to the interior of the turntable using ¼-20 screws, adding a nut in between the outer gear and the head of the screw. This will make it easier to align the floating platform later.
Use the 5/16" bolts to attach the outer ring of the turntable to the base, using a nut to secure the base in place:
Last, add the ⅛” platform, which rests on top of the ¼-20 screws.
The Spin Arduino shield is designed for the Arduino Uno and utilizes the Easy Driver stepper motor driver.
You can order the board from OSH Park [https://oshpark.com/profiles/scientiffic], which is $35.10 for 3 boards (and can take about 2 weeks to make and send), or you can make the board yourself: [Eagle Project]
Part # | Part |
---|---|
C1 | 0.22 µF capacitor |
R1 | 2 KΩ resistor |
R2 | 2 KΩ resistor |
R3 | 10 KΩ resistor |
R4 | 1 KΩ resistor |
R5 | 1 KΩ resistor |
R6 | 100 Ω resistor |
R7 | 100 Ω resistor |
R8 | 100 Ω resistor |
R9 | 100 Ω resistor |
Item | Vendor | Quantity | Part Number | Total Price |
---|---|---|---|---|
Easy Drive Stepper Motor Driver | Sparkfun | 1 | ROB-12779 | 14.95 |
Blue LEDs 1206 SMD | Sparkfun | 1 (strip of 25) | PRT-12620 | 2.95 |
Male headers | Sparkfun | 2 | PRT-00116 | 3.00 |
Female header | Digikey | 1 | S5440-ND | 0.63 |
3.5mm audio jack | Digikey | 1 | CP-43514-ND | 1.18 |
100 Ω resistor 1206 SMD | Digikey | 5 | 311-100FRCT-ND | 0.45 |
1 kΩ resistor 1206 SMD | Digikey | 1 | P1.0KECT-ND | 0.09 |
10 kΩ resistor 1206 SMD | Digikey | 1 | 311-10.0KFRCT-ND | 0.09 |
2 kΩ 1206 SMD | Digikey | 2 | RMCF1206JT2K00CT-ND | 0.18 |
0.22 µF 1206 capacitor | Digikey | 1 | 399-1251-1-ND | 0.17 |
Total: $23.51 |
The Spin system utilizes the Soft Modem library to send audio signals from an iPhone to the Arduino. You need to use a particular patched library, which you can find here:
SoftModem LibraryInstall the SoftModem library on your computer (instructions).
Next upload the Spin Arduino Sketch [spin.ino] to your Arduino. Last updated 7/27/16 for communicating with Android app
Attach the shield to the Arduino with the LEDs pointing towards the center of the table. Connect the motor to the shield by orienting the red cable of the motor closest to the LEDs.
To test that your turntable, you can use this Processing sketch, which lets you nudge the turntable left or right or do a complete rotation. After you've assembled your turntable, run the Processing sketch and test that your turntable can do a full rotation.
You can run the Spin mobile app on your iOS or Android device.
The Spin iOS app runs on any iOS device (iPhones, iPod Touches, iPads) running iOS 7.0 and up.
You can find the Spin app on the App store at the following link: https://itunes.apple.com/us/app/spin-turntable/id999530437?mt=8
The Spin Android app is available on the Play store at the following link: https://play.google.com/store/apps/details?id=com.ttseng.spin
NOTE: Your iOS device must be physically connected to the turntable to use the app.
To start using Spin, plug in the Arduino Uno to a wall outlet using the AC Adapter and connect the 3.5mm audio cable between your mobile device and the Spin shield.
When you open up the mobile app, you will go through a one-time setup that will check your connection to the turntable. After the app is able to successfully connect to the turntable, you can register and begin creating Spin animations!
Feel free to get creative with your Spin backdrop! You can use hanging white fabric, a cardboard trifold, or a whiteboard for a neutral background, but you can also decorate it to personalize your Spins.
I will add to this as issues come in! If you run into any problems, please add the issue on Github.
My Spin Turntable isn't spinning
Is your turntable plugged in using the AC adapter? Two of the LEDs should be illuminated if the turntable is receiving power. USB power is not enough to power the stepper motor completely.
Do you hear the motor turning? If so, you may need to tighten the set screws on the 3D-printed motor gear to ensure the motor shaft isn't slipping in the motor gear. If the heat-set inserts come loose from the gear as you tighten the set screw, you may need to replace the motor gear with a new part.
Are you using a working 4-pin 3.5mm audio cable? You must use a 4-pin 3.5 mm audio cable to connect to the turntable. You can ensure that the connections on the cable are working with a multimeter. In particular, tip and the ring closest to the base are the ones used to communicate between the turntable and the phone.
Still not turning? Close the app completely, restart it, and try again.
STILL not working? Please report the issue on Github.
To follow the development of new features for Spin, or to leave any feedback or suggestions, check out the Build in Progress Spin page