Kaleiduino: a Battery Powered Arduino LED Kaleidoscope




Introduction: Kaleiduino: a Battery Powered Arduino LED Kaleidoscope

About: Tanmay Bhonsale a.k.a enceladus2000

Hello everyone, and welcome to my Instructable! This instructable will show you how I made the first ever DIY Arduino controlled "LED Kaleidoscope"!

What is an LED kaleidoscope? Well, our traditional kaleidoscopes used 3 mirrors joined as a triangle with stuff like sequins and stolen cake decorations at one end, to create an awesome pattern when seen from the other end. My kaleidoscope uses 4 mirrors - forming a square. But wait, no cake decorations here- that's what the LEDs are for! They blink and fade and flash about to make a pattern at least 20x cooler than the old fashioned k' scopes.

Step 1: Background...

The definition of a kaleidoscope from wikipedia...:

"A kaleidoscope is a cylinder with mirrors containing loose, colored objects such as beads or pebbles and bits of glass. As the viewer looks into one end, light entering the other creates a colorful pattern, due to the reflection off of the mirrors."

Kaleidoscopes are awesome toys, and are always fun to make and play with. But admit it, you'll get bored with it pretty fast. Thats where my idea comes in - why not make a kaleidoscope with LEDs? With so many electronic toys available these days, why is the kaleidoscope lagging behind?

With LEDs you have unlimited possibilities - make customisable patterns, adding interactivity, changing patterns according to readings from sensors and so on...... This isn't just fun to play, it's fun to make and customize it too!

My kaleidoscopes square because making a compatible LED matrix board is simpler and more practical.

Step 2: Materials...

This isn't expensive at all, and materials are easily available.

Tools required:

  • Soldering Iron and associated tools and materials Here's a cheap but good one..
  • Decent computer.
  • Box cutter.
  • At least 2 hands.
  • Other tools may be required depending on how you plan to make it.

Step 3: How It Works..............

Controlling LEDs.

There are 9 LEDs, that are controlled with an Arduino using a technique called multiplexing. This article will make you understand the theory of multiplexing LEDs well. Ignore the circuit part though, it is quite different from this one.

Due to this, I only need 6 pins of the Arduino to control 9 LEDs. These LEDs are soldered on a PCB mounted at the back of the kaleidoscope.

How Kaleidoscope Works.

Mirrors, when put together, form multiple reflections of the same object. This makes the LED pattern awesome and cool. I didn't make a triangular kaleidoscope because making a suitable LED matrix for it is tricky and impractical. Hence the odd (but super cool) square.

I've controlled the LEDs with simple Arduino code (I'm a bit of a newbie), which you can hack.

Ice cream sticks are just there to make the kaleidoscope firmer and better looking.

And this thing is powered by a battery. Just so you know.

Step 4: Making the LED Matrix..

LED matrix is simple to make. The 'Matrix' here has nothing to do with Neo, Agents and Zion. Its just that the LEDs are connected in such a way that we can multiplex them. See the last diagram for the matrix's circuit. It's just like any other matrix. Columns are controlled by arduino via transistors. I used current limiting resistors of 270 ohms.

Soldering requires some experience. Making columns of solder isn't easy. You'll need lots of wires too.

I made the matrix board on such a way that I can use 4 pinned RGB LEDs too. However using this board for single LEDs is fine. You may make the board for either only the single LEDs (diagram 1), or the one compatible with both single and RGB LEDs (diagram 2 - the one I have done).

I didn't solder LEDs and transistors directly, but used the socket. It a good idea- you can modify or troubleshoot later easily. After soldering the sockets, put the LEDs. Remember to cut off a bit of the LED's lead so that it isn't too long. Add the transistors too.

Be sure to test LEDs to make sure connection are good.

Step 5: Making the Kaleidoscope's Body...

You're gonna need 4 mirrors and cardboard for this. Cut 4 strips of cardboard, as long as the mirrors but a little narrower(see pics). Then with the cutter, cut halfway through the cardboard along its length, in a way that it doesn't break apart, but so that it bends easily. You'll need the pics for this.

Now stick mirrors to the cardboard as shown. Wrap everything up to make the square-ish body of the kaleidoscope.

Don't worry if it isn't completely square; your k'scope will still make awesome designs!!!

Step 6: Making the Kaleidoscope Look Good...ish

Now cover up everything with ice cream sticks. You can use any other decorating material as well. Use PVA or cyanoacrylate glue to stick all sticks. Plan the pattern of the sticks so that they look good like I did in pic#2.

Then follow the pictures to see how I stuck sticks for the 'eyepiece' .

Step 7: Adding the LED Diffuser...

What's that?

Normally LEDs are quite bright, and at close range, can hurt your eyes. Therefore I used a small piece of paper to diffuse the light, to make it softer and less bright, while making it more beautiful.

How do I make it?

If you have bright LEDs:

First, make a cube with the paper, as shown above. The dimensions must be a little less than the breadth of the mirrors, i.e. about 2.5cm cube. Stick it to the back of the kaleidoscope, on the opposite side of the eyepiece, with sellotape. Use insulation tape to block light from outside, so that the inside of the kaleidoscope is a bit dark.

If you have diffused LEDs:

Normal paper is a little too opaque, so for diffused LEDs I used tissue paper, stuck to the end of the kaleidoscope as in the pictures...

Step 8: Programming the Arduino...

Code is in the attachment below. Remember, change the 'ledpins' if pins 2,3, or 4 aren't PWM compatible; these pins are PWM compatible on the mega...

This code is only for one LED pattern... I'll upload more code for more patterns, and also code for taking input from sensors!

Step 9: Connections and Final Touches...

Connect each transistor base to each selected columnpin (8,9,10 in my code), and the led pins to well, the pins 2,3,4 or ledpins[]...Glue a base to hold the Arduino and matrix board. I put rubber bands to hold the Arduino in place. Fit the leds into the back of the kaleidoscope, connect power, upload the code, and voila, your kalediscope is ready!!!

Battery Powered Contest

Participated in the
Battery Powered Contest

Epilog Challenge VI

Participated in the
Epilog Challenge VI

Be the First to Share


    • For the Home Contest

      For the Home Contest
    • Game Design: Student Design Challenge

      Game Design: Student Design Challenge
    • Big and Small Contest

      Big and Small Contest



    6 years ago

    can anyone please share circuit diagram of board where led r connected?

    that looks great still I am unable to connect those led because I have lake of experience

    Pretty cool idea. Since you are going with LED and electronics couldn't you really get rid of the tube entirely or at least make it much shorter? If you were to angle 2 sets of mirrors (or a board with cut mirrors) you could project your matrix on to any surface (including refracted images if you used pieces as mentioned). Think a periscope but without the tube. Add a little servo motor to the mirrors plate and rotate them to get the kalidascope effect you are looking for. Alternatively put a piece of plexi over the mirrors with distortions, angles or other features in it which would play with the light.

    This could have a few advantages. 1) Eliminate (or at least reduce) the issue with brightness 2) Allow projection 3) Make the unit more discrete. 4) Change the mirror pattern for different effects.

    Anyway nice project.


    Reply 8 years ago on Introduction

    My apologies, but I couldn't understand the projection part. I may have misunderstood you, but if I cut the tube shorter only a small part of the reflected pattern will be seen. Also wat do you mean by the brightness issue?

    The servo and plexi idea is great!i'm also planing to use an accelerometer a and rgb LEDs in a later project. More ideas are welcome!


    Reply 8 years ago on Introduction

    Sorry if I wasn't so clear. Regarding brightness I meant the need for a diffuser since my suggestion would eliminate looking directly at the LED's. Regarding the projection of it maybe the image I attached will better explain the concept. It would basically be a shortened periscope. The kalidascope effect would be "projected" onto any surface that was in front of the mirrors.


    Reply 8 years ago on Introduction

    Yes it could be but you may be able to add a focus to it by making them adjustable.


    Reply 8 years ago on Introduction

    Maybe I should add another clarification about the use of plexiglass. I meant as a lens to refract light. Some kalidascopes use no mirrors just a concave and convex lens with a pattern on them. Think of a fly or bee's eye. So some sort of film or lens like http://lenticularprint.en.ec21.com/Dot_Fly_Eye_Len...

    That way you can achieve a kalidascope effect in a very short distance without the need of long mirrors. Rotating the lens or using multiple lenses rotating would give the movement of a kalidascope being turned.

    Hope that helps clarify my meaning. Again nice project and good idea ;)