Victorian Zoetrope — Arduino Powered Animation Machine

by 2010aanandar in Circuits > Arduino

61 Views, 2 Favorites, 0 Comments

Victorian Zoetrope — Arduino Powered Animation Machine

gjIYt5GGykbJQFXCsluA0bXVpW6pW254G3k_ZTTt3Izk-brweJSWTwx24lp36dquKNVOzatZ4t-O9hF-yKG3ZuYtpzq1nT5kFc67Gbf2zO0W-bIubmwjwsJNDfrwa3AL-0c8q2LtuNk37-v8GY4ECAYh-MR1HRd1-fLjeF2eDIw.jpg

The zoetrope is one of the most fascinating inventions of the Victorian era. Invented in 1834 by William George Horner, it was one of the first devices to create the illusion of motion from still images — making it the direct ancestor of cinema, animation, and every video you've ever watched.

In this Instructable I'm going to recreate this Victorian invention with a modern twist — using an Arduino, a TT gear motor, and an L293D motor shield to spin the disc at a controlled speed, with an LED strobe light synced to the rotation to freeze the animation perfectly.

The figures are silhouettes of an ancient dancing figure, printed on paper and mounted on foam board — bringing two eras of history together in one build.

This project fits the Victorian Era category of the Making History Contest — the zoetrope was invented in 1834 and became one of the most popular optical toys of the 1800s.


The zoetrope was invented by William George Horner in 1834 and originally called the "Daedalum" meaning wheel of the devil. It became hugely popular in Victorian England and America in the 1860s after being reintroduced and renamed the zoetrope.

The principle is simple — a series of images showing slightly different positions of a moving figure are arranged in a circle. When the circle spins fast enough, the human eye blends the images together creating the illusion of smooth motion. This is called persistence of vision — the same principle behind all cinema and animation.

Before the zoetrope, people had no way to see motion pictures. This humble spinning drum changed everything.

Supplies

1000078364.jpg
1000078366.jpg
1000078371.jpg
1000078370.jpg
360_F_636289508_1BpAYTfQiKBd2CJSX1SnS9ESewGrt0aO.jpg
1000078367.jpg

>Tooth Pick

>Shoebox lid (32×20cm)

>Printed animation frames (12 figures)

>TT gear motor

>Arduino Uno

>L293D Adafruit Motor Shield

>1 LED

>3x AA batteries

>Black paint

>Hot glue gun

>Scissors

>Compass and ruler

>Tape

Cut the Disk

1000078606.jpg
1000078604.jpg
1000078600.jpg
1000078597.jpg
1000078593.jpg
1000078615.jpg

1.Take your shoebox lid

2.Find the centre point by drawing diagonal lines corner to corner — where they cross is your centre

3.Set your compass to 160mm

4.Draw a circle — this is your disc

5.Cut it out carefully with scissors

6.Cut a second identical circle and glue both together for extra strength

7.Paint the top face of the disc black — this stops light reflecting and makes the animation cleaner

8.et it dry completely


we will use a wheel to spin the disc

Mark Sprite Positions

8f4b47b8-11c1-43e2-b316-4159c58f12cd-1_all_15160.jpg
1000078588.jpg

Find the centre of your disc

Set compass to 160mm and draw a light circle — this is your sprite mount ring

Using a protractor mark 12 points every 30° around the circle:

  1. 0°, 30°, 60°, 90°, 120°, 150°, 180°, 210°, 240°, 270°, 300°, 330°

At each mark make a small slit with scissors or craft knife

These are where your toothpick sticks will slot in

Print and Prepare Animation Frames

ChatGPT Image May 5, 2026, 03_36_38 PM.png

1.Print the 12 animation frames on A4 paper

2.Cut each frame out carefully

3.Cut 12 foam board rectangles — each 25mm wide × 55mm tall

4.Glue one printed frame to each foam board rectangle

5.Take 12 toothpick -these are your sticks

6.Hot glue/glue one stick to the back of each frame, leaving 10mm at the bottom to insert into disc

Mount Frames on Disc

1000078612.jpg

1.Push each stick through the slits in the disc

2.Make sure all frames face inward toward the centre

3.Make sure all frames are at the same height

4.Hot glue each stick from underneath to secure firmly

5.Double check spacing is even all the way around

Mount the Motor

1000078608.jpg
IMG20260504145112.jpg

1.Hot glue the wheel firmly to the underside of the disc

2.Place TT motor underneath the disc centre

3.Push motor shaft into the wheel

4.Make sure the shaft spins freely without wobbling

5.Prop the disc up on a small box or stand so the motor hangs underneath freely

Wire Everything Up

1000078373.jpg
1000078374.jpg
1000078375.jpg
1000078380.jpg

1.plug Motor Shield onto Arduino

2.Connect TT motor wires to M1 terminal on shield

3.(optional)Connect LED positive leg to pin 13 through a 220 ohm resistor

4.(optional)Connect LED negative leg to GND

5.Tape 4x AA batteries together in a row using foil as terminals

6.Connect red wire to VIN on shield

7.Connect black wire to GND

8.(optional)Mount LED on a small foam board arm above the disc pointing downward — make sure it doesn't spin with the disc!

Upload the Code

1000078376.jpg
1000078379.jpg

Copy this code into Arduino IDE and upload:

#include <AFMotor.h>


AF_DCMotor motor(1);

int ledPin = 13;

int motorSpeed = 150;

int flashDelay = 50;


void setup() {

pinMode(ledPin, OUTPUT);

motor.setSpeed(motorSpeed);

motor.run(FORWARD);

}


void loop() {

digitalWrite(ledPin, HIGH);

delay(flashDelay);

digitalWrite(ledPin, LOW);

delay(flashDelay);

}



Tuning tips:

  1. If animation looks blurry → lower flashDelay
  2. If figures jump too fast → lower motorSpeed
  3. Sweet spot is usually motorSpeed 35-50


Test and Film

1.power everything up

2.The disc should start spinning automatically

3.Look at the frames from the side while LED strobes

4.Adjust motorSpeed and flashDelay until figures appear to dance smoothly

5.Film using your phone on slow motion mode (120fps or 240fps) — this captures the strobe effect beautifully

6.Film from multiple angles — side view, top view, close up


view this video, it shows my project 👇