It is that time again! SparkFun Electronics will be closed Friday, January 13th for our annual inventory day. Please keep in mind that any orders placed after 2PM (Mountain Time) on Thursday, January 12th will not ship or be prepared for local pickup until we open for normal operations on Monday, January 16th. In addition, tours will resume on Friday, January 20th. Thank you for your patience!

Creative Commons images are CC BY-NC-SA 3.0

FemtoBuck LED Driver
project on
hackster.io project

Sensal - All Senses Alarm Clock
by Leonid Piliptsevich

Description: This is the FemtoBuck, a small-size single-output constant current LED driver. Each FemtoBuck has the capability to dim a single high-power channel of LEDs from 0-350mA at up to 36V while the dimming control can be either accessed via PWM or analog signal from 0-2.5V. This board is based off of the PicoBuck LED Driver, developed in collaboration with Ethan Zonca, except instead of blending three different LEDs on three different channels the FemtoBuck controls just one.

For the FemtoBuck, we’ve increased the voltage ratings on the parts to allow the input voltage to cover the full 36V range of the AL8805 driver. Since the FemtoBuck is a constant current driver, the current drawn from the supply will drop as supply voltage rises. In general, efficiency of the FemtoBuck is around 95%, depending on the input voltage. On board each FemtoBuck you will find two inputs for both power input and dimming control pins and an area to install a 3.5mm screw terminal. Finally at either side of the board you will find small indents or “ears” which will allow you to use a zip tie to secure the wires to the board after soldering them down. This version of the FemtoBuck is equipped with a small solder jumper that can be closed with a glob of solder to double the output current from 330mA to 660mA.


Recommended Products

Customer Comments

  • The control pin can be used to modulate some led at 38Khz for IR use? Thanks.

    • I doubt it. Modulating the control pin is going to cause the driver to reduce its current output, but I don’t believe it actually modulates the output, just changes the feedback set point.

  • Can I connect a single FemtoBuck to a bunch of LEDs in parallel? Specifically 3watt LEDs that are rated at a forward current of 600-700mA? I prefer a parallel circuit to one in series to keep the voltage low, but what happens to the current requirement? /—|>|—-|>|—-|>|—–\
    12V +–I—|>|—-|>|—-|>|——I–+

    Also, can the LEDs within the parallel branches that are in series be different? Thanks!

    • You can do this, but it’s not recommended. You’ll need one low resistance (1-2 ohm) high power (1-2W) resistor per leg, to provide a resistive element allowing the strands to have different LED forward voltages.

      It’s best if the LEDs on all branches are the same; the more different the forward voltages of the strings of LEDs are, the worse the balancing is.

      When you do this, the drive current will be more or less evenly shared between strings.

  • Can I hookup two of these from the same power supply? I want to be able to drive more than 8 LEDs with a 20V power source.

    • You can hookup as many to one power supply as the supply can handle. They’re about 95% efficient, which is to say, power out (Iout * Vleds) ~= 0.95(VsupplyIin). Solve for Iin.

  • --mi-- / last year / 1

    I have problem using FemtoBuck LED Driver. Probably I have made some stupid mistake. After connecting the device to Arduino UNO (same as it was shown in tutorial - the only diff is D9–>CTRL) and 12V led stripe I cannot obtain linear dimming. So PWM values are from 0 to 255 while light intensity values I get are 0% for 0 PWM, 20% for 1 PWM, 21% for 2 PWM…. 100% for 255 PWM. I am unable to get “soft start” - only rapid on (with 20% LED intensity). Please help Michal

    • How do you know 20% light output corresponds to 1 count PWM?

      Light output behaves in a non-linear fashion; the output of this is linear, that is, the current varies from 0 to 350mA in equal steps as you go from 0 to 255. Here’s a StackExchange article about correcting for that.

      • --mi-- / last year / 1

        This is my subjective observation - if I set manually PWM to 0 I got no light and when set PWM to 1 I got quite bright shining LED stripe. It is not important if this is 20% or 10% for me. For the current project I need to get soft start of the led stripe. This is the main purpose using FemtoBuck. It is not important if further fading out is linear either. I just got a black “hole” in brightness between 0 PWM and 1 PWM. I have no idea what could went wrong.


  • Does anyone know how much current the CTRL pin sinks when using it for dimming? My supply voltage is ~20V so I want to know how much power will be dissipated when I drop it down to 5V.

    • So after more datasheet digging I found that the CTRL internal resistance is 50 kOhm. Perhaps someone can verify my train of thought on this… since I = V/R = 2.5V/50 kOhm = 50 micro-amps? Is that the max current that would be sunk by the CTRL pin?

      And further, my supply voltage is 19.5V, if I drop it down through a 3.3V linear regulator and then use that voltage to control the dimming, would the power dissipated in the regulator be Watts = V * I = (19.5 - 3.3) Volts * 0.00005 Amps = 16.2 * 0.00005 = 810 micro-Watts. Does this sound right?

  • I’ve got a couple of these boards, they work great, very pleased. I have a particular application where I’d like to drive an LED fixture using these boards. The fixture has two channels: one blue, one white. Each channel is spec'ed for 24 watts max at 12v. I’m constrained to stay at the 12v voltage level in this application, so at least 2A would be needed per channel. Since the femtobuck can drive up to 660mA, would it be feasible to run 3 or 4 femtobuck outputs in parallel to drive a single channel? I’m very curious if this would be a suitable idea or this is merely a terrible, horrible, & foolish idea. Thanks fellow Sparkfunians!

    • I was looking through the hookup guide and in the section titled “Connecting to an Arduino or Compatible Board” and it very clearly states “Note that the LEDs are wired separately to each FemtoBuck! This is very important; the output of each FemtoBuck must be completely isolated from any other!” So if I understand your question correctly, I think that wouldn’t work.

      • I haven’t tried it; I’m curious as to whether it would work or not, though. I feel like it might do some weird stuff; the fact that the two (or more) devices wouldn’t be synchronized in frequency or in phase might mean that you’d get weird currents flowing in odd places.

        That said, if your lamp specifies 24W at 12V, it is almost certainly not a bare LED, but a lamp designed to be attached to a 12V power rail. If that’s the case, you don’t need a buck driver, just a 12V power supply.

  • “Hookup Guide” link:


    is broken.

    • Looks like the link got moved to https://learn.sparkfun.com/tutorials/femtobuck-constant-current-led-driver-hookup-guide-v12

  • Nice looking little board, and just the thing for a landscape lighting project I’ve got in mind.

    One thing to consider for future board revs: Add a couple more solder jumpers so the resistors can be configured in series as well. That would provide a 3rd current option of ~167mA without requiring any additional parts.

Customer Reviews

5 out of 5

Based on 8 ratings:

5 star
4 star
3 star
2 star
1 star

1 of 1 found this helpful:

Great little LED driver

Just what I was looking for, a small constant current driver for my COB and LED lights. The solder jumper allowing double the current is great, or I can simply replace the resistors and get up to 1A out of it if I so choose. Haven’t noticed any substantial heat buildup at all, so it’s a very efficient driver. Love the package size most of all since it can be fully enclosed in standards shrink tubing, and has indents for zip ties for easy attachment.

Very cool, works great!

Wired this up with 5 of the 3W warm white LEDs, a switch, and a cheap 24VDC power supply from ebay. About $25 total cost, plus a couple of hours to wire and mount components with hot glue. Slipped the femotobuck into heatshrink tube. With the default 330mA drive, this provides plenty of light for under our kitchen cabinets. My wife is happy, and that’s all that really matters…

Everyone wants one!

I hacked together a prototype “hat light” last weekend, and now everyone at work wants one. Used two 18650 cells, a pair of 1 watt LEDs, the FemtoBuck LED Driver, a toggle switch, and way too much hot glue… I work as a mechanic, and spend most of my time under trucks, and got tired of holding a light with one hand, and trying to work with the other. Seemed every time I needed a light, I also needed both hands. This is the perfect solution. Super efficient, too, have gone almost a week of normal use, on the first set of batteries. That would be 3 to 4 hours per day typically. Life is good!

Cool build, and great use for this!

Does just what it says

It’s small, it’s simple, it’s easy to hide in a piece of shrink tubing and it does exactly what it says it does. I don’t think you can ask for more than that.

Excellent LED Driver!

I have used the Femtobuck on multiple projects. Primarily I use them with my robotics team to drive LEDs that illuminate Vision targets. The true advantage to the Femtobuck is that it provides a constant light output from the LED regardless of the battery voltage. Additionally, with the dimming control input, you can vary the output as needed. The physical layout of the board also makes it very simple to secure wiring with zip ties to the board. It would be nice if these were available in 10 packs.

Awesome little dimmer module

I needed a very small form-factor dimmer with which to drive some 12 volt LED tape, and this thing was just the ticket! I powered it with two 9 volt batteries wired in series. For control, I tapped into V in with a small potentiometer (Sparkfun product # 9806) and used that with a couple of resistors to make a variable voltage divider.

All in all, it worked very well for the project and gave me a tiny dimming controller suitable for embedding into a hand-held theatrical type prop. My only complaint would be that there weren’t any example circuit diagrams on how to use it with an analog voltage, but that turned out to be fairly easy to figure out on my own.

Works Great

I have some of the SparkFun 3W LEDS, and I’m using this to drive them for a sign. It works great, and is easy + reliable!

Worked well

I used it to power some of the 3W warm LEDs from a solar battery source for a long camping trip. Worked very well!

Related Tutorials

FemtoBuck Constant Current LED Driver Hookup Guide V12

December 10, 2015

The FemtoBuck board is a high-efficiency, single-channel constant-current LED driver.