For my wedding I'm making some letters which I would like to provide with some LEDs. To have the full "I made this myself" experience, I gave myself a course on electrical engineering (google ftw), and started designing a circuit that could work with the materials I had lying around.

I've designed the circuit with some parallel LED "strings" connected in series (each RGBW series represents a letter,) but have too little experience with electrical engineering to be 100% sure it works. I'm sorry for the very amateuristic design, I hope the essence is still made clear.

If you guys could comment on whether I wired everything correctly, and used the appropriate resistors, that would be great!

Circuit design

Some more specs that came with the LED:


I based it all on theory, but am too hesitant to bring it into practice.

The 3 main points I am concerned about are:

  • Is each color LED (which I combine before the MOSFET) still parallel, or do I effectively make them all in series by combining them before the MOSFET?
  • Should I put the R1,2,3,4 resistors before the MOSFET, and maybe even after each "parallel string"(not sure about the technical term) before they are combined?
  • Are the ohm values of R1,2,3,4 correct as designed at the moment, or are those values only valid when I apply my second bullet?


I've decided to keep the LEDs for other projects (probably being: catching dust in the cabinet) and buy a couple of WS2812B LEDs, so I can make a MUCH easier circuit (probably more on my level anyway).

  • \$\begingroup\$ You cannot put common Anode LEDs in series like this. These are also poor quality parts that need a good heatsink. Perhaps consider a 12 to 14V buck regulator and choose the best Stripleds. \$\endgroup\$ – Tony Stewart EE75 Jun 9 at 14:28
  • \$\begingroup\$ @TonyStewartEE75 I'm sorry if I used the wrong symbol, but the leds are diodes according to the provided "datasheet". Why can't they be put in series like this? \$\endgroup\$ – Guinn Jun 9 at 14:43
  • \$\begingroup\$ Making assumptions without clear specs on lumen balance, and thermal resistance without an LED data-sheet in the proposal is grounds for marriage counselling. ;). Never make assumptions on tolerance for Vf and lumens unless you choose limits and match specs. Match-making is always about knowing what you can tolerate, not the price you love. If and only if your specs are detailed and clear, and you make good choices, all you have to do is meet spec and it is perfect \$\endgroup\$ – Tony Stewart EE75 Jun 9 at 14:43
  • \$\begingroup\$ I looked up your part number and found a 4 Pin RGB part, aliexpress.com/item/1891674523.html make your assumptions in the question with specs in a link. Then how you plan to choose colours with tolerance to avoid colour errors (too much green) and too hot \$\endgroup\$ – Tony Stewart EE75 Jun 9 at 14:46
  • 1
    \$\begingroup\$ Aside from any issues with LEDs, the n-channel MOSFETs are connected so that the body diodes will conduct. It's unclear what your intention is- if it's to make constant current sinks the source should be connected to the resistor, but they won't make great constant current sinks like that. \$\endgroup\$ – Spehro Pefhany Jun 9 at 15:06

A much simpler way would be to use RGB LED strips because they include all the LEDs and resistors, and all you have to do is switch them on or off.

But if you already have the LEDs...

enter image description here

These LEDs aren't the usual common anode. Instead each LED has its own two pins. This means you can indeed wire them in series as you intended. (a common anode RGB LED has 4 pins and all the anodes of the LEDs are tied together so you can't wire them in series).

However, they're 4W LEDs, there are four 1W LEDs inside. If you want to use them at 4W then you have a problem because if you don't mount them on a proper heat sink they will melt, and the way to mount them is reflow solderign of the thermal pad on the back. That only works on a copper surface, so you need a special aluminium core PCB, with copper foil laminated on top of an indulator, yadda yadda, not user-friendly for a quick project.

Besides, at 4W they'll be really super bright, so you could run them at less power.

You could use thermal conductive two-component epoxy to glue them on an aluminium heat sink. Or you could reflow them on on a copper heat sink.

All of that is probably going to be more expensive than a roll of 12V or 24V RGB LED strip from aliexpress though, so YMMV.

Note LED strips are much easier to work with because the heat is distributed over a long length, not just in a few power LEDs acting as hot spots. So low power strips stay cool. High power strips are another story, but still not that difficult.

Besides that:

The FETs are upside down, and make sure you pick FETs that will turn on with 5V Vgs. These have "RdsON" specification at Vgs=4.5V. If it is only specified for Vgs=10V then nope.

There should be a resistor per series string of LEDs. Also make sure you check how much power it will dissipate. If you use 0.25W resistors, they will burn. Another advantage of LED strips is there are lots of resistors on them so the dissipated power is spread along the length.

Your LEDs have different forward voltage (Vf) depending on color. Therefore, at the same current, the red string will have much lower voltage than the blue string. So you need to calculate the resistor value for each color.


You've made a couple of major errors. As JRE pointed out, your FETs are reversed. Just as importantly, your current limit resistors are in the wrong place. Each channel should look something like


simulate this circuit – Schematic created using CircuitLab

If you did it your way, you'd get very low currents, since the voltage across the current limit resistor will decrease the gate-source voltage.

Next, you have not specified what FETs you are using. You MUST use "logic-level" FETs. Regular FETs need more gate voltage than your Arduino can provide.

Your limit values look OK, as long as you realize that, if you decide to drive one string at a time, rather than 3, you will be driving too much current through that single string. Your values will give a maximum of about 1/2 amp. If you were trying to aim for .335 amps, you need to redo your calculations using the minimum LED voltage drop numbers, rather than the max. Keep in mind that, if your LEDs are fairly uniform in behavior, each string will draw 1/3 of your FET current. This will give something like 150 mA per string at your stated resistor values.

  • \$\begingroup\$ Thanks for your reply. The MOSFET i'm using is stated in the right bottom corner though :-) It is a IRLZ34n. The way I want the LEDs to behave is when I turn on a color, that color will be lit in all 3 strings, so lets say I turn on Red, each string of 5 R-leds are turned on. \$\endgroup\$ – Guinn Jun 9 at 16:38
  • \$\begingroup\$ So basically if I redo the calculations using the min. Vdrop and place the resistor for each channel in front of the FET (meaning 1 FET will have 3x 5 LEDs in series, ending with a resistor before reaching the FET), and connect the FET in reverse, the circuit would work? In that case - would each string get more current? Or is it still 1/3 of the FET's current? \$\endgroup\$ – Guinn Jun 9 at 16:48
  • \$\begingroup\$ @Guinn - Yes. And the current in each string will be about 1/3 the total current. It depends on how well-matched the LEDs are. For example, let's say one string has all units with a Vf of 2.0 @ 350 mA, and the other has a Vf of 2.4. Then the first string will have a total Vf of 10 volts, and the other 12. If the two strings are in parallel, with 10 volts across it, the first string will have a current of 350 mA (full bright), but the second will be running 2 volts below its max. Because of the light curve shape, the second string will not be nearly as bright as the second.... \$\endgroup\$ – WhatRoughBeast Jun 13 at 11:36
  • \$\begingroup\$ @Guinn - ... If you randomly grab LEDs to build your strings, you probably will get a pretty uniform match. But maybe not. If you want a more guaranteed uniformity, replace your limit resistor with 3, each connected to a single string, and with 3 times your calculated resistance.. For guaranteed results, measure each LED at current, and sort by Vf. Then make your strings with selected LEDs whose total Vf adds up to the same in each string. \$\endgroup\$ – WhatRoughBeast Jun 13 at 11:41
  1. Your N-channel MOSFETS are "standing on their heads." You have the drain and source reversed. The built in diodes will conduct - the LEDs will always be turned on.
  2. If you are aiming for 350mA through each resistor (R1, R2, R3, R4,) then you need to consider the power dissipated in them. Take R1 (6.2 ohm.) Power is the square of the current times the resistance. \$P = I^2R = 0.35^2\times 6.2= 0.76 watts\$. You'll have to make sure to use a resistor rated for that much power. One watt or more. The resistors limit the current by converting electrical power to heat. You have to calculate the waste heat for any resistors you use, and make sure that your resistors are rated for more power, else the resistors will get hot and burn out.
  3. You've left no "wiggle" room for part variations. If all of your resistors and LEDs were identical and perfect then the 350mA would be OK. As is, you'll probably end up delivering a little more current to the LEDs than you intended.
  4. You have four strings of each LED color in parallel going through MOSFET and resistors. The four strings will divide the current among them - maybe evenly, though probably not. Each string should have its own resistor.
  5. For an LED with a 3.0V forward voltage and a 19V supply voltage and 5 LEDs in series, I come up with \$R = \frac{V_{supply}- 5 \times V_{forward}}{I_{LED}} = \frac{19- 5 \times 3.0}{0.350} = 12 ohms\$. That's for the green, blue, and white LEDs. For the red LED, I get 26 ohms using a forward voltage of 2.0V.
  6. Point (5) brings the dissipated power to 3.2W for the red LED resistor and 1.5W for the other resistors. Use resistors rated for that power level or more. You'll probably have to use relatively large through hole resistors.
  7. The different colors have different luminousity (brightness) at the same current. You'll have to account for that either in software (different PWM widths to each color for the same brightness) or in hardware (use different resistor values to lower the current to the brighter LEDs.) You may have to do both. It is also possible that whatever color mixture comes out suits you just fine and you won't need to worry about it. :)
  • \$\begingroup\$ Thanks for your informative reply. 1 is easy enough I guess, just have to make sure I connect the drain and source reversed. at 2 it becomes a bit harder for me. Do you mean the resistor I used has too little ohm? Or is power dissapation a variable I haven't read about and missed in my calculations? for point 5, the LEDs in series are 5, while the parallel strings are 4. Hence why I got the values used for R1,2,3,4. The different brightness doesn't bother me, since the intended use is just for fun and nothing too serious. \$\endgroup\$ – Guinn Jun 9 at 15:43
  • \$\begingroup\$ @Guinn: It is customary to up vote answers that help you, and to click "accept" on the answer that solved your problem. \$\endgroup\$ – JRE Jun 9 at 15:47
  • \$\begingroup\$ I know don't worry, I just didn't want to risk not getting a follow up on any comments ;-) \$\endgroup\$ – Guinn Jun 9 at 15:52
  • \$\begingroup\$ Sorry. I missed the "reputation 100" under your name and thought you were new to the whole Stackexchange thing. \$\endgroup\$ – JRE Jun 9 at 15:53
  • \$\begingroup\$ How would 5 LEDs in series affect the points you make at 5/6? are 2-6 still a problem that way? \$\endgroup\$ – Guinn Jun 9 at 16:13

You've apparently designed your 20 ohms such that if the red LEDs drop their maximum voltage, you would be at what seems to be the specified LED test current of 350 mA if there were only one branch; for three branches it would be 117 mA. In practice this will vary, with the lowest seen when the resistor is at +5% and the forward drop is maximal; the highest seen when the resistor is at -5% and the forward drop is minimal.

So I think there's not a hazard of cooking your LEDs, but perhaps your methodology for choosing your resistance is suspect. Were you aiming for a specific brightness or heat dissipation capacity?

  • \$\begingroup\$ I know there are a plenty of other issues with this circuit, but don't forget that the 679 mA is divided (though probably not equally) between 3 strings in parallel. They might still end up under 350 mA. \$\endgroup\$ – Theodore Jun 9 at 16:21
  • \$\begingroup\$ @Theodore Good catch. I think the 350mA is not a coincidence, so it's still worth calling out, but for a different reason. \$\endgroup\$ – Reinderien Jun 9 at 16:29

As others have noted, you have your mosfets upside-down, and your current-limiting resistors are going to get a bit toasty! In principle, you can connect your LEDs in series-parallel like this (provided they all come from the same batch) but you may find the result unstable, because the voltage drop across the LEDs varies with age, temperature, phase-of-the-moon, etc, and as the voltage rises, the drop across the resistor falls, so the current falls, and so the brightness wobbles. Remember, each colour LED will have a different drop.

I note that you're using IRLZ34n mosfets. Those are rated to 56W and 30A - more than enough to control those LEDs (with a suitable heatsink, of course). You could use the mosfet itself as the current regulator. See, for example, Mosfet constant current. The advantage of this is that you can put one mosfet on each series-string of LEDs, and the mosfets themselves will keep the LEDs and the brightnesses in balance.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.