For a multiplex LED matrix, I am intending to use two ULN2803's as sink source for 16 times 20 mA per column (channel).

However, maybe I will try a test with 100 mA LEDs (10% duty cycle). For that I have IRLZ44Ns (see Datasheet IRLZ44N.

See the circuit below (simplified because of the circuit maker area restriction and somehow some connections are connected which should not, but the idea is clear I hope).


simulate this circuit – Schematic created using CircuitLab

Below is the thermal resistance table on the first page:

Parameter                                Min. Typ. Max. Units
RθJC Junction-to-Case                    –––– –––– 1.4  °C/W
RθCS Case-to-Sink, Flat, Greased Surface –––– 0.50 –––– °C/W
RθJA Junction-to-Ambient                 –––– –––– 62   °C/W

If I'm right the calculation is as follows:

16 (leds) * 0.1 (A) = 1.6A

For the voltage, I'm not sure. I intend to use a 9V adapter, however the UDN2891 source driver's reduce it with about 1 V, and I also have to remove the forward voltage of a LED. I'm using different colors, but let's say in worst case it's 1.8V, so I have a total voltage of:

9 - 1 - 1.8 = 6.2 V

This results in a power of

P = V * I = 6.2 V * 1.6 A = 9.92 W 

With the RθJA value it would mean

Temp = P * RθJA = 9.92 * 62 °C/W = 615 °C

So I would definitely need heat sinks.

However, because of multiplexing, I only use a duty cycle of 10%, 100 Hz (per IRLZ44N). Does this mean, the current is (on average):

16 (leds) * 0.1 (A) * 0.1 (duty cycle) = 0.16 A

And the thermal calculation is:

Temp = P * RθJA = 0.16 A * 6.2 V * 62 = 61.5 °C

This means I do not need a heat sink; the absolute max rating is 175 °C.

Or does duty cycle have less impact on temperature this way?

  • \$\begingroup\$ Are you planning on using the MOSFET for regulating the 1.6 amps? Are you planning on the LEDs in parallel without current sharing resistors (not a good idea)? \$\endgroup\$
    – Andy aka
    Apr 3, 2019 at 11:02
  • \$\begingroup\$ @Andyaka no, the idea is to use a 16x10 matrix where the 16 rows are driven by 2 ULN2803 source drivers (9 V external source, 2 x 8 channels), than to a resistor (depending on the LED type, different for each row), than to a led matrix (16x10), than to the IRL mosfet sinks (thus having 16 rows * 100 mA = 1.6 A) \$\endgroup\$ Apr 3, 2019 at 11:11
  • 1
    \$\begingroup\$ You should apply something like Fig 11 of the datasheet. But this only applies to junction-to-case. \$\endgroup\$
    – Huisman
    Apr 3, 2019 at 11:16
  • 1
    \$\begingroup\$ The ULN2803 is a darlington NPN transistor and can't be used as a row output device. It can be used for columns of course but not very efficiently. I think you MUST show your circuit because it sounds like you have other problems. \$\endgroup\$
    – Andy aka
    Apr 3, 2019 at 11:16
  • 1
    \$\begingroup\$ Because it drops about 2 volts with over an amp flowing and, it is only rated at 500 mA anyway. It's totally unsuited. Also driving LEDs in parallel is asking for big trouble. This question is a minefield. You need to take a step back and rethink what you are asking. \$\endgroup\$
    – Andy aka
    Apr 3, 2019 at 12:34

2 Answers 2


THE MOSFETs won't dissipate as much heat as you think because the series resistors shown in your circuit diagram will do that. They are intended as current limit resistors and will dissipate the main bulk of the power. However, there are significant problems in what you propose: -

  • LEDs directly in parallel means unequal brightness (at best) and may even mean one LED hogs most of the 1.6 amps and dies, rapidly followed by another LED taking the baton from the now dead LED and expiring itself. Pretty soon, all the LEDs are dead.
  • You also have got 3 LEDs shorted out in your schematic.
  • The ULN2803A that you propose is only rated for 500 mA and if the current were kept to less than 500 mA it would drop about 1.5 volts and be a big source of heat.
  • But, you can't use the ULN2803A as a row driver because it is an NPN Darlington.
  • The UDN2981 is better suited for row driving (PNP Darlington) but it is also only designed for 500 mA collector current and will also produce a volt drop of around 1.5 volts (similar to the ULN2803A).

There are several issues with this proposed idea and the MOSFET power dissipation is not one of them.

However, in order to cover the bases, if you were proposing to use the IRLZ44N as a current limiter then you would need to be very careful in controlling it. For instance, if you applied a gate voltage of about 2.3 volts you would get around 1.6 amps flowing but, due to nearly instant device warming, this current would rapidly rise towards 6 amps and blow the LEDs: -

enter image description here

So be very careful and decide what you are trying to achieve.

  • \$\begingroup\$ Thanks for your detailed answer. I'm afraid I still have some questions (I'm not an electronic engineer, the Drain to source graphic is new to me). First, I'm using a multiplex algorithm, meaning only one column at a time is On. Eg in mikrocontroller.net/topic/93082 an ULN2803 is used and it has 8 parallel LEDs on? Or do I miss something? \$\endgroup\$ Apr 3, 2019 at 13:16
  • \$\begingroup\$ 2nd bullet: the shortcut in my circuit is because the circuit designer doesn't let me remove the connection point. 3th bullet: The 500 mA restriction is indeed a problem, I could use 4 of them (per 4 rows), but than a mosfet is easier . \$\endgroup\$ Apr 3, 2019 at 13:18
  • 1
    \$\begingroup\$ The graphic is just in case you thought you might be able to use the MOSFET as a current limiter. I added it to show that it isn't simple to implement analogue current limiting using MOSFETs because of the thermal runaway when under-driving the gate. \$\endgroup\$
    – Andy aka
    Apr 3, 2019 at 13:33
  • 1
    \$\begingroup\$ The ULN2803A in the linked diagram is used as a column driver i.e. it grounds the column that is currently active. The confusion is that the columns are shown horizontally on the diagram and this implies it is a row driver but it isn't. A row driver (traditionally) is a PNP device pull-up device (like the UDN2981) and as shown in the diagram in your question. \$\endgroup\$
    – Andy aka
    Apr 3, 2019 at 13:39
  • 1
    \$\begingroup\$ If using a resistor for current limiting then ignore the diagram in my answer. A column sinker is an OK term to use. \$\endgroup\$
    – Andy aka
    Apr 3, 2019 at 14:53

You are almost there; you need to look at the transient thermal response graph (page 5, figure 11).

I have done the intersection for 1 msec with a duty cycle of 10% (if I understand your question correctly):

IRLZ44N Transient thermal graph

\$Z_{thJC}\$ is the normalisation of \$R_{\theta JC}\$ and \$P_{DM}\$ is power magnitude of the pulse. Even though this is for junction to case, it can be used for junction to ambient (which includes junction to case).

\$Z_{thJC}\$ appears to be about 0.43, so plugging this into the equation, the junction temperature rise should be:

9.92W * 0.43 * 62 + Tc. The temperature rise is going to be about 265C according to this so yes, you need a heatsink.

The junction to case rise is about 6C.

  • \$\begingroup\$ Thank you very much (especially for the explanation how to calculate it). I think I will than check first better of 20 mA is enough (than I can use a simple ULN2803). \$\endgroup\$ Apr 3, 2019 at 12:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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