PicoBuck Hookup Guide v12

Pages
Contributors: SFUptownMaker
Favorited Favorite 7

Introduction


Developed in collaboration with Ethan Zonca of protofusion, the PicoBuck is a small-size, triple-output, constant current LED driver. By default, each channel is driven at 330mA; that current can be reduced by either presenting an analog voltage or a PWM signal to the board. Version 12 of the board adds a solderable jumper that can be closed to increase the maximum current to 660mA. It also increased the voltage rating on the various components on the board, allowing the board to be used up to the full 36V rating of the AL8860 part.

It's important to note that the PicoBuck is designed for lighting either single LEDs or LEDs in series. Most LED strips are designed to be fed by a constant voltage and should not be used with the PicoBuck.

PicoBuck LED Driver

PicoBuck LED Driver

COM-13705
$17.50
11

Suggested Reading

Here are some topics you should know before using the PicoBuck. Have a look if you need more information.

Voltage, Current, Resistance, and Ohm's Law

Learn about Ohm's Law, one of the most fundamental equations in all electrical engineering.

Pulse Width Modulation

An introduction to the concept of Pulse Width Modulation.

Resistors

A tutorial on all things resistors. What is a resistor, how do they behave in parallel/series, decoding the resistor color codes, and resistor applications.

Light-Emitting Diodes (LEDs)

Learn the basics about LEDs as well as some more advanced topics to help you calculate requirements for projects containing many LEDs.

Electric Power

An overview of electric power, the rate of energy transfer. We'll talk definition of power, watts, equations, and power ratings. 1.21 gigawatts of tutorial fun!

PicoBuck Overview

Since the PicoBuck is a constant current driver, the current drawn from the supply will drop as supply voltage rises. At 12V, the PicoBuck drives the three LEDs on our Luxeon Rebel Triple Play board at 350mA per LED while drawing less than 350mA total from the power supply. You can also use the board to drive any high power LED like the ones listed below. The PicoBuck is perfect for using with the triple output high power RGB LED or driving a few high power LEDs in series.

Triple Output High Power RGB LED

Triple Output High Power RGB LED

COM-15200
$5.50
LED - 3W Aluminum PCB (5 Pack, Cool White)

LED - 3W Aluminum PCB (5 Pack, Cool White)

COM-13105
$8.95
4
LED - 3W Aluminum PCB (5 Pack, Warm White)

LED - 3W Aluminum PCB (5 Pack, Warm White)

COM-13104
$8.95
8

LED - 3W Aluminum PCB (5 Pack, Red)

COM-13106
3 Retired

LED - 3W Aluminum PCB (5 Pack, Blue)

COM-13107
Retired

LED - 3W Aluminum PCB (5 Pack, Green)

COM-13185
Retired

Control Pins

Three signal inputs are provided for dimming control. You can use the PWM signal from an Arduino or your favorite microcontroller to dim each channel individually, or you can tie them all to the same PWM for simultaneous dimming. A separate ground pin (labeled GND) is provided to reference against the controlling module for accuracy. The pin spacing for the two pairs of pins is 0.1", but the two pairs are slightly 0.2" apart, to allow for a 2.54mm pitch screw terminal pair to be used, or for a five-position standard 0.1" header with the middle pin removed.

Break Away Headers - Straight

Break Away Headers - Straight

PRT-00116
$1.75
20
Break Away Headers - Long

Break Away Headers - Long

PRT-10158
$3.25
3
Screw Terminals 2.54mm Pitch (2-Pin)

Screw Terminals 2.54mm Pitch (2-Pin)

PRT-10571
$0.95
3

Dimming can be done by an analog voltage (20%-100% of max current by varying voltage from 0.0V-2.5V) or by PWM (so long as PWM minimum voltage is less than 0.4V and maximum voltage is more than 2.4V but not more than 5V) for a full 0-100% range. Avoid analog voltages above 5V, as these may damage the part.

Signal Inputs

Signal Inputs

Input Voltage (VIN)

The power supply pads are sized for 3.5mm screw terminals as are the output pads.

Power Input

Power Input

3.5mm screw terminals or hookup wire can be used to connect to the pins depending on your personal preference.

Hook-Up Wire - Assortment (Solid Core, 22 AWG)

Hook-Up Wire - Assortment (Solid Core, 22 AWG)

PRT-11367
$21.50
39
Hook-Up Wire - Assortment (Stranded, 22 AWG)

Hook-Up Wire - Assortment (Stranded, 22 AWG)

PRT-11375
$22.50
19
Screw Terminals 3.5mm Pitch (2-Pin)

Screw Terminals 3.5mm Pitch (2-Pin)

PRT-08084
$1.05

Channel Outputs

The output pads are also sized for 3.5mm screw terminals. Each output is independent from the other two.

Output Pads

Output Pads

Note: The PicoBuck cannot be used to drive a common anode or common cathode LED or LED string, and the individual channel +/- pads must not be connected to one another.

Default Current Output Per Channel

A small jumper is provided for each channel to allow you to increase the drive strength from 330mA to 660mA. More information on this can be found below.

Solder Jumpers

Solder Jumpers

Alternative Current Output

It is possible to increase the maximum current of the PicoBuck board up to 1A per channel; to do so, replace the three current sense resistors with smaller values. To calculate the new value for the resistor, use this formula:

ILED = 0.1 / Rset

Thus, for a 1A current, you'd want a 0.1Ω resistor. Don't forget to be wary of current ratings. At 1A, the sense resistor will be dissipating 1/10W, so you probably want a resistor of at least 1/8W rating. The package is a standard 0805.

Current Set Resistors

Current Set Resistors

Closing the Current Setting Jumpers

Demonstration of closed jumpers

As you can see from the image above, the solder jumper doesn't need to be closed particularly neatly. All of the pads in its vicinity are connected to it anyway, so if you glob a little extra solder on, it's no big deal. Just be careful not to actually short the resistors, as in the rightmost circuit!

Mounting Holes

Two mounting holes for 4-40 or M3 screws are provided on either side of the board. They are perforated so they can be easily snapped off with a pair of pliers, if a smaller footprint is desired.

Mounting Holes

Mounting Holes

Dimming with a Microcontroller

As mentioned earlier, the PicoBuck's three channels can be individually dimmed by either varying the input voltage of the channel from 0-2.5V or using a PWM signal. You could use a preprogrammed microcontroller like the capacitive touch potentioemter or custom control each channel using any microcontroller with PWM outputs.

Pre-Programmed Capacitive Touch Potentiometer

If you are looking for a preprogrammed microcontroller with capacitive touch capabilities, check out the Touch Potentiometer. There is additional software that can be used to fine tune the settings of the capacitive touch potentiometer.

Touch Potentiometer Controlling the PicoBuck
Touch Potentiometer for PWM Lighting Controller

Arduino

Otherwise, the PWM signal from an Arduino board is also perfectly suited for this.

Connecting One LED Per Channel

Here's a diagram showing how to connect the PicoBuck to an Arduino.

Arduino connection with one LED per channel

Note that each channel must be independently connected to the + and - connections of the LED it is to drive! Do not connect the + or - connections of any two channels together.

Note: When using an external supply for the PicoBuck, the grounds of the two boards must be connected! If the power supply is 12V or less, the Arduino can be powered from it as well, but do not attempt to power the PicoBuck from the Arduino if you are using anything higher! Below are a few power options and accessories that can be used with the PicoBuck

DC Barrel Jack Adapter - Female

DC Barrel Jack Adapter - Female

PRT-10288
$3.50
1

Wall Adapter Power Supply - 9VDC 650mA

TOL-00298
12 Retired

Power Supply - 24V (5A)

TOL-13758
Retired
Global Power Supply - 15V 4.34A

Global Power Supply - 15V 4.34A

PRT-14338
$34.95 $19.95

SparkFun ATX Power Connector Breakout Kit - 12V/5V (4-pin)

KIT-15701
6 Retired

More Than One LED Per Channel

Multiple LEDs can be connected in series, as shown, and the supply voltage should be at least 2-3V higher than the sum of the forward voltages of the LEDs.

Arduino connection with four LEDs per channel

Multiple LEDs can be connected per channel; they should be connected in series, as shown above, and the power supply voltage must be at least 1-2V higher that the sum of the forward voltages of the LEDs.

For instance, our blue 3W LEDs have a forward voltage of 3.2V to 3.8V. To be on the safe side, use the highest voltage in the range. If you want to connect four of them, you'd need a power supply of ~17V or greater (3.8V + 3.8V + 3.8V + 3.8V = 15.2V; add 2V of "head room").

Since 17V is greater than the Arduino can tolerate on its input, we have to provide an external supply for the Arduino as well. This can be the standard 5V USB supply.

It's perfectly acceptable to mix colors either between channels or on one channel, so long as all of the LEDs can handle the current (330mA or 660mA, depending on the jumper setting). Just make sure that the power supply voltage is high enough to handle the sum voltages of the highest voltage string. There is also no requirement that the three strings of LEDs have the same forward voltage of LEDs across them; you could have one white LED on channel 1, two red LEDs on channel 2, and four green LEDs on channel 3.

Arduino Code Example

Note: This example assumes you are using the latest version of the Arduino IDE on your desktop. If this is your first time using Arduino, please review our tutorial on installing the Arduino IDE.

Code for controlling this device is trivial; simply use the analogWrite() function to adjust the brightness via PWM.

language:c
/**
 * PicoBuck Breakout Example
 * Mike Hord @ SparkFun Electronics
 * Nov 5 2015
 * 
 * A simple example showing how to control a PicoBuck with an Arduino.
 * 
 * License: http://opensource.org/licenses/MIT
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

const int CHL_1 = 3;
const int CHL_2 = 5;
const int CHL_3 = 6;

void setup()
{
    pinMode(CHL_1, OUTPUT);
    pinMode(CHL_2, OUTPUT);
    pinMode(CHL_3, OUTPUT);
}

void loop()
{
    // Let's just step through a couple of values, so we can see how they look.
    //  Remember, LEDs are non-linear, so doubling the PWM output value won't
    //  necessarily double the apparent brightness.
    analogWrite(CHL_1, 0);
    analogWrite(CHL_2, 0);
    analogWrite(CHL_3, 0);
    delay(1000);

    analogWrite(CHL_1, 64);
    analogWrite(CHL_2, 64);
    analogWrite(CHL_3, 64);
    delay(1000);

    analogWrite(CHL_1, 255);
    analogWrite(CHL_2, 255);
    analogWrite(CHL_3, 255);
    delay(1000);
}

Resources and Going Further

Thanks for reading. Below are all the documents and links you'll need to learn even more about the PicoBuck.

For more LED fun, check out these other SparkFun tutorials:

Touch Potentiometer Hookup Guide

Learn how to use the SparkFun Touch Potentiometer to control lighting, volume or other inputs in your daily life.

How LEDs are Made

We take a tour of a LED manufacturer and learn how PTH 5mm LEDs are made for SparkFun.

FemtoBuck Constant Current LED Driver Hookup Guide v13

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

Button Pad Hookup Guide

An introduction to matrix scanning, using the SparkFun 4x4 Button Pad.