A remote-controlled programmable precision turntable powered by USB-c, driven by a stepper motor. Useful for making stop motion video and rotating stuff that you can't (or are too lazy to) get to.
There are relatively cheap turntables (only slightly more expensive than this DIY version) that do the same thing, but building one is more interesting/ flexible. For example, if you need to make a version for heavy weights/large items, the contents of this repository should be a good start, as well as a much cheaper option than that kind of turntable.
- Stepper Motor
- DRV8825 to control the stepper motor
- 20V PD trigger to power the turntable
- Step Down Voltage convertor (to reduce the 20V down to 5V in order to power the microcontroller)
- Raspberry Pi Pico W
- Rotating Bearing
- 3d printed gears and case
Total cost of materials: <50 USD
Build time: <2 hours (not including 3d printing time)
- Soldering Iron
- Multimeter
- Patience
- Print the case. mount the Pico and DRV8825 to the prototype board, as well as the two capacitors.
- Adjust the Step-Down converter so that it outputs 5V
The DRV8825 needs to be wired to match the photo below. The code contains all the individual GPIO pins. The capacitors are connected to the voltage and ground for the 20V and 5V supplies respectively (providing a smoother voltage for the bridge).
That's pretty much it. You can test that the components are working and then connect the gears to the bearing and assemble them in an enclosure. There parts we used are in the 3d directory.
Download a uf2
image and install it on the Pico according to the instructions on the Raspberry Pi website.
Clone this repository to your computer using the commands (from a terminal):
cd ~
git clone https://github.com/veebch/twirly.git
cd twirly
Check the port of the pico with the port listing command:
python -m serial.tools.list_ports
Now, using the port path (in our case /dev/ttyACM0
) copy the contents to the repository by installing ampy and using and the commands:
ampy -p /dev/ttyACM0 put main.py
(NB. make sure you are using the right port name, as shown in the port listing command above)
Done! All the required files should now be on the Pico. Whenever you connect to power the script will autorun.
First, give your WiFi credentials to the Pico by scanning for the WiFi and connecting to 'pi pico'. You'll be redirected to a webpage that asks for your WiFi credentials. Then, point a web browser at the IP of the Pico and you'll see:
(It is possible to do make a control page without connecting to a router, but giving the pico W an internet connection makes it easier to add features later.)
- The > and < buttons give a small nudge clockwise or counterclockwise respectively.
- There is a full circle spin either clockwise or anticlockwise.
An overview of the build and a demo of it in action:
The gears are made using the openscad library by Chris Spencer.
The micropython driver for the drv8825 is by Rob Hammerlin.
The remote control was based on Phewap by Simon Prickett
GPL 3.0