LED Kaleidoscope



Introduction: LED Kaleidoscope

Your typical Kaleidoscope is an optical instrument with two or more reflecting surfaces tilted to each other in an angle, so that objects on one end of the mirrors are seen as a regular symmetrical pattern. The reflectors are usually enclosed in a tube, containing on one end loose coloured pieces of glass/plastic or other combinations of transparent and opaque materials to be viewed. Rotation causes materials to move creating random patterns.

This version closely follows the general design however, were your typical Kaleidoscope uses physical elements that move under the influence of movement this version used LED's to display everchanging random patterns.

The patterns are displayed on a Zip tile for Microbit, this contains 64 LED's in an 8 x 8 matrix which are controlled by the Microbit.



ZIP Tile LED Display

Plastic Mirror 212mm long x 40mm wide - Qty 3


10mm M3 X M3 Hex standoff threaded hole & screw - Qty 6

15mm M3 X M3 Hex standoff threaded hole - Qty 3

3mm x185mm rod - Qty 3

M3 X 10mm countersink screw - Qty 3

Masking tape.

2mm drill bit.


M3 box spanner.


Step 1: Aperture Ring and Carrier Design

These elements are designed using BlocksCAD and are 3D printed.

The carrier supports the Zip tile and Microbit in place and into this is inserted the aperture ring.

The aperture ring is a press fit into the carrier and once pressed into the carrier rotates freely by turning with the knurled edge.

The three mirrors in the form of a Triangular prism sit in the recess in the Aperture ring.

With these elements in place the image is viewed between the mirrors and rotation of the aperture ring allows the display of the existing pattern to the varied.

Step 2: Support and Eyepiece

These elements are designed using BlocksCAD and are 3D printed.

The Supports slide over the reflectors and are spaced at intervals and in conjunction with the rods form the body of the kaleidoscope.

The Eyepiece fits over the end and caps off the body.

Step 3: 3D Printed Hardware

3D printed elements consist of the Supports and Eyepiece additional to this the Aperture ring and Carrier which are printed as two separate elements that are then clipped together.

Step 4: Microbit and ZipTile Assembly

The Zip tile is attached to the Mircobit by five M3 bolts and cylindrical spacers.

Both elements are orientated with the LED's facing upwards and the Microbit visible enabling easy operation of the A button.

However, the Microbit can be mounted in invisible mode on the back reducing the profile if required.

Details for the Zip tile and assembly options are given at the following link:


Step 5: Display Assembly

The Display assembly consists of the Zip tile, Microbit, Aperture Ring and Carrier.

The Zip tile + Microbit are slid into the underside of the carrier and held in place by the close tolerance of the design.

The carrier supports the Zip tile and the Aperture sits central to the Zip tile.

Step 6: Reflectors

The reflectors or made up of three rectangular mirrors formed into a triangular hollow prism and held together with tape.

The mirrors are made of plastic making them easy to cut whilst at the same time being less fragile than glass.

These were cut from a single sheet with a portable table bench saw although a hand saw could be used if clamped along the full length of the edge to be cut to prevent breakage or movement resulting in scratches or an uneven cut.

The triangular hollow prism is placed end on to the Aperture within the triangular recess.

The ZIP tile mounted at one end is then viewed through the centre of the hollow prism.

Step 7: Assembling the Body

The assembly process is shown in the accompanying images in addition to the following description.

Using one of the Supports place it over the Aperture ring and align the centre triangle.

With a pen mark the Aperture through the three holes in the Support.

With a 2mm drill bit make three holes at the points previously marked, into these holes screw a standoff.

Take each of the rods and taper each end with a knife/file/pencil sharpener subject to the material.

If metal rods are used then threads will need to be cut on the ends at this point.

Fit three standoffs, one on the end of each rod and screw approximately10mm of the rod into the threaded hole of the standoff.

Slide the three Supports over the rods with one at each end and one in the middle.

Push the triangular prism through each support and retaining the support spacing

Take the Aperture Ring and Carrier assembly and fit the triangular prism in to the triangular recess.

Align the standoffs on the Aperture Ring with the standoff on the end of the rods and screw together.

Cut each rod ~9mm below the end of the triangular prism and fit a 15mm hollow threaded standoff on each end.

Holding the part of the rod with pliers below the standoff to be fitted and using a box spanner tighten the standoff until its level with the top of the triangular prism.

Into the Eyepiece drill three 2mm holes into the alignment depressions and countersink the the holes on the front side (the side without the triangular recess), partially fit three 10mm countersink screws into the holes. they should be a tight fit.

Orientate the triangle in the Eyepiece with the Triangular prism and fit the Eyepiece over the Triangular prism ensuring the Triangular prism sits in the Eyepiece recess then tighten the screws.

The assembly is now complete.

Step 8: Coding

The Microbit is coded to create a circular pattern in the centre of the Zip tile.

The triangular aperture which can be rotated only shows LED's in the visible area of the aperture diameter outside this range LED's would not be visible and therefore serve no purpose to illuminate.

The on start initialises the Zip tile and sets variable Active to false this is set to true when the pattern generator is active. An array is created which contains the decimal values for Red, Green and Blue

The forever loop checks if the Active variable is true and the Dimmer value is >0, if this is true the display is gradually dimmed. The dimming duration can be adjusted by varying the pause time, increased for longer duration and reduced for short duration.

Function Pattern2 is the pattern generator. The variable Dimmer sets the display brightness and variable Active is set to true. The display is than set. A series of radial arms are draw creating a circular image were each point displayed is randomly selected from Red, Green or Blue..

On button A when pressed generates and displays a new pattern.

Step 9: Usage

With power applied to the Zip tile (disconnect the USB from the Microbit first), press the A button on the Microbit whilst looking into the hollow triangular prism via the eyepiece.

Each press of the A button will result in a different pattern being displayed.

Rotating the body of Kaleidoscope will result in variations in the existing pattern.

The combination of these two actions will result in ever changing patterns.

The display will switch off after a period of inactivity which can be reactivated by pressing button A again.


1000th Contest

Participated in the
1000th Contest

Be the First to Share


    • Game Design: Student Design Challenge

      Game Design: Student Design Challenge
    • Big and Small Contest

      Big and Small Contest
    • Make It Bridge

      Make It Bridge