Arduino rotating photo table


Creating 3D models from a bunch of photos? There’s software such as Autodesk 123Catch or insight3d that can do that. But taking good pictures to work with is a different story. Normally you should move around the object, taking photos at different angles and orientations. All this time you hope that those pictures will be good enough for the software to work, or else you start again from scratch.

Warning: Use of undefined constant ICL_LANGUAGE_CODE - assumed 'ICL_LANGUAGE_CODE' (this will throw an Error in a future version of PHP) in /home/teodorc8/public_html/wp-content/plugins/insert-php/includes/class.execute.snippet.php(456) : eval()'d code on line 19

Warning: Use of undefined constant ICL_LANGUAGE_CODE - assumed 'ICL_LANGUAGE_CODE' (this will throw an Error in a future version of PHP) in /home/teodorc8/public_html/wp-content/plugins/insert-php/includes/class.execute.snippet.php(456) : eval()'d code on line 22

However, there’s an alternative that works fine for small objects: a rotating photo table that moves the object in precise steps, while the camera stays in a fixed position.

In this post I will show how make a rotating photo table for 3D modeling, that allows for rotation of the subject plus trigger the shutter, making it a complete autonomous platform. This project was designed to maximize the use of ready availlable parts, while keeping the user-build parts to a minimum.

The hardware I used is one Arduino Uno, one Arduino Uno click shield from MikroElektronika, equipped with a stepper motor click installed in slot #1 and a relay click placed in slot #2. The motor used to rotate the photo table is a NEMA17 stepper motor, scavenged from an old copy machine. Although the stepper click allows for the motor to be powered from Arduino’s 5V supply, I found it’s not enough if the object on the turntable is heavy. Thus, a 19V/3A laptop power supply was used to power the motor, while the Arduino can be powered from a separate 9V supply or from USB power.

As for the other parts, I used an electrical junction box to hold all the parts, in which I have drilled the required holes for the motor. The “photo table” is a 15 cm diameter disc cut from a kitchen board. The circular shape is not mandatory, you can choose to make it square without any problems. The photo table is attached to the motor using a Pololu #2673 aluminum scooter wheel adapter. Centering of the adapter piece is not critical, as the rotation speed is low.

The electronics are even simpler. Just plug the Arduino click shield on top the Arduino Uno, plug the stepper click in slot #1 and the relay click in slot#2. Only the relay 1 is used to drive the shutter, as my Panasonic GX-1 camera allows for this mode of operation. If needed, the relay 2 can be used to simulate the shutter half-press.

The code for this project is:

Some pictures of an AS3935 lightning detector click shield, taken at 4Mb resolution. ISO 160, manual exposure, one big light source placed above the turntable.

Add finally, a 3D model generated with 123Catch.

Not bad for a first try, but there are some issues that have impacted the result:

– Only 20 pictures, all taken from the same angle. Next time I should take more.
– I should have taken another set of pictures, from a different orientation;
– If the light source is placed above, the shadow of the click board is cast over the pins. They were not accurately distinguished by the software.
– Finally, at some time my “model” moved together with the black backdrop. Next time I will use some double-sided tape to keep everything in place.



  1. Avatar

    Excellent project, just what I was looking for!

    Only one problem,… I need to put on my table 50 kg so the motor should be at least 2A and the module STEPPER Click only supports 500mA,… any solution?

    Thanks for the help!

  2. Avatar

    Thanks for sharing your project!

    I’m making a similar one and your instructions are really valuable. I have one very trivial question about the relay: did you take additional measures to control the current between the camera shutter to the relay or is it safe to simply connect the leads of the camera shutter wire to the optoisolated relay outputs?


    • Teodor


      In my case, it works fine without any current control. The relay provides galvanic separation between the (Arduino + motor) side and the camera electronics, so there’s no danger for the camera.

      The only problem comes in the camera control circuit. The idea behind this project is to mimic the behavior of the (wired) camera remote.

      The best way is to search the Internet for the schematic for the remote trigger for your camera, then use the relay contacts instead of the buttons.

      On some cameras the remote control button has two position – half pressed for focus, full pressed to take the picture. Some camera needs the focus to be actuated first, then a small delay for the camera to achieve focus, then full press. Some cameras work well with both focus and shutter activated at the same time.

      Also, note that on some cameras you don’t have only some “dumb” buttons, but other electronics inside the remote control too. Particularly, Panasonic cameras have some resistors inside the remote – you will have to use the same values as in the original remote.