in electronics

Building a 3-channel, high power RGB LED driver

Hey guys,

I built another board, which is a 3-channel (RGB) LED driver based on an inexpensive chipset called PT4115 (you can find them on eBay or Aliexpress).

The circuit is very simple and looks like Sparkfun’s PicoBuck. However, I used beefier components and a different chip. You may say it’s pretty much the same thing, but I made it to learn some more about PCB design.

Datasheet here. LED current is set through a sense resistor. The output current I is equal to 0.1/Rs. I wanted ~300mA for each channel so I chose a 0.33 ohm resistor. If you want 350mA, choose a 0.27ohm resistor.

Each channel can be controlled via PWM (you can solder male/female headers on the board), for example with an Arduino.

You can input up to 30V and control 3W/10W/20W LEDs.

The bare boards.

The PCBs.

Needed components:

  • C1, C2, C3: 22uF tantalum capacitors (DigiKey part number: 399-3781-1-ND)
  • D1, D2, D3; Schottky diode 2A SMA package  (DigiKey part number: B240A-FDICT-ND)
  • L1, L2, L3: 68uH power inductor, 0.7A (DigiKey part number: PCD2117CT-ND)
  • R1, R2, R3: 0.33ohm resistors, 0805 package.
  • 4x screw terminals, 3.5mm (bought mine on Tayda Electronics)
  • 3x PT4115 drivers.
  • 1x 4-pin + 1x 2-pin male or female headers.


Fully assembled driver.

Fully assembled driver. Bad soldering job but I only had a 60W iron, ugh.


PCBs available here (already sold out, actually!) and on Tindie soon.

Click here to download Eagle files!  Github repo here.

Write a Comment



  1. Nice build! I haven’t heard of those PT4115 ICs before, but they look awesome for the price (although it looks like they’re only available from Chinese distributes at the moment). The functionality looks basically identical to the AL8805 IC on the Picobuck.

    The one thing I haven’t figured out so far is how to make an easy way to change the current drive on these ICs, since it’s controlled by the current-limiting resistor. Swapping out SMT resistors isn’t the easiest thing in the world for most people… It would be so much easier if I could just put a trimpot down somewhere, but you really can’t get them in low-value packages.

    • Ethan: I had the same question about an “adjustable” current drive using the AL8805 .. I am attempting to implement adjustable current drive by using a ladder network of resistors (2.0, 1.0, 0.5, 0.25, and 0.12 ohm 0805 SMT) with 25.4mm jumper for each resistor .. Thus, allowing the current-limiting resistance to be adjusted in a binary fashion from approx 50mA to 1550mA in 50mA increments by adding/removing jumpers .. Just recieved the prototype PCB back from OSH Park and hope to get around to assembling the PCB soon ..

    • Check out the PT4115 datasheet. You can vary drive current by adjusting voltage on the DIM pin, which could be done with a potentiometer. Then the current sense resistor only determine maximum output current.

  2. This is not a particularly high current design. You used the wrong package type for the PT4115. The other has better thermal characteristics and either way, there is far too little copper on the PCB for heatsinking. Most would flood the area AND use vias to connect to more copper on the other side of the PCB. Without that, it has serious overheating issues but at least that chip has a thermal protection circuit, shuts off at 160C IIRC.

  3. Hallo, what is the proper way (assuming there is one) to connect in serie two outputs from the PT4115 to double the output voltage while keeping the same current?

  4. If I want to connect many leds like we use in theatre lights (12 x 3watt or 4 x 10watt), could I use one board? Any suggestions on how to connect the led’s?


  • Building a 3-channel, high power RGB LED driver -Use Arduino for Projects April 4, 2017

    […] For more detail: Building a 3-channel, high power RGB LED driver […]

  • Loading Disqus Comments ...
    Loading Facebook Comments ...