Laser Spirograph

laser-spirograph

Here’s a weekend junk bin project if we’ve ever seen one. [Pat] used a quartet of computer fans to make his laser Spirograph. Deciding to try this simple build for yourself will run you through a lot of basics when it comes to interfacing hardware with a microcontroller. In this case it’s the Arduino Nano.

The Spirograph works by bouncing a laser off of mirrors which are attached to the PC fans. When the fans spin the slight alignment changes cause the laser dot to bob and weave in visually pleasing ways. You can catch twenty minutes of the light show in the clip after the break.

Three of the fans have mirrors attached, the housing of the fourth is used to host the laser diode and make assembly easier. A TC4469 motor driver is used to connect the fans to the Arduino. The light show can be manually controlled by turning the trio of potentiometers which are read using the Arduino’s ADC.

If you manage your way through this build perhaps you’ll move on to a setup that throws laser light all over the room.

11 thoughts on “Laser Spirograph

  1. sweet build

    … add laser on/off control and add tach/position signal from motors to uC and you can code a vector graphics display.

    you could play astroids in the middle of the day projected onto a wall

  2. I built one of these (from a kit) about 25 years ago. It was from a Popular Electronics (or was it Electronics Now(?)) magazine, IIRC. You built the laser, and then you added it to the spirograph. Each of the motor’s speeds were independantly variable. That was probably one of the first electronics kits I ever built. The very first project I built was one of those AM/FM transistor radios from Radio Shack, back when RS was still a GOOD place for the blossoming experimenter.

  3. Wow, not enough pot in the world to make me wanna watch 20+ minutes of squiggly lines (with or without Pink Floyd playing in the background).

  4. Okay, I am confused. I am sure I am missing something, because if the three mirrors are perfectly parallel and in 90 degrees angles, how can any spinning cause them to reflect in different direction?

    1. Kubik, the mirrors are mounted on the axle of the fan but they are tilted a bit.
      So if you would aim a laser on that mirror, you will get a circle.
      In this case this circle is projected onto another mirror on the other fan.
      This allows you to combine the two circles into spirograph’s.
      By changing the rpm of one or both fans you change the spirograph.
      Changing direction also changes the image.
      I remember Ben Neeley’s Kit as well, i guess i have the same, in Europe it was done by ELV and Conrad back then. It was indeed about 25 years ago. I combined it with a alc-50 (50mW green argon laser) for very nice effects. (laser came from a very old printer)
      Tried it with 3 mirrors but did not add much to the effect imho.

      Grts
      Steve

      1. That makes sense, thanks a lot! I thought there’s some quantum effect caused by just spinning, or something, because I did not notice anything about tilting the mirrors. I do have a laser pointer so I might try it when I have some spare time, after I try out a Tesla coil first, of course :)

        1. yea very easy to do and there are many projects on the net to get you started.
          even to hooking it up to a pc and create nice effect and presets.
          Bouncing it off a mirror attached to a speaker also can create nice things also when mixed with the rotating mirrors.
          All depends on speeds of the mirrors etc. Nice motors to try are those out of old tape decks. variable psu and your good to go ;)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s