New Entry Level 32mm e-Switch Buck Driver

Brief introduction

For a lots of time, People were asking me for a recommendation for a cheap, high efficiency 32mm size buck driver with simple UI for hosts like DDH-D5E, DDH-D6C and so forth. these hosts only accept a 32mm driver with 6mm maximum height.

Currently I have the Xtern Ripper V3 for HI-End market, but they said that driver is too expensive with over 100USD MSRP and nearly impossible to install by other people. Also, Its too overkill for a 36Amps capable buck driver to be downgraded for a single LED only needs 10-15Amps. So I came up with this cheaper driver design.

Reason for me to create this driver

I recently customized an brand new extremely high density 6V Vertical LED with 6200lm and 80 Watts of rated power with only 7.2mm2 LES like this:
7007I
So I need a buck driver from a 3S Pack to drive this LED with 14.5Amps for the CRD Flashlight to show the ultra high intensity capabilities for this LED. At first, I‘m Using a driver from a JINGHENG JKK90 like this:


But this driver is optimized for driving An 3V LED in dual 3.7V Lithium configuration. And it did not work with 6V LED even After I modified the feedback resistor. This driver will screaming like someone punch a knife through it and the LED flickering like a strobe rocket.
Also It rans extremely hot at stock condition with only 86% of efficiency when I using it with 3S input to drive a 3V LED to 18Amps. The efficiency makes me feels nervous to push it even further to 14Amps at 6V. I think at that point the driver might spill some magic al smoke out and fried my LED.

So that’s why I decide to make this new driver for custom UI and more robust operation will higher efficiency.

Choosing the MCU Platform

Seems this driver is an entry level stuff with simple logic. So some high-end and expensive ARM based MCU is too overkill for this project. Also, for a open source driver design , I want the firmware can be easily porting to other MCU based with same core without Cross-Platform implementation like Porting an Andruil to 8051 or ARM Based platform.

So I decide to use an Intel 8051 Based MCU from CMS called CMS8S6990NAQN20 with 16K of ROM and 256+1K of RAM.

This type of MCU have a lots of SKUs from Chip Fab like Si-Lab. that means you can port the firmware to the MCU which can be easily obtain from something like Mouser without too much work. Also, this MCU have been heavily used in the product for my company which I’m really familiar with it.

Choosing the Power Stage

For a cheap Buck driver. the ideal choice is using an existing Buck converter/controller and use an shunt resistor combined which external OP-Amp to adjust the output voltage for constant current regulation. So that’s what I choosing for.
Typically driver will use an voltage mode controller like LM27402S or TPS410192 with a pair of external MOSFET. but these type of controller need to play around with compensate network like this:


This compensate network is not just hard to calculate, but it might only suitable for a fixed condition like JKK90’s Driver which only stable at 3V LED.

So, Lets Introducing the ALL-IN-ONE Beast called SIC431

This is a All-in-one POL based on their DrMOS technology which archive high efficiency and smaller footprint. This parts is capable of delivering 24Amps maximum which perfectly fits our goal. Also, this part is internally compensated means you don’t need to worry about your driver screaming like crazy due to unsuitable compensate network.

Schematic and PCB Layout

Here is the full schematic for this driver:
Schematic.pdf (506.2 KB)

Seems this driver contains a lot’s of parts and the SIC431 is a little bit sensitive on the layout, So I still uses 4 Layer PCB with Au Plated and resin-plugged vias.


And this is the finish PCB from JLCPCB, which looks nice and you can’t see any vias at the PCB, This greatly reduces the solder leakage to opposite side.

And Here is the finish look of this driver:



Costs

IN Chinese market, All electronic parts and the PCB of this driver costs less than 15 USD. But some strange parts might not be easy to purchase worldwide. You might have good luck at Taobao or Ali-express when searching for the parts like the MOSFETs or MCU.

Efficiency

Due to the high integration of SIC431 means the dead-time and LS/HS FET can be optimize for BUCK application. the efficiency is extremely high:

At Low Mode: Output-5.27V 1.16A=6.113W Input-12.658V 0.51A=6.4558W which gives 94% efficiency.
At High Mode: Output-5.670V 7.087A=40.183W Input-12.448V 3.29A=40.95W which gives 98.1% efficiency.

At Turbo Mode Output 6.105V 14.51A=88.58W input-12.167V 7.58A=92.27W which gives 96% efficiency.

The efficiency is so high that this driver can sustain up to 50Sec of turbo without any cooling at raw PCB hanging at atmosphere. And up to 25Minutes of Turbo when installed into a housing with only passive cooling like This:


The LED is hanging outside to avoid the heat from LED to accumulate and causing the driver to step-down before the driver to overheat And the driver is powered by a battery pack with 3 Molicel P45B in series. This is a extreme test which will run the driver at turbo continually to check the driver has good thermal design with only passive cooling from a housing. And this driver handles this situation perfectly.

here is the LUX graph when perform this extreme test. And this driver runs at 14.5Amps of turbo without any stepdown and overheat situation(like low frequency flickering causing by thermal shutdown of the regulator) for 25Minutes!
In this time, the LUX graph stays nearly flat with only a little drop causing by the Tj Rising of the LED and reduces Flux efficacy. This means the driver remains perfectly regulation of current for a long time at full load. And the full LUX Graph shows the full regulation capabilities which the LUX stays flat for long time until the battery is empty and drop to lower gear.

Operation UI

The entire operation instruction have been written at the project readme files. which you can look at github links.

About the repo link and some assembly instruction for world-wide user

Here is the github repo for everything you need to reproduce this driver. And the BOM tables also gives some replacement parts for something which unavailable at worldwide.
For the heart of this driver(the MCU), It might be a little bit hard to purchase the Programming dongle and the Development environment(Keil C51). So I provide the Pre-Compiled Executable in HEX format which you can give to the seller to let them flashing the MCU for you.

If you want to customize the firmware, you will need a copy of Keil C51 IDE combined with the Device support pack And the programming dongle called CMS ICE8 PRO (Costs about 40 USD) To flash the modified Firmware into the MCU.

14 Thanks

Nice :+1:
I’ve also used the SIC431 in the past, during the pandemic it was one of the very few integrated buck IC suitable for my project and available, most of TI/MPS/ADI was out of stock, and despite that it has very good specs for the cost, similarly I measured very good efficiency with it :

Although on a small driver the layout is a bit weird, some other ICs are more suitable, on a 32mm driver no problem though (mone was larger,3x21700 with dual buck).

2 Thanks

interesting design and highly efficient as well. but i was wondering. leds need current regulation instead of voltage ,right ? but i see so many drivers use voltage regulator chips instead of current regulator led driver ( like lm3409/max16820 etc.) how do you control current to a constant level in these types of ic’s.

One important things is the Voltage across the LED will vary by changing the Current. That means you can use something to monitor the LED current in real time and control the voltage across it to adjust the current.

And the easiest things to do this thing is using a OP-AMP. You just need an OP-Amp uses as a Error Amp to Amplify the difference between Target Current and actual current passes the LED. Than feed this difference into the feedback loop of DCDC. Than something magical happens:

LED Current Less than Target->OPAmp Positive voltage less than Reference at Negative->OPAMP output decrease->Sucking Current from FB node-> Output voltage rises due to effective Impendence of Bottom FB resistor reduced->LED current rises

And If the current is more than you need, the extra part will be Amplify by the OP-AMP and the output of it will pushing current into the Feedback node to force the output voltage of the DCDC to decrease, than the LED current will decrease too. Finally, the LED current will be regulated to the value you set.
So that’s how you can convert a voltage regulator into a constant current source by a external OP-AMP. this method called Feedback injection. You can check the Schematic for more detail.

3 Thanks