Introduction: Infrared Remote Controlled 3D Zoetrope

This instructable was created in fulfillment of the project requirement of the Makecourse at the University of South Florida (

Zoetrope is a 19th-century optical device consisting of a disk with a series of frames that, when viewed at high framerate, gives an impression of continuous motion.

Step 1: Tools and Materials

To build your own 3D Zoetrope you need the following:

  • Arduino UNO
  • USB power cable
  • Jumper wires
  • Breadboard
  • DC Motor
  • Electronics enclosure
  • PN2222 transistor
  • 1N4001 diode
  • 2200 Ω resistor
  • IR remote and receiver
  • Glue gun
  • Drill
  • Soldering iron
  • Screwdriver

Step 2: 3D Printing Parts

First step of this project would be getting all the necessary pieces. Stl files are attached. Print insert.stl 10 times. Print the elephants on their backs and at 0.3 scale. Hot glue elephants to the inserts

3D models are courtesy of 3Dimka

Step 3: Assembly

Assemble the electrical circuit according to the diagram. Drill a hole in the lid for the motor shaft and two holes in the compartment walls for the USB cord and the IR sensor. Glue the Arduno and the breadboard to the bottom of the compartment. Glue the IR sensor to one of the openings on the side of the compartment. Solder the wires to the motor pins. Glue the motor to the lid. Attach the motor wires to the breadboard before closing the lid. Finally, attach the disk to the shaft and place the elephants in order form 01 to 10. If your zoetrope will spin in the wrong direction, simply switch the motor polarity.

Step 4: Pairing Infrared Remote

To be able to control your zoetrope with a remote, first you need to decode its button values. For that upload remote.ino to the Arduino and run the serial monitor. Press a button that you want to use on your remote. The serial bus will show the protocol that remote uses (NECx in my case) and the code of the button. Use this algorithm to get codes for stop (BUTTON_1), medium speed (BUTTON_2), high speed (BUTTON_3), increase speed (UP_ARROW) and decrease speed (DOWN_ARROW) operations.

Step 5: Operation

After you got the remote protocol and codes, you can open main code. Open motor.ino and find lines that define the protocol and button codes. Replace those values with ones you got on the previous step. Upload the code.

Your zoetrope is ready. You can control it with your remote, using the buttons you chose. For better effect use the zoetrope in a dark room. Download a strobe app for your smartphone, set it on 16Hz and set medium speed on your zoetrope. When the strobe flashes 10 times per rotation, you will be able to see figures in motion.