# Do I still need a resistor in this LED series design?

I'm designing an aluminum PCB containing a series of 1W LEDs. The series of LED will be powered by 24VDC and N-MOSFETs will be placed between the ground and every series of LEDs. The gates will be attached to Arduino PWM pins.

Here is the example schematic:

The number of LEDs in a series is determined by dividing the 24VDC with the forward voltage of each LED. For example, the white LED has a forward voltage range of 2.8-3.4V and a forward current of 350 mA. Dividing the 24V by the forward voltage, I can have 8 white LEDs in series. Now the question is do I still need the resistor added in the series or is the number of LEDs enough to limit the current to around the 350 mA range?

• aluminum PCB - Really? The vast (vast) majority of PCBs are copper-on-fibreglass. Can you give more detail on this? Mostly because I'm curious. Commented Nov 4, 2020 at 17:56
• @Reinderien Check out PCBWay's page on their Al PCBs. Commented Nov 4, 2020 at 18:17
• @Reinderien. These 1W LEDs are very bright and generate a lot of heat. So the aluminum backside on the PCB is to dissipate the heat and make it easy to attach to an even bigger heatsinks if necessary. Commented Nov 4, 2020 at 18:55
• @Reinderien all LED light bulbs I've disassembled so far had aluminum PCBs inside Commented Nov 4, 2020 at 19:18
• @Reinderien many high-power LEDs can be bought already assembled onto such PCBs, often in a star shape. They're a bit of a pain to hand solder (a lab hotplate is very useful to heat the PCB enough) Commented Nov 5, 2020 at 15:20

LED forward voltages can vary some - enough that it would be difficult to set a precise current with them merely tied in series across a fixed voltage. Total Vf for the string can vary by several volts. You could very easily blow up the string just tying it to the supply as you’ve shown.

So, yes, you should still have a dropping resistor.

Even better, consider a constant-current driver. This not only would protect the LEDs from overcurrent, but would give consistent brightness despite variations in Vf.

There are switchmode constant-current drivers that can do this efficiently and for low cost, that also support PWM dimming.

• +1 for mentioning the current source. I forgot to mention that in my write up. Commented Nov 4, 2020 at 17:59
• A constant-current driver might not be very happy with that MOSFET turning the string on & off in that way. If you're planning to PWM with a CC driver then the safe way is to PWM the driver itself and not externally PWM the LED string(s). Commented Nov 4, 2020 at 18:34
• You can get constant current drivers that take a PWM input to set the current. This is really the best way to drive something like this. A resistor will work too, but its less efficient, and at these currents you're going to need a fairly large resistor to not burn up. Commented Nov 4, 2020 at 18:45
• Can you suggest a constant current driver IC with PWM input? I'm looking around for it as we speak. If I found a suitable one, I'll probably replace the N-MOSFET with it. Commented Nov 4, 2020 at 18:52
• Commented Nov 4, 2020 at 18:55

is the number of LED enough to limit the current to around the 350 mA range?

Absolutely not.

do I still need the resistor added in the series?

Yes, or something that acts like a resistor. A MOSFET as you have would work fine as long as it has feedback to effectively work as a constant-current source, which you don't currently have. There are many examples (including on this site).

• The number of LED is enough to limit the current, however not "around 350mA". It limits it to a lower current, unless all the leds takes 350mA at less than 3V (small probability). Commented Nov 5, 2020 at 14:06

If you want a reliable LED string, then you don't want a string of LED's without a resistor. In this case you don't want to match the 24V just by LED voltage drops. It'd be much better to use 6 LED's and a say 18 ohm series resistor to limit the current. LED's are very dependent on temperature and you don't want thermal runaway causing the LED's to burn out. Now you didn't give the part number, and no datasheet, so there is no definite way to tell how your circuit will act.

• The problem with 6 LEDs instead of 8, is that power dissipation through the resistor will be high and so the waste of energy. Commented Nov 5, 2020 at 14:08

Also importantly, the forward voltage drop of a LED goes down as the junction temperature increases, which could lead to thermal runaway. The simplest approach might be to put a resistor of about 5R between the source of the FET and ground; as the LED current reaches 350mA the gate-source voltage will drop from 5v (I’m assuming you’re using a 5v Arduino) to around 3v or so. Depending on your FET ( check the data sheet) it will begin to switch off and limit the current. If appropriate you might use a divider between the arduino and the gate so you can run the FET close to it’s threshold voltage and use a smaller current-sense resistor.

• This is a very good idea, I'll just add that if you choose to implement this you should ensure the FET has adequate heat sinking too. Commented Nov 5, 2020 at 9:28
• No, no, you can't use the FET near or at its treshold voltage. It's very bad for the FET and it will heat terribly. In this type of application, the FET's gate must be always at least 5 V or zero. Commented Nov 5, 2020 at 14:13
• @Fredled: Using a FET in the linear region will often cause it to dissipate more heat than it would when fully on or fully off, but whether that is a problem depends upon one's choice of FET and whether it is mounted in a way that allows it to dissipate the heat it generates. If the FET is designed to dissipate 150mW and one makes it dissipate 1.5W, the FET would likely be damaged or destroyed. If it's designed to dissipate up to 2W, however,making it dissipate 1.5W would hardly be "very bad for it". Commented Nov 5, 2020 at 21:11
• @supercat It's a bad design in itself to create a circuit which generate so much heat dissipation. You should avoid that. Commented Nov 5, 2020 at 21:44
• @RussellMcMahon: There are two ways to drop voltage: by dissipating energy, or by using switched inductors or (rarely) capacitors. To the extent that one can usefully employ the energy one is dissipating (as by putting LEDs in series), that's often best, since 100% of the energy that one can usefully employ will be usefully employed rather than wasted. Using switched inductors or capacitors to drop voltage will put energy into those elements, some of which may then be harvested and recovered, but may generate electrical noise. Simply dissipating the energy may be a crude approach... Commented Nov 6, 2020 at 17:27

Having done this myself with one of the many pre-made LED PCBs you can get on aliexpress, I suggest you get some 1W 0.5ohm power resistors, temporarily put enough of them in series to give you a safe current, and then remove them until you're slightly below the rated power of the LEDs. If they're rated for 350ma then somewhere in the 300-325ma range sounds good.

Then leave the test assembly running with an ammeter in the circuit for an hour or so to check its behavior as it heats up and that you're still within the rated range.

The answer is more complex than it seems because the PWM function of the arduino will interfere with the feedback of the power supply. If you use a constant current driver, The power supply will try to compensate for the relative drop in current by increasing voltage. If you use a constant voltage driver, it will not react fast enough to keep the voltage stable at 24V between two PWM cycles.

If the on time was steady, I would say that it's safe to put these 8 leds in serie without resistor because at 24V it's already at the lower range of their voltage rating. But it won't give you always the same amount of light as the current can be less than 350mA. Safe doesn't mean optimal.

With the PWM frequency, things get more complicated because you have very frequent voltage drops and voltage spikes. I suggest you look into circuits used to build PWM modules. Just a Mosfet is not enough.

The suggestion in the comments to use an existing power supply with a build in PWM input is the ideal solution because it uses the power supply as the PWM module. It's not only a guarantee, it also saves energy.

Theoretically you could set the Vgs so that the current was right. The logic output needs a series resistor for it. PWM output with RC lowpass filter could set the right Vgs by having the right duty cycle (and high enough frequency in relative with the filter passband). But that would be like dancing on a tightrope. Fets are individuals, the right Vgs is not readable accurately enough from datasheets. Very likely the leds would get too high current. So, have the series resistor and let Vgs be higher than actually needed for certain led current.

• You control Vgs with an OpAmp and have a small sense resistor in the current path. Commented Nov 5, 2020 at 15:10
• I'm afraid the resistor will be in series with the leds - maybe there's the fet between, but in series anyway.
– user136077
Commented Nov 5, 2020 at 21:13

Your LEDs in a given chain could all turn out to need 3.4V, so the max you could theoretically design for in a chain is 7 diodes.

But they might all be at the 2.8V end of their spec. Allowing say 100 mV across the FET when on, that means you would have to drop the remaining 24 - (7 x 2.8) - 0.1 = 4.3V across a (4.3V / .35A = 12 ohm) resistor or whatever. That will dissipate 4.3V x 0.35A = 1.5W. The duty cycle of the PWM output will bring the rms value down, but possibly not by much when fully driven.

If brightness levels matter (and why use PWM if they don't) then a simple dropping resistor has another problem. While a chain of 2.8V diodes will be okay, a chain of 3.4V examples will max out at 100 mV across the 12 ohm resistor, which gives only (100mV / 12 ohm) = 8.3 mA or so.

So a chain of six diodes is about the max you could hope for.

More significantly, if you want to match diode chains in brightness, i.e. current, then you will need a current-sensing resistor in series, with its voltage drop fed back to limit the ON level. The variation in ON voltages across diode chains will then be no more that 6 x (3.4 - 2.8) = 3.6V, so even if the current control is optimally set up the FET may have to dissipate 3.6V x .35A = 1.3W. Its max duty cycle may bring that down, but not by much, while any deviation from the optimal component values will increase it.

Since you have an Arduino controlling things, why not have it also monitor the current in the string?

Use a hall sensor, a low pass filter, and an ADC input to the processor. Leverage your programmed logic. This serves the goal of saving power and also gives more precise control over brightness.

If you want very accurate control over brightness add a photo sensor, which, theoretically at least can serve as a proxy for current monitoring, since brightness and current are correlated. That would eliminate the need for direct current monitoring circuitry.

• Your answer doesn't describe how you limit the current. If you're using PWM you'll be applying applying (in pulses) a fixed voltage to the LEDs which may be bad. There's no need for you to date your post - the system does it automatically. Welcome to EE.SE. Commented Nov 5, 2020 at 22:52
• @Transistor The goal of the arduino is not to provide a fixed voltage, nor to limit current, but to modify the brightness on command. Using a photo sensor is a good idea. How many volts go to the LED don't matter as long as it stays within the specification and does not cause too much current being used by the LED. I'm only worried that a secondary PWM would interfere with the pulse regulation of the power supply. Commented Nov 7, 2020 at 14:05
• @Fredled, but the question is about current limiting. Commented Nov 7, 2020 at 17:23