Sunday, April 6, 2014


Here's the 2nd version of MELD (Multicolor EDC Light Driver), first posted here. This version addresses the issues and shortcomings I had on the first one:
  • converter dropouts and flickering
  • low current on main (white) output
  • no current regulation on white
  • requires rechargeable cell to use UV

To solve all of these I made major electrical and layout changes:
  • CV regulator changed to TPS63000
    • increased current
    • better pin spacing
    • adjustable output voltage
  • separate SEPIC converter for white channel using LM3410
    • output current up to 1.5A
    • true constant current regulation

To make everything fit on a 5/8” diameter board, I had to put the SEPIC converter up on a daughter board that stacks above the main board. This allows the main board to be used for RGBW applications without the SEPIC board if lower currents on the white channel are acceptable. It's also feasible to use the SEPIC board on its own in some applications.

The new converter for RGBUV is a higher power part which fixed all the dropout issues (along with forcing it into PWM mode). It also is an adjustable output version, so I use a pair of 0402 resistors to set the feedback voltage. This allowed me to better handle high-Vf green parts by increasing the voltage rail to 3.5V, and it gives me the ability to let software control the output voltage. To do this, I put an additional resistor that connects the feedback pin to one of my microcontroller's I/O pins. Normally the pin is kept at high impedance, but on UV mode (which requires higher Vf for the emitter) I turn the pin to an output and pull it low, which effectively changes the ratio of the feedback divider and makes the converter generate 5.0V instead of 3.5V. Since this is running from the automatic buck/boost converter, the high-Vf UV part can be run from any battery type at any charge level.

This is my first time using a SEPIC converter (or the LM3410) but it works well. Using the SEPIC architecture allows me to run actual current regulation on the white channel, with input voltage above or below LED Vf. The tradeoff is that you need an extra inductor, but at 4x4x2mm that's not much to worry about. The LM3410 takes a PWM dimming signal on its enable pin, which makes things really simple since I only need one line to control it during dimming and standby. I did have to slow down PWM on the white channel to 488Hz to get it to work well, and I lost some resolution on the low end that software has to compensate for by artificially inflating PWM duty cycle (minimum is now 3/256 instead of 1/256).

Here's a video demonstrating use of MELD v2 in a Novatac 120P:

I'm very happy with the way these came out, I think I finally have a driver that I'm satisfied with for the ultimate light. Here's the board and daughter on OSHPark. If you want the source file or Eagle files, leave a comment. I also put together an LED board to cram RGBUV around a bigger white emitter for better beam patterns, still waiting on that one in the mail:


  1. Really nice work :) I'm doing something similar but I'm keeping it simple and using a sinlge AMC7135 regulator chip per LED channel, and an ATMEL Attiny84 to control each chip individually. Looking around your blog it seems you've basically done that already!

    Totally unrelated but I'd be interested in getting hold of your eagle source files for the SEPIC converter if you're willing to share. I use the LM3410 as a low power boost circuit but have struggled to get it working as a single cell SPEIC converter, especially one that is capable of 1.5A.


    1. Hi Mathew, send me an email and I'll give you the eagle files- my full name

    2. Can you make flashlight firmware on my request?
      Tryed om blf..

  2. Are these boards available for sale?

  3. Is there a way to create a "dynamic white" by balancing the output of the RGB emitters? have you experimented with that at all?

    1. Yes, the latest firmware includes that function. Check out the video for MELDv2.13

    2. that's awesome. Is your FW configurable? Meaning, can I remove some features to make it more simple? My perfect light has a Dynamic white High mode, 3 levels of standard white, and two levels of Red light.

    3. It is configurable, although not to that degree. I do custom flashlight work for hire and can write you a firmware version to accomplish what you want. If you're interested send me an email at Everett Bradford gmail

    4. I assume these can not be reflashed with a standard SOIC8 clip?
      I would prefer to do most of the configuration myslef, (just to prove to myself that I can do it) but If I can't come up with my own solution I'll probably be emailing you soon.

  4. Hi, great work! I just came across it when I was browsing the blf osm park projects. Is it possible to modify this driver so it just works as a single LED driver?
    Thank you in advance!