PWM and Frequency Controller (for Lasers and Diodes)




Introduction: PWM and Frequency Controller (for Lasers and Diodes)

About: "If opportunity doesn’t knock, build a door."

Today I will show you how to create a driver for lasers and LED that has independent pots for frequency modulation and duty cycle modulation. The main component of the driver is the 555 Timer IC. View the video to see this driver working. Between pauses I adjust the dials and I used a poor camera so the high frequency couldn't be seen. I try to spin the laser to show the frequency like I did in the picture below.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Get the Necessary Parts!

For this project you will need:

1X  LM555 Timer

1X 220 Ohm resistor

1X 100 Ohm resistor

1X 10K Ohm resistor

3X 100K Potentiometer

1X 100 Ohm Potentiometer (2X if you wan't to have a variable voltage regulator)

1X 0.1uF capacitor

1X 1uF capacitor

1X 0.1uF capacitor

1X 220uF Capacitor

2X LM350 or LM317 Voltage Regulator (the second is optional one is for the voltage regulator and the other for the current regulator)

2X Diodes rated above 2A 10V

1X NPN Transistor (general purpose transistors work for low loads)

1X LED or Laser Diode

Jumper Wire


All of the parts can vary slightly! The diodes can be almost any type and the pots can be any value as well.

Step 2: The Schematic

Put the circuit together. If you have any questions please comment below. The new schematic is an update with a current regulator, which is also connected to a pot so you can regulate voltage and current. If you would like to have a variable voltage supply then I recommend this website: This will help calculate values.

Step 3: Other Images

These are some other images of how it looks. I plan on putting this into a project box soon. If you have any questions or recommendations please post below! Thank you for viewing my instructable.

Be the First to Share


    • Backyard Contest

      Backyard Contest
    • Silly Hats Speed Challenge

      Silly Hats Speed Challenge
    • Arduino Contest 2020

      Arduino Contest 2020

    4 Discussions


    7 years ago on Introduction

    The pot in series with laser is not a very good idea - pots are usually very low current devices except of course if you use rheostat as a pot[entiometer]. This is the weakest part of pretty much all the constant current laser driver designs based on converted voltage regulators such as LM317.

    Also, I'm not sure the switching transistor in the part of the circuit that's after the LM317 will make it a very effective current regulator - may not be safe for the laser during the switching.

    If you use base PWM frequency of less than 40kHz (and preferably as low as 10kHz) , I think you may want to look into using a voltage regulator (in current regulating mode of course, just as that LM317)  with a built-in "Enable" function. It will greatly simplify the design and I think will make it more reliable, easier on the laser and will let you use much more powerful lasers, too.  I was able to fit my TTL-controlled (PWM up to 40KHz) laser diode driver onto a 1"x1.25" PCB and it should be able to drive up to 750mA. I haven't tried higher than 250mA  yet but I use it for laser cutting. For laser shows 250mA laser is already a formidable output device. Check out the laser diode driver design here , perhaps it can be useful. Just be sure you design yours not on the LT1121 voltage regulator like I did.  The darn thing is no longer available anywhere. It used to be a $0.30 chip couple years ago and now it's up to $7 each if you can find it. It's sister IC, such as LT1129 , has the same functionality (different package tho) and is still cheap and plentiful, use that one instead.



    Reply 7 years ago on Introduction

    I do see what you mean about having the transistor after the regulator. Would the regulators still function the same way if they have a pulsed or low duty cycle input? Thank you for your post.

    I tried this out using my arduino few months back. Even implemented in a small project...


    7 years ago on Introduction

    nice implementation of the 555 PWM circuit.  I made a stripboard layout for a similar one that Dave Jones put up on his youtube HERE