LASER Pattern Generator




Introduction: LASER Pattern Generator

About: A solution architecht by profession, engineer by thought!

I have made a small LASER pattern generator using simple DC motors. I had made my first as a kid in school with no speed control what so ever. This one is controlled by an Adruino UNO and L293 motor driver.

Step 1: Parts Needed

This is a very simple setup. The following parts are needed.
2 DC motors
2 round mirrors
something to mount mirros on to the motor rotor. (a gear head will help)
Adrduino UNO
Power to run the motors 6V AC to DC convertor
connecting wires

Step 2: Making the Connections

I had followed a guide to connect L293 D to run 2 motors. I modified the circuit to include speed control.
The attached picture shows how it has been connected. The digram shows how the wiring was done. Speed control was done with PWM via Arduino.
One motor runs at a constant speed of PWM value of 32 and the other ones speed can be increased or decreased via two push buttons. 
When both motors run at same speed a constant ellipse is displayed.

Step 3: Connections and Code

We need to attach the mirrors to the motor rotors. For this I used simple gear heads and stuck the mirrors on the top aligning the centers as close as possible. P

Alignment is very important for this to work but a little bit here and there will do

The laser is focused on the motors mirror running with constant speed. This displays a circle on the wall. Now place the second motor in such a way that the LASER bouncing from the first mirror falls totally on the second one. The mirrors have to be very close for this to work.

Switches are to be connected to the Arduino input pins 1 and 2.

A variable stores the value of the PWM for second motor and the pressing of the buttons brings the state to LOW. And when ever this happens the factor is incremented or decremented as per the switch being pressed.

Now connect the wires connect the Arduino the USB and upload the code.

Step 4: Run It

Once done uploading the code.
In my case one of the motors start to run but the other stays still. To make that run the button has to be pressed to increase the PWM value as I started with a very low value of 16 which was not able to run the motor.
As the speed is changed various circular patterns are formed on the wall.

when the speed are contant for both the motors then we get an ellipse.

Arduino Challenge

Participated in the
Arduino Challenge

Be the First to Share


    • Puzzles Speed Challenge

      Puzzles Speed Challenge
    • "Can't Touch This" Family Contest

      "Can't Touch This" Family Contest
    • CNC Contest 2020

      CNC Contest 2020

    3 Discussions


    6 years ago on Introduction

    You have inspired my next project.
    It was something I made back in the 80's, but it was all analog.
    You've given me a great idea on how to make it AVR controlled.

    It's going to be awesome if it works out!
    Thanks for the spark!


    8 years ago on Introduction

    from the looks of the video you need to use power modulation rather than pulse modulation for speed control to take the jitter and breaks away


    Reply 8 years ago on Introduction

    That is my crappy cell phone camera. Other wise the patterns are very smooth. Will try to record a better one and post.