360 Degree Product Photography With Product Photo 360




Introduction: 360 Degree Product Photography With Product Photo 360

In this Instructable I will show you how to make easily 360 degree product photography. This Instructable is based on the Product Photo 360 full description which is available in the link below.



-Free software and turntable

-Easy to use

-Up to 512 photos per full turn

-More than one thousand supported cameras

-3D printable turntable

-Easy to assemble

-Order the necessary parts for less than $10

-Open source

The program Product Photo 360 runs under Linux OS, but it shouldn't discourage the Windows users. I made a custom live CD which help Windows users also can use the program.

The camera is controlled by the program gphoto2. The list of the supported cameras is available in the link below. http://www.gphoto.org/proj/libgphoto2/support.php

Step 1: Necessary Equipment

Necessary equipment:

-Camera with usb cable

-Camera tripod


-Usb extension cable (useful, but not necessary)

Necessary parts for the rotating device (costs less than $ 10 if you order them form ebay):

-Arduino Nano (ebay)

-Stepper motor (28BYJ-48) and controller (ULN2003) (ebay)

-6 female-female jumper cable (ebay)

-1 bearing (6900Z 10x22x6 mm) (ebay)

-2 wooden board

-8 wood screw

Step 2: The Rotating Device

I designed two 3D printable elements to assemble the turntable easily. Download the two files below and print them with a 3D printer.



On the images the measurements are in millimeters.

Assebling the turntable:

Screw the element B to a wooden board and then snap the bearing to it. Insert the stepper motor to the bottom of element A and then screw the element to an another wooden board. Then push the element A and B together.

The carrying capacity of the turntable is about 2 kg. If you want to rotate a heavier object, the printed elements may break or the stepper motor can't rotate it.

Step 3: Software

I wrote the productphoto360.py program to control the camera and the rotating device, which runs under Linux. The program is available from the link below.


After downloading make it exceutable:

$ chmod a+rx productphoto360.py

The productphoto360.py uses several other programs. Install the dependencies with the command:

$ sudo apt-get install python-serial gphoto2 imagemagick arduino arduino-core

Step 4: Windows Users

I made a Custom Live CD which help Windows users also can use the program. Every program and file is installed on the Live CD. The system is ready to use. Download it from the link below, make a bootable pendrive, and restart your computer.


(Note: The Live CD is a 32 bit Lubuntu 14.04 LTS OS, which is customized by installing the necessary files and programs.)

After the Live CD booted, choose the option Try Lubuntu without installing. As the system booted double click on the icon ProductPhoto360 to launch the program.

Step 5: Assembly

1. Connecting the motor controller with the stepper motor and the Arduino Nano:

The controller and the stepper motor can be easily joined with the help of a plug. According to the chart below jumper cables connect the controller and the Arduino pins:

Arduino Nano | Controller

5V | +

GND | -

D8 | IN1

D9 | IN2

D10 | IN3

D11 | IN4

2. Connecting the Arduino Nano to the computer:

Connect the Arduino to the computer with a usb data cable. The Arduino boots in a few seconds and ready to use.

3. Connecting the camera to the computer:

After setting the camera (aperture, shutter speed, etc...), connect it to the computer with an USB data cable. In case the operating system mounts the camera, you have to unmount it manually.

Step 6: Using the Program

Before the first usage of the program Product Photo 360 you have to install the script productphoto360_stepper.ino to the Arduino. (Download the file from the link below...)


Launch the program Product Photo 360 with the command:

$ python productphoto360.py

If you use the Live CD simply click on the icon ProductPhoto360 in the desktop.

If you want more info about the program usage visit: preparatorium.hu/360_degree_product_photography.html#usage

Step 7: Miscellaneous

In the full description I show how I edit the photos, how to make .gif animation, and how to upload the photos to a webpage as a 360 degree product view animation.


Furthermore in the full description you can read Tips for better results and FAQs.



The program and everything you can download in the description was made in my free time, I did not get salary for it. Please donate my project with a little amount. Donate

Thank you for viewing this Instructable!

I hope you liked it!

Be the First to Share


    • Anything Goes Contest

      Anything Goes Contest



    5 years ago

    ok.thx a lot.


    6 years ago

    I have the Nikon D3100, according to the list of supported cameras, mine is supported but it doesn't work, motor works fine, the camera captures the first picture and then stops, any suggestions ?


    Reply 5 years ago

    I have same isue,help plz


    Reply 5 years ago

    Dear iyasa!

    Please read my reply to MohabM.




    Reply 5 years ago

    Dear MohabM

    Sorry for my slow reply. This error occurs only with Nikon cameras. (Some Nikon cameras produce this error only if the shutter speed is too long - e.g. 2 sec.)
    Reason: The program gphoto2 (which controls the camera) do not wait for the camera's reply after sending the --capture-image command.

    Solution: Comment the lines 262-283 in the source file (productphoto360.py). To comment a line, add # to the beginning of the line. E.g.:

    #logfile = open("logfile.tmp").read()

    After the line 284. add the following line:


    (Make sure to start the line in the same column as the line above.)

    This way the program will not test if the camera send any error messages. After sending the --capture-image command the computer wait 2 sec (time.sleep(2)) and add the command to the stepper motor. For using longer shutter speed change "2" to higher number. After starting the shooting process make sure that the camera and the turntable work together correctly.

    Because the program gphoto2 do not get any feedback from the camera with these Nikon models, the preview function doesn't work.

    If you still have questions, please write to my email: adam_at_preparatorium.hu




    7 years ago

    looks cool. might try and make our. if I can find someone to 3d-print the needed stuff