

The FemtoBuck LED Driver (SparkFun Part ID: 12937) is a compact, high-efficiency LED driver designed to regulate output current using a buck converter topology. This ensures optimal brightness and energy efficiency when driving LEDs. Its small form factor and robust design make it ideal for applications requiring precise LED control.








The FemtoBuck LED Driver is designed to work with a wide range of LEDs and offers the following key specifications:
| Parameter | Value |
|---|---|
| Input Voltage Range | 6V to 36V DC |
| Output Current | Adjustable up to 350mA (default: 330mA) |
| Efficiency | Up to 95% |
| Dimming Control | PWM or Analog (0-2.5V for analog dimming) |
| Operating Temperature | -40°C to +85°C |
| Dimensions | 0.8" x 0.8" (20.3mm x 20.3mm) |
The FemtoBuck LED Driver has six pins, as detailed below:
| Pin Name | Type | Description |
|---|---|---|
| VIN | Power Input | Connect to the positive terminal of the power supply (6V to 36V DC). |
| GND | Power Ground | Connect to the ground terminal of the power supply. |
| LED+ | Output | Positive terminal for the LED load. |
| LED- | Output | Negative terminal for the LED load. |
| DIM | Input | Dimming control input (accepts PWM or analog signals). |
| EN | Input | Enable pin. Pull high to enable the driver, or low to disable it. |
VIN and GND pins. Ensure the power supply can provide sufficient current for your LED load.LED+ pin and the negative terminal to the LED- pin. Ensure the LED's forward voltage and current requirements match the driver's specifications.DIM pin.DIM pin.EN pin high to enable the driver. If left floating, the driver will remain disabled.The FemtoBuck LED Driver can be easily controlled using an Arduino UNO for PWM dimming. Below is an example code snippet:
// Example: Controlling FemtoBuck LED Driver with Arduino UNO
// Connect the DIM pin of the FemtoBuck to Arduino pin 9 (PWM capable).
const int dimPin = 9; // Arduino pin connected to FemtoBuck DIM pin
void setup() {
pinMode(dimPin, OUTPUT); // Set the DIM pin as an output
}
void loop() {
// Gradually increase brightness
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(dimPin, brightness); // Write PWM signal to DIM pin
delay(10); // Small delay for smooth transition
}
// Gradually decrease brightness
for (int brightness = 255; brightness >= 0; brightness--) {
analogWrite(dimPin, brightness); // Write PWM signal to DIM pin
delay(10); // Small delay for smooth transition
}
}
LED Does Not Light Up
LED Flickering
Driver Overheating
Dimming Not Working
Q: Can I use the FemtoBuck to drive multiple LEDs?
A: Yes, but the LEDs must be connected in series, and their combined forward voltage must not exceed the input voltage minus the driver's dropout voltage.
Q: What happens if I exceed the maximum input voltage?
A: Exceeding 36V may damage the driver. Always use a power supply within the specified range.
Q: Can I use the FemtoBuck without a dimming signal?
A: Yes, the driver will operate at full brightness if the DIM pin is left floating or pulled high.
Q: How do I adjust the output current?
A: Replace the onboard Rset resistor with a different value. Refer to the datasheet for the appropriate resistor value for your desired current.
This concludes the documentation for the FemtoBuck LED Driver. For additional support, refer to the SparkFun product page or datasheet.