Kaleidoscope Projector

by adkeswani in Circuits > Art

43 Views, 0 Favorites, 0 Comments

Kaleidoscope Projector

Projected Kaleidoscope

Kaleidoscope with a spotlight shone through one end so that its image is projected on a wall. A motor spins the kaleidoscope to make the pattern change.


Please note that you will need to design your own 3D prints, even if you use exactly the same parts that I did - this Instructable is more like a guide than exact instructions. However, if you still choose to print the attached models, I used a Bambu A1 Mini with a 0.4 nozzle on the textured bed at 0.08 High Quality.


Also note that the video is of an older iteration. Due to the jamming issue described in the steps below, the whole kaleidoscope now rotates instead of just the front. This means that whole projected image now spins, instead of just the colored pattern.

Supplies

  1. 3D printer
  2. Kaleidoscope (e.g. https://www.amazon.com/dp/B000ELSZW0)
  3. Spotlight (e.g. https://www.amazon.com/dp/B0DDG2Q2DS, which works well because it has a "hood" on the end that can be unscrewed and replaced with the 3D printed mount for the kaleidoscope, as well as a hole where a stake can be inserted which can instead be used for the ceiling mount)
  4. Convex lens (e.g. https://www.amazon.com/dp/B07Z3CVFMB, which has multiple lenses to try)
  5. Motor (e.g. https://www.amazon.com/dp/B09N6NXP4H, but if I were to rebuild I would try https://www.amazon.com/dp/B0D4YDXN9D)
  6. Motor driver (e.g. https://www.amazon.com/dp/B0BD53Q7TT/)
  7. Optional: Ball or cylindrical bearing larger than the kaleidoscope body diameter)
  8. Microcontroller that can produce analog output
  9. Breadboard, jumper wires
  10. Double-sided tape, electrical tape, assorted zip ties

Kaleidoscope Mount

  1. This part serves 2 purposes: mounting the kaleidoscope to the spotlight and mounting the motor to spin the kaleidoscope
  2. The diameter and length of this mount is enough to fit the front, rotating end of the kaleidoscope, with additional space for gears, which will be described in a later step.
  3. The screw thread at the back of the mount screws into the spotlight.
  4. The raised, flat part is where the motor sits. A gear attached to the motor extends through the window and meshes with a gear attached to the kaleidoscope. Zip ties secure the motor and breadboard with microcontroller to this flat section.

Kaleidoscope Lens

  1. This part holds the lens up next to the kaleidoscope's eyepiece to bring it into focus on the surface you are projecting onto.
  2. I am not knowledgeable about optics, but trial and error showed that the 300mm convex lens from the set in the Supplies list worked well. There may be additional optimizations possible here.
  3. The diameter of this part matches the diameter of the back of the kaleidoscope
  4. The length of this matches the length of the back of the kaleidoscope, plus a small gap between the kaleidoscope and lens
  5. A small window and groove holds onto the lens. After inserting the lens I used electrical tape to ensure it would not slip out.
  6. This part also contains a simple cylindrical bearing that will be described in a later step. NOTE: The walls in this STL split at the bearing and I had to use electrical tape to rejoin the two halves. I would probably just cut the model in the slicer here, which would also improve the surface finish on the bearing.

Spinning the Kaleidoscope

Screenshot 2025-11-09 143706.png
  1. Initially I used a belt and pulley system to spin the front end of the kaleidoscope. This worked well for a few days, but then the belt (a rubber band) stretched, possibly due to the heat from the spotlight. It may still be possible to do with the correct materials and mounting, but I switched to gears.
  2. One gear fits onto the rotating end of the kaleidoscope. Through trial and error I was able to make one that I could press fit onto the kaleidoscope and would not slip when rotated by the motor.
  3. The other gear fits onto the motor. As described above, this motor extends through the window in the mount from the step above and meshes with the scope on the kaleidoscope to spin it.
  4. The gears required some trial and error. I used Fusion's Spur Gear add-in. The settings I used for the smaller, motor gear are in the attached screenshot. I plugged in the same Module and Pitch Diameter of the kaleidoscope gear into the Module formula to get the correct number of teeth to use.
  5. The kaleidoscope from the Supplies list that I purchased would also eventually jam. I did not open it up to understand why, so my solution was to spin the entire kaleidoscope instead of just the part intended to rotate.
  6. This is why there is a cylindrical bearing in the lens mount part above. The rear end of the kaleidoscope is press fit/slides into this bearing.
  7. I used electrical tape to stop the rotating end of the kaleidoscope from spinning. This way, when the motor spins, it turns the whole kaleidoscope inside the bearing.
  8. When I installed the projector, I positioned the motor underneath, with the kaleidoscope resting on it with gravity. This may not be necessary, but I think it provides better contact between the gears.
  9. Initially I just had one gear on the motor and one on the kaleidoscope. While debugging this jamming issue, I added a second one, but it may not be necessary.
  10. Here is some example code to play around with to drive the motor: https://gist.github.com/adkeswani/d4fe99d329a485f8db7f109265f87d29
  11. You will note that the code only spins the kaleidoscope in one direction. Due to the wobbliness of my bearing and quirks of the parts, something was jamming when I tried to spin in the other direction. Fixing this is left as an exercise for the reader.

Mounting to Ceiling

  1. This will vary depending on the spotlight and where you are mounting the projector.
  2. The attached STL slides into the spotlight in the Supplies list and has a hole for a threaded bolt to join them together. (I positioned this hole incorrectly, so my installation just relies on friction and electrical tape...)
  3. The T section has a couple of holes for nails and a flat part the sits against the beams of my ceiling.

Assembly

assembled.png
  1. I do not have a good assembled photo of the projector, so here's a poor attempt at a diagram.

Optimizations

  1. Instead of 3D printing the cylindrical bearing, I would purchase another bearing and mount it with a 3D printed part. This would avoid the wobble and high friction of my bearing.
  2. I would use a lower RPM, higher torque motor like the alternative in the Supplies list. This would allow me to continuously spin the kaleidoscope slower, rather than spinning it in fast bursts to prevent the motor from stalling.
  3. The front of the kaleidoscope has a translucent cover that holds all the pieces in. I would try replacing this with a transparent cover, which might allow the light to shine through better.