Creative Commons images are CC BY-NC-SA 3.0

$ 14.95

added to your
shopping cart

quantity
In stock 44 in stock
14.95 1+ units
14.20 10+ units
13.46 25+ units
12.71 100+ units

Description: The PicoBuck LED Driver is an economical and easy to use driver that will allow you to control and blend three different LEDs on three different channels. Power in supplied to the PicoBuck with a wide range of input voltages (6v to 20v) connected to the VIN header and three inputs for each driver channel (labeled IN1, IN2, and IN3) driven with standard 3.3v or 5v logic.

This PicoBuck supports PWM control so long as the signal is above a minimum of ~1.5V and each LED is driven to ~350mA.

Note: If you’re going to use screw terminals, this board uses two different sizes. Check the related products for both sizes you’ll need.

Note: The PicoBuck LED Driver was made in collaboration with Ethan Zonca. A portion of each sale is given back to him.

Documents:

Recommended Products

Customer Comments

  • I’ve been playing with one of these in a test bed for my Aquarium LED setup.

    One annoying thing I’ve noticed is that when you first turn it on the LEDs are on full brightness until the microprocessor boots and takes over.

    As a test I added a 10k pulldown resistor between the PWM input and ground. This worked well an 0805 resistor sitting on it’s side fits just perfectly on the bottom of the board.

    Do you think this is something you’d like to add to the design?

    I’m just modifying the eagle files now for me but I thought others might find it useful too.

  • Awesome! This is working perfect for my arduino bike light project! BUT, I’m a little unsure of how to actually mount the darn thing. Any advice?

    • For a bike light I’m going to use a two-part epoxy and just kind of slather it on. I’m using the strap from a defunct bike light as the base.

      Normally I use hot glue for a lot of these sorts of things, but I don’t trust it not to get brittle in the cold or soft in the sun.

  • This doesn’t drive strips that have a common cathode or a common anode. Do you have any drivers that do support common cathode or anode strips?

    EDIT: Actually, my question doesn’t make sense after thinking about how PWM works.

    • If you want to drive non-addressable LED strips, I’d recommend PWMing some mosfets. Current-limiting resistors are built into the strips, so you don’t need a constant current power supply.

      https://www.sparkfun.com/products/12901

  • I’m having some unexpected behavior from the PicoBuck. I am running only two channels. One with a Red “3 Watt” LED and one with a Blue “3 Watt” LED. I am powering this with the +12vdc rail of an old PC power supply. I am controlling each of the channels with a separate PWM output from a Arduino Nano. I am reading two separate pots to set the output value used to drive each channel. [pseudocode analogWrite (BlueLEDpin, analogRead((BluePot)/4)] The problem is, it appears I have a lot of cross talk between the two channels. If only one channel is connected, I can control it’s brightness without issue. But, if I have two channels running, both pots change the brightness of both LEDs. Using serial.Print shows that each value being written out is in the expected range of 0-255. There is no cross control happening there. This leads me to believe the issue may be in the PicoBuck it’s self.

    Any ideas?

    [EDIT] I looked into the specs on the AL8805W5 and found it works more reliably with <= 500Hz control signal. Since I am using pins 5 & 6 from the Arduino, I may be getting ~980Hz . Additionally, pins 5 and 6 use T1 for timing, as does the “delay()” command. These two items combined may be causing the issue. More testing later. I will post the results [/EDIT]

    [EDIT2] Yes, it is as I expected, using D5 & D6 for PWM output, along with code that includes “delay()”, is NOT a good idea. I simply moved the control signals to D10 & D11 and the PicoBuck worked perfectly. I am tempted to remove my original post, but if it helps someone else to fix a problem, then I am happy to leave my oversight posted. [/EDIT2]

  • tc123 / last year * / 1

    I have a 10W RGB led that has 4 die in series for each color, the green/blue channels have a 10-11V Vf. Will this work with a 12V input?

    • I think that should work fine. Considering the efficiency of the regulator and on-resistance of the switching FET (typically about 0.25 ohms) I don’t think there should be much of an issue. the AL8805 should be able to regulate with ~1V of headroom, although I haven’t personally tested it.

      • I just tested it at about a 0.5V above the Vf of a string of blue LEDs and it works fine.

        Didn’t check the efficiency though, so YMMV on that front.

        • Thanks for testing it! I’m going to buy one to play with.

      • Thanks for the reply, I’m going to try it out.

  • PWM Noise? Crosstalk? I’m wondering if anyone has any experience working with these in parallel with a microphone or other high resolution analog sensors? Do these generate a lot of electrical noise that gets picked up by analog sensors?

    I’m considering these for my next project iteration, and looking to eliminate the noise caused by these constant current circuits. http://www.instructables.com/id/Circuits-for-using-High-Power-LED-s/?ALLSTEPS

    Thanks all! =]

    Details ( I can use high frequency PWM on my teensy3.1 at 10-11bit depth to escape the “audible” range of my FFT audio analysis, however I need to use 16 bit pwm, which gets easily picked up by my FFT. My diagnostics indicated the noise wasn’t EMF from signal lines, but noise in the power rails likely from the pulse draw. This gets heard by the teensy on all sensors, even when my mic is connected to the isolated +3.3v of the teensy and separate analog ground. +5v 2A power from wall-wort otherwise)

    • I built the basic picobuck circuit into a device and made it past 60601-1 3rd edition emission and interference testing with zero problems. I mean it was silent. Beautifully silent. If you do your own circuit board, make sure you follow the layout recommendation in the AL8805 data sheet, and put your inductor in the right place.

    • I have worked with Ethan Zonca a lot in applying this circuit for lighting and audio purposes. Keeping this short, I will say I have experienced audio problems with PWM and noise while driving high current LEDs. However, this is easy to fix. The 2.2uF capacitors help offset most of the noise generated by the current limiting switching, which is about 500kHz (well out of audible noise range). To eliminate the PWM noise which is created by line drops from the high current draw it really helps to add some bulk capacitance at the power input of the picobuck. I recommend a 10uF ceramic and possibly even a 20uF or more electrolytic depending on your wiring situation. The longer your power wires, the more bulk capacitance you may require.

  • i was looking at your bill of materials, because i was wondering if this circuit could be driven with 24v. i need to make it work with an already existing architecture. you are mentioning higher voltage caps. would one also have to use a diode with a higher “Voltage – DC Reverse” ? I think the currently used diode has a rating of 23V. thx

    • Yes, you’d probably need to replace that diode as well.

      The components selected were chosen based on availability (basically, what we have in stock already) and size (to keep the board size down). It’s possible that there could be some higher-voltage replacements available out there that would allow you to bump the input voltage up to 24V.

      You could also just try it at 24V, depending on the nature of the application. Exceeding the voltage ratings <strike>may</strike> will shorten the life of the board; maybe that doesn’t matter for your application.

  • i am driving the driver with a PWM signal from a teensy micro controller. it works fine. but the datasheet says: “The CTRL pin is designed to be driven by both 3.3V and 5V logic levels directly from a logic output with either an open drain output or push-pull output stage.”

    i know if i drive the rebel led driver (from sparkfun) with a regular PWM pin from an arduino it will burn the driver, because it too needs an open drain PWM signal.

    so why is the picobuck ok with using a regular PWM?

  • i’m interested to know how this led driver would compare to something like the TLC5940. certainly this one can handle higher amp leds but when using multiple channel of the TLC one could get similar or more current sinking. i guess i am just hoping to learn a bit more about the different options out there. thx.

    • The efficiency gain for the PicoBuck is what makes it worth using. Because it’s a switch-mode current regulator, it’s capable of reaching much higher efficiency levels.

      Something like the TLC will have a very low efficiency- for a 3V LED in a 5V system, your efficiency would peak at 60%. The other 40% is dissipated as heat in the driver, which can destroy the chip.

      • thanks for the info.

        so if someone would supply the TLC/LEDs with the right voltage (3V), by using a DC switching regulator (24V -> 3v), the efficiency would get better?

        I am not trying to find arguments against the picoBuck. it’s a beautiful setup. I am just noticing that the TLC produces no flicker. See my other post. thx.

        • Yes, reducing the supply voltage improves efficiency.

          Also, since the TLC is also a PWM-based dimmer, you’ll probably see flickering with that too.

          • using this opto coupler 6N137 did not work.

          • at this point i tried driving the picoBuck from hardware PWM and software interrupt PWM of an arduino and both method caused flicker.

            then i tried the TLC from an arduino and did not see flicker.

            my preferred option would be using 16 picoBucks via a the 16 channels of a TLC. maybe by using a optocoupler.

            here is a video with the picoBuck on the left and the TLC for the 2 leds on the right: https://www.dropbox.com/s/0srg5wrzc54czh5/2013-12-19%2015.52.10.mp4

            • Thanks for the video! I noticed two things in the fade on the left, the flicker (mentioned in a comment below) where the light appears to go off for second is looks like a recording artifact for 30 frames per second. I’ve seen it two through cameras, BUT you don’t see that with your eye correct?

              Also there seem to be subtle, interior pulses as the brightness rises… Are those only from this driver? Overall, is the fade as smooth as a single 5mm LED in the basic Arduino fade example?

  • the drivers work great with a PWM adjust signal. but when looking at the leds through a camera i can see flicker. the flicker changes depending on the PWM frequency but never goes away completely. i am wondering if you had any experience with using a DAC to control the brightness?

    • I haven’t driven a PicoBuck with a DAC, but I have tested analog control with a bench power supply as the control input. Just have your DAC generate a voltage between .5V-2.5V to the control pins. The control pin only takes microamps to drive, so you shouldn’t need any buffering of your DAC’s output. Keep in mind that analog control can only dim from ~20% to 100%, so you may still want PWM if you need low (<20%) brightness.

  • I tried to use a 19.4V Vin and the AL8805 on Channel 3 fried. This page lists the input voltage range as 6V to 20V. Is the range of input voltages incorrect or do I have a faulty product?

    • If you haven’t already, contact techsupport@sparkfun.com and let them know that your PicoBuck failed when operating within the product specs. PicoBucks have been run above 19v successfully, so you probably just got a bad board.

    • The AL8805 itself should be fine up to 36V according to its datasheet. It’s always possible you just had bad luck with that component.

  • would it be possible to use the WS2801 IC PWD pins to drive these LED drivers, since the WS2801 can only handle up to 150ma and the PicoBuck up to 700 ma.

    i used a ZXLD1350ET5TA led driver before, which looks very similar to the AL8805W5 but i needed an open drain pwd.

    • Stephan,

      I’m unfamiliar with the WS2801, but it does look like you could use that IC to drive the inputs of the PicoBuck. The datasheet includes an app note where the WS2801 is driving external NPN transistors–all you’re doing is replacing that transistor with a channel of the PicoBuck

      • cool. i will give it a try. with my old circuit, as mentioned before i needed to set my micro-controller output to be an open drain, otherwise the led driver actually started smoking when driving it to full brightness - analogWrite(255). would this be a worry here too?

  • Hi there,

    how do i adjust the brightness of each led that i am connecting to this thingy? I am hooking up an RGB LED that has individual leads for + and -. So far it always seemed that the Red channel is brighther than the others for example, so in order to make them mix nicely i need to do some adjustments, yes?

    Thanks, Dave

    • Hey Dave,

      There are 2 ways you can adjust the brightness: apply a 0-2.5v analog voltage to each of the control pins, or send a PWM signal to each input. Check out the “Hookup Guide” linked above, it should point you in the right direction.

  • The link to the GitHub page isn’t working, and the protofusion site seems to be down. I’d love to know what the maximum LED current drive of this is, but I can’t find that information.

    • Sorry about that. The GitHub page didn’t have the correct permissions set on it. I’ll get that fixed right away!

    • The current drive of the PicoBuck is 350mA per channel (set by an 0805 current-sensing resistor). My site (protofusion.org) should be back up this evening! We just had a hardware failure.

      • Thanks. Wow, that looks awesome! I’ve been trying to design (or buy) something just like this. I need to power 12 RGB LEDs (as 36 independent channels) with relatively high efficiency, at up to 700ma per channel. Is the efficiency of this buck driver affected much by the difference between the Vin and the LED’s Vfwd? It looks like I could probably use 12 of these (4 for red, 4 for green, 4 for blue, with Vin on each set close to the Vfwd of that colour) with different current sense resistors (0.14Ω?) I guess my question is, would it be able to handle that amount of current, possibly with heatsinking?

        • The PicoBuck should be able to handle around 700mA of current if you replace the current limiting resistors with 0.14Ω. I wouldn’t go much above 700mA, as that is approaching the current limit of the diode. Also, if you don’t need independent control of each LED, you can attach multiple LEDs of a color in series (as long as your input voltage is 1.5v+ more than sum of your forward voltages).

          A large difference between Vin and Vfwd (running a 2.5v led at 700ma from a 9v supply ) yields about 76% of efficiency. Increase that to a Vfwd=5v and efficiency jumps to 88%. In either case, you shouldn’t need any heatsinking (as far as the numbers go).

Customer Reviews

4.3 out of 5

Based on 3 ratings:

5 star
2
4 star
0
3 star
1
2 star
0
1 star
0

1 of 1 found this helpful:

worked pretty good

Only thing that would be nicer is if it didn’t turn on while controller is off


0 of 1 found this helpful:

bad contact

I asked some questions according the board, tried it 3 times and didn’t get any answer. So the Resume: product ok - Contact and communication extrem bad / nothing. So i will buy never here.

Hello, It appears that we received an email from you on April 15, and replied to you the same day. We tried to answer all of your questions in that email. That’s the last we heard from you. I’m sorry you were not satisfied with our technician’s response.


Good solution

I use the PicoBuck LED driver with the high power LEDs on my 4WD robot and seems to be the right fit for it. I plan to use the PWM feature in the future. AC/.


Related Tutorials

PicoBuck Hookup Guide

August 30, 2013

The PicoBuck board is a high-efficiency three-channel constant-current LED driver.