Given the length of this thread and the way things have changed I'm going to make an attempt to summarize the "current state" of our DIY LED efforts. We're generally using two ICs right now so I will write a bit about each.
The
CAT4101 is a linear constant current LED driver. Datasheet is here:
http://www.onsemi.com/pub_link/Collateral/CAT4101-D.PDF
It is limited to 1A and 25v. The 25v limit means it maxes out at 6 - 7 typical HP LEDs. It can be controlled via PWM. The fact that it's linear means it turns extra power into heat. This is a big caveat - if you use this chip, you MUST carefully consider the voltage of your DC power supply vs. the voltage required by your LEDs. The power supply needs to be at least .5v higher than your LED string needs, but any higher than that means you're getting less efficient - and if you get more than a few volts of difference, the driver will overheat and shut down.
The circuit required is very simple, there are basically two capacitors and a resistor. The chip is surface mount but very easy to solder, and most designs make use of large SMT components so it's a good introduction to surface mount. The only real decision to make for component selection is choosing a sense resistor to get the drive current you want in your LEDs. There is a table in the datasheet that lists appropriate values.
There are a few pcb designs. TheFishMan65 has a design with 5 drivers on the same PCB, connections for a pot to dim, and some other nice features. I have a design that assumes PWM dimming and has three drivers per PCB:
http://code.google.com/p/hpled/downloads/list
Look for the CAT4101 files.
The
LM3409 is the other current "favorite" chip. It has a datasheet here:
http://www.ti.com/lit/ds/symlink/lm3409.pdf
The chip has provisions for dimming by PWM or analog signal. In the HV version, it will work up to 75v, though higher voltages start to become questionably dangerous. Most people either use the "normal" version around 24 - 30v, or the HV version up to 48v or so. It is a switching controller and uses an external MosFET to control current. It's limited to 5A drive current. The high current and high voltage limits mean it can drive very large and complicated LED arrays (theoretically up to 375w, but practically most people don't go above maybe 150w). This is a great driver if you have a large LED array but it's very flexible (and not that expensive) so it is also often used for smaller or low-power arrays that need flexibility not available in other chips.
This flexibility comes at a price. The chip is much harder to solder (very fine pitch and a ground pad on the bottom that's not exposed). Also, component selection requires lots of careful planning and some pretty wild math. There's a spreadsheet here to help with component selection:
http://code.google.com/p/hpled/source/browse/trunk/lm3409/lm3409_component_worksheet.xls
Component selection basically consists of determining your expected input and output voltages and desired drive current, then determining the Roff (timing resistor) to get a reasonable frequency. Once you know frequency you can choose the inductor to get a reasonable ripple. Then you can fine tune the drive current by adjusting Rsense and tune input and output ripple by selecting the right caps. Also you need to carefully consider the current and voltage limits on the components you choose, as it's typical to bump against the limits on some of the components (particularly the diode, FET, and inductor).
terahz has the most commonly used design for this chip, it allows PWM or analog dimming. As soon as I find the most recent version I'll link it here, or maybe he will come along and do so.
At a very high level, I would choose between the two ICs like this: If you need 1A or less of drive current, and can get a DC power supply closely matched to your LEDs' Vf, and don't mind being limited to 6 or 7 per string, use the CAT4101. If any of those things aren't true, use the LM3409.