Here’s a quick project I made in couple days or so. It is a push-pull step-down laser diode driver based on LT1683 SMPS controller chip from Linear Technology. The circuit works with 12-18V input and can put out about 1A to a 2V load. I used a PL140-105L planar ferrite transformer from Coilcraft which is quite overkill for this application (it is rated for 140W).
The circuit has a current clamping circuit (so you can limit the maximum current based on your laser diode), a self-enable circuit (which enables the driver after the +5V rail has stabilized) and an open-laser protection feature which limits the open-circuit voltage. The circuit is based on an application note from Linear.
I didn’t implement the open-laser feature because I accidentally used an SO8 footprint for the LTC1696 chip. It would have require some IC-yoga to get the SOT23-6 chip to fit there so I didn’t bother with it.
There is at least one gotcha with the driver, you need to use the enable signal (or the self-enable circuit) or you WILL get severe current overshoot on start-up because the error amplifier is saturated:
If you use the self-enable circuit or use some other method of enabling the circuit, it works great without any overshoot.
I was in a hurry so I got a some bugs on the PCB design, like having the + and – inputs on the LT1013 error amplifier the wrong way around, doh!