Introduction: Omnidirectional Display / Digital Zoetrope
Inspired by a YouTube video of an "Andotrope", this project shows you how to build your own digital zoetrope using inexpensive parts. When the motor spins the display visible through a narrow slit, our eyes merge the rapid sequence of images into one continuous image. The ESP32C3 drives the 160×128 TFT display with a looped animation while the cheap 5V motor rotates the assembly. With most of the structural parts 3D‑printed, this project is both accessible and customizable.
Supplies
Electronics & Mechanical Components
- ESP32C3 Supermini Module
- 160×128 TFT Display
- Small LiPo Battery
- 5V DC Motor
Tools
- Soldering iron and solder
- Wire cutters/strippers
- 3D printer (or access to one)
- Computer with Arduino IDE installed
Step 1: 3D Printing the Parts
Print the parts using your preferred filament. Once printed, clean them up and test-fit the parts to ensure everything aligns correctly.
Step 2: Wiring and Code
ESP32C3 and Display Setup:
- Connect the necessary wires between the ESP32C3 and the TFT display.
- Connect the LiPo battery to the ESP32C3 power input (using appropriate battery connectors and, if necessary, a voltage regulator).
Upload this sketch to the ESP32C3
Step 3: Assemble the Parts
Assemble the Rotating Rart:
When assembling the spinning part I recommend trying to balance it. That will reduce the amount of vibrations.
Mount the Motor:
Secure the 5V motor onto your 3D‑printed motor mount. Ensure it is fixed and aligned so that its shaft will drive the rotating hub smoothly.
Attach the Rotating Hub:
Mount the rotating hub onto the motor shaft. This hub will serve as the base for the display.
Attach the Slit Cylinder
Step 4: Connect to WiFi and Upload an Image
The ESP32C3 should create a WiFi point that you can connect to.
Name: ESP32C3-Display
Password: password123
After you are connected to the display WiFi type "192.168.4.1" into your browser.
There you can upload a 128x128 .png file. the current code only works with png files that are exactly big enough. You can find some on 7tv.app/emotes?s=1 to get started.
Step 5: Power the Motor
After powering the motor, the display should be working.








