2 Transistor current source
This is one of the simplest to construct current source, yet its operation is very reliable and suited for driving laser diodes. Depending on the current demand and voltage drop, a heatsink for the BD139 transistor will be required.
Q1 will ensure a constant voltage of 0.6 to 0.7 volts over Rset. The value for Rset therefore determines the output current of the circuit, according to this formula:
Iout = 600 / Rset (in mA)
For example, using a 2 ohm resistor will result in an output current of 300 mA or so, slightly depending on the exact transistors used. With rising temperature the current will lower very slightly, which prevents any thermal runaway.
The minimum voltage drop required for this current source is only 1.1 volts with the schematic as indicated, and could be lowered to well under 1 volt if Q2 is replaced by a mosfet. I have used this current source to drive red, bluray, 445 nm and 808nm pump diodes for 532nm green lasers succesfully.
Heatsinking requirements can easily be determined by calculating the dissipation in Q2:
P = (Vin - Vout) * Iout
For example, when driving a red laser diode that has a 3 volt drop at 200 mA, the power dissipated would be 0.4 watts. The typical junction to air thermal resistance of a SOT-32 case is 100 K/W, which means the transistor would rise 40 degrees above ambient temperature. This is acceptable for room temperature environments, and no heatsink is required.
Note: If you'd rather have a circuit that has the diode connected to ground, you can build an exact mirror image of this circuit using PNP transistors (BC557 and BD140). This may be very useful for building portable red lasers where the diodes negative terminal is connected to the case, and you want to the battery negative at ground potential too. Calculations for current and dissipation will be identical.