Wednesday, January 26, 2011

Laser diode driver circuit

Here's the schematic of an adjustable laser diode driver circuit. It's based on this post by nickname Daedalus on the Laser Pointer Forums. This post has gotten so popular that people are referring to the circuit as a 'DDL circuit' (DDL is Daedalus' signature in the forums). It's just a constant current driver, but Daedalus was the one who popularized the use of this in DIY laser scene.

From various sources in the internet, the voltage of the red 16x DVD burner led is found to be 3.2V and it's said (in various sources in the 'net) to withstand 250mA current. The laser output power is said to be 250mW. That is the power of the light coming out of the diode. It's not needed for these calculations.

The circuit, like this one, is using two 10 ohm resistors in parallel for the limiting resistor. So the total resistance is 5 ohms, and the resulting wattage is 2x the wattage of the resistors. 5 ohms results in a maximum output current of 250mA.

The two capacitors in the input and in the output can be for example 10 microfarads both. They are there to flatten any voltage spikes coming from the input. The bigger the caps, the flatter the voltages. 10 microfarads should be more than enough.

According to this Davshomepage article, the optimum input voltage is: LD voltage 3.2V + 3V needed by LM317 + 1V reserve = 7.2 V.

However, I'm planning to use this one with a 9V power supply. That means the LM317 will have to dissipate some extra power. Thus, I calculated some power dissipation figures. These are not necessary - if you use the same parts, the circuit will work just the same.

The maximum power dissipation in the whole circuit (including LD) is 9V*0.25A = 2.25 W.

Maximum power dissipation in the driver circuitry is 9V-3.2V*0.25A = 1.45 W.

Maximum power dissipation in the limiting resistor 1.25V * 0.25A = 0.3 W
(the LM317 makes sure there's always 1.25V over the limiting resistor. 0.25A is the maximum current)

Maximum power dissipation in the laser diode is going to be 3.2V * 0.25A = 0.8 W.
(3.2V is the laser diode voltage and 0.25A is the maximum current)

The main thing to look at here is the maximum power dissipation in the limiting resistor. So if I use two 1/4 W resistors, I get about 1/2 W rating for the parallel connection and that's more than 0.3W, so the resistors shouldn't burn out even with maximum output.

I will probably use some salvaged heat sink, at least for the LM317. For the LD (laser diode), the Aixiz module works as a heat sink and should be enough.

Parts list:
Laser diode from a 16x DVD burner drive
LM317 adjustable regulator (preferably in TO-220 package)
2 x 10 ohm 1/4 W resistors
100 ohm potentiometer
2 x capacitors, for example 10uF (microfarads)
A piece of metal as a heat sink for the LM317.
650nm 5.0mW 12x30mm Aixiz module (to house the laser diode)

Stay tuned for part II, where I'll build this circuit.

Related links: 
Davshomepage - Constant current source - A good page that helped me with the power calculations.
Laser Pointer Forums - Daedalus' DIY Homemade laser diode driver - The classic DIY Laser driver.
It can be done - Laser driver - Another page on the laser driver circuit.
LM317 on Wikipedia
National Semiconductor LM317 regulator datasheet
Resistors: color codes, wattages... - A great tutorial page for dummies.


  1. whats the point of building this whole circuit? Does it amplify the output of the laser more than usual or allow you to control it better or something? Might want to add a on an off switch too, I didn't see one. anyways I'm going to just put two AA's on my diode off broken dvd burner and see what happens.

  2. I am getting a bit fed up with ppl refering to this circuit. It's really bad to use a pot to handle the current like that.
    One should atleast calculate the maximum power dissappation in the pot. In this case the maximum power will be at the point where it matches the limiter of 5 Ohm, delivering 0.125 amps.
    There will be roughly 78 mW over the track-section in the pot.

    To keep it simple, the pot has a maximum current it can (should) carry and it's end-2-end. That means if you use a fraction of the resistance, you also have to limit the power to the same fraction.

    This really means the pot needs the same rating regardless of being in the highest power spot or not. A 1W 100 Ohm pot would effectively have a max current through the entire pot of 100 mA. (0.1^2 * 100 Ohm = 1W)
    Regardless of what portion of the pot you use, that portion will have to carry that current. To reliably use the pot it has to be below the pots rating.

    In this situation we have a 250 mA current. A 100 Ohm pot thus has to have a rating of 0.25^2 * 100 = 6.25 watts. This is not a practical pot...

    Thus, this is not a safe circuit.

  3. Thanks for the constructive comments!

    @ first commenter:

    This is kind of the first prototype I'm building, still haven't got around to it, though.

    I've been planning to control the laser through Arduino or another MCU controller, with relays probably. Thus, for this prototype I'm not even interested to put any on/off button at the moment. With this circuit, I'd just like to try out the laser in order to select a laser and a current for it. I really didn't make it clear enough in this text.

    @ second commenter:

    This is true, thanks a lot for clearing it out. Pots should not be used in this case, instead some resistors and maybe some switches to adjust brightness.

    However, the pot should work long enough so you can experiment and come up with resistor values that are good for your purposes (that would give enough brightness without burning too hot).

    In worst case, if the pot fails as a short connection, the 5 ohm resistor will limit the current anyway, so for experimentation this circuit should do fine, in my humble opinion.

  4. @ZF:

    Don't use relay to control the laser, it's not going to like it!

    Since you planning to use it for CNC purposes, a complex Gcode file may contain thousands of on-off cycles *in one file*. You're going to wear the relay out very soon if it's for anything that does automatic on-off control, such as CNC, laser shows etc.

    Try using a laser diode driver like this: that uses a regulator with built-in "enable" control. I'm using it in my DVD-CNC project and have cut dozens of hours with it (paired with a 200mW red laser diode)

    Also, the use of the pot for current control in most cases is not a requirement. It *is* possible to find a pot rated for the current that goes through it but it's very expensive (more expensive than the laser itself) and so everyone just uses little 1/8W ones where it actually needs to dissipate at least 1W (and likely more). I think that's what irked Anonymous in the comment above. I just find myself always using regular resistors for circuits like this. You're either fiddling with the current or using the laser diode - never both at the same time. Makes sense to just pick the right constant values of cheap normal resistors.


    1. What fixed resistor would I use in place of the pot to get about 1.6A for a M140 diode?

      I have access to any resistor in 1W, 5W and 10W variants but I have no pot above 1/8W where I can just tun it until it reaches 1.6A output where I can use multimeter to measure its resistance and get a fixed resistor from there. Im not good at the whole math thing.

  5. I have used reed switches before, they last a while.
    But yes a conventional non encapsulated relay will quickly burn out in continuous use.

  6. Great post with nice info.It is interesting....ATI offers a broad range of laser diode controllers: AC input laser drivers and DC input laser controllers. The latter includes high efficiency laser controllers, ultra low noise laser controllers, and dual mode laser controllers.