Introduction: Bluetooth-Controlled 360° Motorized Turntable for Product Photography
This project is a Bluetooth-controlled 360° motorized turntable, operated via a mobile app, designed to automate product photography by providing precise and consistent image capture. It allows users to trigger a camera at specific rotational angles or divide a full rotation into selectable segments (e.g., 1/64, 1/48, or 1/32 of a full turn), ensuring uniform shots from multiple perspectives.
At the core of this system is an Arduino Nano, which receives user commands from the mobile application via the Bluetooth module HC-05 and controls the turntable’s motion. The system is designed to wirelessly trigger either a DSLR via a triggering port or a Smartphone camera using the same triggering port, with an Arduino Pro Micro simulating the volume-up function to capture images when the camera app is opened on most smartphones.
The mobile app was programmed using the MIT App Inventor Android app builder tool. The app has a main screen that controls all of the turntable's functions, including Bluetooth connectivity, basic rotation controls (start/stop, direction, and speed), manual snapping, and an auto-snapping feature that triggers the camera at selectable segments of a full turn.
This makes it an efficient and versatile tool for e-commerce, 3D scanning, and creative photography, ensuring high-quality, repeatable images with minimal effort. Additionally, this turntable can also be used as a regular turntable for showcasing items or products. By controlling the speed and direction of rotation, it offers flexible options for display and presentation.
Supplies
1x Arduino Nano
1x BJ42D09-20V02 Stepper Motor (taken from Creality sprite extruder) or any similar one
1x LM2596 DC-DC
1x DC 5V 1 Channel Relay Module
1x Arduino Pro Micro (Optional - For smart phone camera triggering)
4x M5 x 20mm Hex Socket Head Screws and 4x M5 Locknut
6x M3 screws
1x Jumper wires
1x USB C to Micro USB Cable (Optional - For smart phone camera triggering)
Step 1: CAD Designing
The turntable was designed using Fusion 360, ensuring precise dimensions and smooth operation. The turntable consists of three main components: the main body, the top base with the primary gear, and a smaller gear mounted on the stepper motor.
To achieve optimal performance, multiple design iterations were made, refining the structure for better stability and smooth rotation. To enhance accuracy and save time, 3D CAD models of the electronic components were imported directly into the design, ensuring precise alignment and optimal component placement.
The turntable has a 30 cm diameter, which is the largest I can print on my Creality K1 MAX. This size is also a common standard for 3D printers, making it easier for others to replicate. The total printing time is approximately13 hours, though this may vary depending on printer settings and speed.
Additionally, there is a small 3D-printed support piece recommended for the HC-05 module. Since the module's pins are located on one side only, and to maintain a compact electronic circuit layout, the HC-05 is mounted in an overhanging position. This 3D-printed support ensures the module stays securely in place.
Step 2: Circuit Connection
With all 3D-printed parts ready, it's time to move on to wiring the electronics. Although the number of components might seem a bit overwhelming at first, organizing your layout on a PCB makes the process much easier to follow and assemble.
For this project, I used a 4x6 cm double-sided PCB board to mount and solder all the components.
PCB Assembly and Wiring
I soldered each component directly to the PCB (The relay module was the only exception—it was mounted separately on the base of the turntable), planning the layout to minimize wire clutter and ensure solid connections. Below is a summary of the key connections:
Stepper Driver (TMC2209):
- EN (Enable) → Arduino D6 — Enables/disables the stepper motor.
- STEP → Arduino D3 — Sends step pulses to the driver.
- DIR (Direction) → Arduino D4 — Controls motor rotation direction.
- VIO, VM, GND — Connected to appropriate power and ground lines.
Bluetooth Module (HC-05):
- RX → Arduino D11 — Connected through a voltage divider using 1kΩ and 2kΩ resistors to step down 5V to 3.3V.
- TX → Arduino D10 — Sends data to Arduino directly.
- VCC → 5V
- GND → Common ground.
Push Button:
- One leg → Arduino D5
- Other leg → GND
- (Use a pull-down resistor if needed to ensure reliable input reading.)
Relay Module:
- IN → Arduino D8 — Used to trigger external devices (such as a camera).
- VCC and GND → Connected to power and ground.
Stepper Motor (connected to TMC2209):
- Coil A1 → Driver OUT1
- Coil A2 → Driver OUT2
- Coil B1 → Driver OUT3
- Coil B2 → Driver OUT4
General Notes:
- All components share a common ground, which must be properly connected to avoid malfunction.
- Double-check the orientation and pinout of each module before soldering to avoid damage or incorrect behavior.
- After completing the wiring, inspect all joints for cold soldering or shorts and make sure every connection is secure.
Arduino Pro Micro (Optional)
This optional setup allows you to use your smartphone as a camera instead of a DSLR. When connected, the Arduino Pro Micro board will simulate the "Volume Up" button when the camera app is opened on your smartphone. This will trigger the camera to snap a photo.
Connections:
- Shutter Jack + → D2 (Arduino Pro Micro): This simulates the Volume Up button on the smartphone.
- Shutter Jack - → GND (Arduino Pro Micro): Ground connection.
- Smartphone USB → Micro Pro USB Port: To connect the smartphone for triggering the camera.
This feature is entirely optional, but it offers an easy alternative if you prefer using a smartphone for photography instead of a DSLR camera.
Attachments
Step 3: Hardware Assembly
The assembly process brings together all the mechanical and electronic parts into one integrated unit.
First, I inserted six thread inserts into the designated holes of the 3D-printed Main Body. These inserts allow secure fastening of various parts during final assembly.
Next, I mounted the four POM pulley wheels into their positions. Each wheel was secured using an M5x20mm hex socket head screw and an M5 locknut. These wheels are crucial for keeping the top platform flat and ensuring smooth, stable rotation.
Then, I installed the power jack, main switch, camera trigger jack, and reverse direction push button into their designated slots.
Following that, I positioned the main PCB and the LM2596 DC-DC converter module into their spots inside the main body. They were secured into the thread inserts using small M3 screws.
The stepper motor was then placed into its mount, snapping securely into position without the need for screws.
The relay module was also slid into its designed slot at the base, again without requiring any screws.
Once all modules were fixed in place, I completed the wiring between the components, as shown in the connection diagram and photos.
Note: I added some connectors between the component wiring to make assembly and future maintenance easier.
The small printed gear was mounted onto the stepper motor shaft, and the 625ZZ bearing was inserted into the center pole of the body.
Finally, I placed the top platform onto the main body. The central bearing ensures the top part stays perfectly aligned while rotating smoothly during operation.
An opening at the bottom of the main body allows easy access to the Arduino Nano's USB port for programming and updates.
Step 4: The Code
I programmed the Arduino Nano to control the stepper motor and functions of a motorized turntable via Bluetooth commands. With limited programming skills, I used ChatGPT to improve the code.
The Arduino code handles several important features:
- Start and stop the motor.
- Change rotation direction (clockwise/counterclockwise).
- Adjust the motor speed dynamically.
- Rotate a specific fraction of a full turn (e.g., 1/64, 1/48, 1/32, etc.).
- Manually trigger the relay at any time via a button in the app.
- Rotate in increments while automatically triggering the relay (used for controlling a DSLR or mobile camera).
The Bluetooth communication is managed using a SoftwareSerial connection between the Arduino Nano and the HC-05 Bluetooth module.
Incoming commands from the mobile app are interpreted by the Arduino, which then executes the corresponding motor or relay actions.
The stepper motor is controlled via a TMC2209 stepper driver, ensuring smooth and quiet motion even at different speeds.
For Smartphone camera triggering, the Arduino Pro Micro requires a small code that simulates the volume-up button while the camera app is running, as pressing the volume-up button on most smartphones triggers the camera to take a photo.
Step 5: Mobile App Making
For this project, I used MIT App Inventor, a user-friendly platform that allows you to build Android apps using a drag-and-drop interface. The great thing about App Inventor is that it doesn't require advanced programming skills, like mine.
So yes, the app works only on Android devices.
I designed the app to control the turntable, as explained in the previous steps.
The app’s interface is simple. It includes buttons for each command (start/stop, speed control, direction change) and a slider for adjusting motor speed. Additionally, I incorporated Bluetooth connection functionality to allow communication between the mobile device and the Arduino Nano via the HC-05 Bluetooth module.
The (Home & Set Home) buttons are inactive at the moment and will be activated in future updates
You can download the app from this link
I have also included the MIT App Inventor project as an .aia file in case you want to make upgrades yourself.
Step 6: Operation
Now that everything is set up and ready, the first thing you want to do is connect the turntable to a 12V DC power adapter (1.5 amps or higher is recommended).
Next, run the app (assuming it has already been installed on your Android device). Press the Bluetooth button at the top and select the HC-05 Bluetooth connection.
You can now connect the turntable to a DSLR camera or use any smartphone to start shooting. Even if your camera isn’t ready yet, you can simply press the buttons in the app and start rotating the table.
Step 7: Final Thoughts
This project was a rewarding journey that combined 3D design, electronics, coding, and mobile app development into a fully functional and customizable system. The final result is a Bluetooth-controlled 360° motorized turntable that enables users to capture precise, high-quality product photos or create dynamic 3D scans with ease.
Using simple and affordable components and 3D-printed parts, I was able to build a system that is versatile, efficient, and accessible to hobbyists and makers of all skill levels.
The ability to control rotation speed, direction, angle divisions, and trigger a camera remotely - all from a custom mobile app - greatly simplifies the process of professional-grade photography and object scanning, making this turntable a valuable tool for e-commerce, creative studios, and DIY enthusiasts.
Throughout the process, I learned a lot - not just about hardware and software, but also about problem-solving, design optimization, and integrating different technologies into one seamless project.
I hope this guide inspires you to build your own version, modify it to fit your needs, and most importantly - to keep creating and innovating!
Thank you for following along, and happy building! 🚀








