I’ve been designing some heatsinks for the open-source charge controller project. The circuit contains a diode and a MOSFET, which could potentially have up to 20A flowing through them. In this case they will get hot and will eventually fail. I need to ensure that they will be kept within their specific working parameters by keeping them cool. This is done with a big lump of metal, usually called a heatsink.

In this post I’ll go through my design calculations to design a heatsink for an example system.

Heatsink theory

The lifetime of all semiconductor devices is inversely proportional to their operating  temperature. For reliable operation and  long component lifetime, it is vital to ensure adequate removal of heat from the device. Within a switching device, there are two main losses: resistive and switching. Both will increase the temperature of the switching device. The resistive element is an I2R loss due to the current through the device and its ‘on’ resistance. Heat is also generated each time the device is switched, due to its IV characteristic. This loss is proportional to the switching frequency.

There are a couple of very good application reports available which also show this process, I would suggest reading both:

The heat generated within a device must be transferred through many layers for dispersal to ambient. This diagram shows the heat transfer paths and the equations to calculate the transfer rate:

This diagram is taken from my PhD report.

The input current, voltage and the switching frequency are used to calculate the power dissipation requirements.

The heat transfer paths within the device can be obtained from the component data sheets. If the device must be insulated from the heatsink then an additional layer is introduced. Careful attention must be paid to the implementation of any applied insulation. Mylar insulators with a silicone heat-transfer compound or special silicone insulators can be used. The silicone heat-transfer compound must not be applied too thickly or it will add to the heat transfer resistance. Finally, the heatsink must be correctly sized for the required power dissipation. The temperature of the junction, Tj, must be kept as low as possible as it will affect the component lifetime. The data sheet specifies a maximum junction temperature of 150 ºC but a value of 100ºC was used in the calculations to allow some headroom.

Heatsink design example

In this example I  have the following components which need to be cooled:

They have up to 20A flowing through them.

Power dissipation

We first need to calculate how much power is being dissipated in each device.

Diode power dissipation

The diode power dissipation is due to the current flowing through the device and the forward voltage drop. To minimise the forward voltage drop I am using a Schottky Rectifier diode, which will have a lower forward voltage drop than other diode types.

According to the data sheet for this device the forward voltage drop is: 0.51V at 20A.

This equates to a power loss of 0.51V x 20A = 10.2W. (Note that at 12V DC, the total power transfer would be 12V x 20A = 240W, with these losses 4.2% of the total power generated).

MOSFET on power dissipation

MOSFETs dissipate power due to I2R when they are on. I have chosen a MOSFET with a low value on resistance, which is, according to the datasheet: 14.8milliOhms.

This equates to a power loss of  20A2 x 0.0148ohms = 5.92W. (Note that at 12V DC, this would be 12V x 20A = 240W, 2.5% of the total power generated).

MOSFET switching power dissipation

MOSFETs dissipate power as they move through the non-linear region of their VI characteristic. That means that each time they are switched on or off then they will dissipate some power. The amount of power dissipated will depend upon the switching frequency. More information on this topic can be found at:

From the Maxim application note we find that an approximation for calculating the switching losses (PDSWITCHING ) (it is approximate as the actual value depends on lots of factors) is:


where CRSS is the MOSFET’s reverse-transfer capacitance (a data sheet parameter), fSW is the switching frequency, and IGATE is the MOSFET gate-driver’s sink/source current at the MOSFET’s turn-on threshold (the VGS of the gate-charge curve’s flat portion).

From the datasheet we find that the CRSS = 95pF.

We use an approximate value for IGATE =  0.5 A from the Vgs of 5V at switch on (Vgs at switch on is found as the flat portion of the Vgs to Gate-Charge curve on the MOSFET datasheet). The gate current (IGATE) is taken from the gate drive circuitry that you have. I used a gate driver that can supply 500mA (0.5A). A typical microcontroller output pin can supply 20mA (not recommended!), so would take longer to switch the MOSFET fully on and the switching losses would be higher.

From out design parameters we know that the PWM switching frequency is 400Hz (from the Arduino output), ILOAD = 20A, VIN = 12V or 24V.

Hence the power dissipation due to switching is  0.0002W at 12V and 0.0008W at 24V. These are VERY small values. If the switching frequency is increased then these switching losses would become a much bigger proportion of the power loss. Or I have done the maths incorrectly.

So the total maximum power dissipation, Pd, is 10.2W + 5.92W + 0.0002W = 16.12W.

Heatsink design

We will be using the equation: Tj = Pd (Rjc +Rcs + Rsa) +Ta, where Ta = 25C, Tj = 100C and the values of Rjc and Rcs come from the device data sheets.

We need to perform this calculation for the two different devices, the diode and the MOSFET, but with only one junction from the heatsink to the ambient, as we will be putting both devices onto the same heatsink.

The equation becomes:

Tj = PD Diode (Rjc +Rcs) + PD MOSFET (Rjc +Rcs) + (PD Diode +PD MOSFET) Rsa +Ta

We are trying to find the value Rsa which can be used to specify the heatsink.

From the data sheets we can find that, for the diode: Rjc = 1.5 C/W and for the MOSFET: Rjc = 1 C/W.

The value of Rcs depends upon the mounting method. For a T0-220 package:

  • If mounted directly Rcs = 1-1.3C/W
  • If mounted with heatsink compound Rcs = 0.5-0.8 C/W
  • If mounted with mica insulator and heatsink compound Rcs = 0.8-1.4 C/W

In the design I am working on, the case for the diode and the case for the MOSFET are at exactly the same potential, so it does not matter if they are electrically connected. I will be using heatsink compound, so the value of Rcs = 0.5-0.8 C/W, we will use the worst case which is Rcs = 0.8 C/W.

We now have everything we need to calculate the value of Rsa which can be used to specify the heatsink.

100 = 10.2(1.5 +0.8) + 5.92(1 +0.8) + (16.12) Rsa + 25

40.884 = (16.12) Rsa

For 100C max junction temperature: Rsa = 2.54 C/W

I re-did these calculations for a junction temperature of 150C, which is also OK for these devices:

150 = 23.46 + 10.65 + (16.12) Rsa + 25

90.89 = (16.12) Rsa

For 150C max junction temperature: Rsa = 5.63 C/W

Now we know the minimum Rsa value for our heatsink for two different temperatures. Any heatsink with a thermal resistance value lower than this will be suitable.

Heatsinks are quite expensive and heavy. I need it to work reliably, but there will not be many times the unit is operating at 20A. Hence I will design for a value of 5.63 C/W or lower. This should reduce the size and cost of the heatsink required.

Heatsink final decision

When looking for heatsinks we need to look for a heatsink with a thermal resistance lower than our design value. this will ensure it can dissipate the required amount of heat.

In this case I am designing for 5.63 C/W. All heatsinks have a C/W (sometimes a K/W, but the same thing) rating. This can be used to decide which to choose.

Searching on a number of websites (typically RS, Farnell, CPC and Rapid) I found two from Farnell which I will test out and design the unit around:

Extuded heatsink 4.9 C/W

Aavid Thermalloy 5.36 C/W

15 responses to “Heatsink Calculations

  1. Hey there! Great content you’ve got here. I’m a little confused on the heat sink theory. It says the operating life of the conductor is inversely proportional to it’s operating temperature. My question is isn’t it supposed to be directly proportional.

    1. Hi,
      So it’s the operating life of a semi-conductor (such as an integrated circuit or transistor) that is inversely affected by temperature.
      This means that a higher temperature will give a lower life (i.e. rising temperature will give decreasing life, hence inversely proportional).
      Hope thats some help!

  2. Hi
    you calculate the by the (Pd = I^2*R) formula. and you said that you are using your MOSFET in 20A and 12V. and the Rds on = 0.014 ohm.
    so what if we want to use an IRF3710 MOSFET on 0.2A current and Vds =75V and Vgs = 3.5v?

    consider the Rds On = 0.025 is written in datasheet.
    is it right to calculate the Pds with this equation? Pd = (0.2^2*0.025) = 0.001 watt
    is it necessary for me to use heat sink?
    Or should I calculate the Rds for 0.2A and Vgs = 3.5 volts?

    thanks a lot!

    1. Hi,
      For the power calculation, you only need to know the current flowing through the FET and the on resistance.
      Power = Current^2 * Resistance.
      So for your calculation with 0.2A and RDSon at 0.025 then the power is exactly what you say – 0.001W or 1 milli-watt.
      This is a tiny amount of heat and the case of the FET will be able to dissipate this!

      The time you need to worry about this is for higher currents.
      If there was 2 A flowing, then you would need to dissipate: 2^2 * 0.025 = 0.1W. Actually – thats not much either!
      If there was 10 A flowing then need to dissipate: 2.5W – you would need a heatsink here.
      Seems like quite a food FET with low on resistance.
      This is OK if you are switching on and off every so often. If you are switching fast (say about 100Hz) then you need to thuink about switching losses.
      But I think for your 0.2A application then this mosfet is fine with no heat sink…

    1. Hi, Afraid without more info thats very hard!
      I hoped the article would cover what you need.
      Please have a go yourself then add you requirements and calculations into a comment here and I can have a look.

  3. Hi,

    I want to calculate heat sink surface area require for the given power dissipation.

    Can you please mail me the excel sheet or how you would able to calculate it?

    1. Hi,
      The info in this post should be enough to calculate that.
      You’re not calculating the heat sink area, though – you are calculating the thermal resistance of the heatsink.
      Heatsinks come in all shapes and sizes with different fins and surface area. Hence we compare them using the thermal resistance value.
      Sorry I cant give more help than that, as I don’t have enough time to get into everyone’s projects and ideas.


    1. Hi,
      These clculations are all for a heatsink directly bolted to the case of some form of semi-conductor device (such as a MOSFET).
      The PCB board itself will be a thermal insulator and not a good conductor at all.
      The tracks on the PCB are where heat can be dissipated. The ammount of heat will depend upon the copper track thickness and width and length of the trace.
      There are some good PCB trace calculators which show the copper needed for a certain current carrying capacity (search for “PCB trace width calculator”).
      Lots of PCBs with minimal heat sink requirements use the copper traces for heatsinking. Typically both sides of the board will have copper on them and lots of ‘vias’ which go through the board are used to shift heat away from the component.
      There seems to be a PCB temperature calculator here: https://heatsinkcalculator.com/pcb/free-calculator.html but I have never used it.

  4. Hello !
    Please, tell me about natural convection contribution when Reyleigh number is lower critical value. I suppose that in this case natural convection contribution is equel zero.
    If my heat sink has dimensions (LxWxH) is 30x20x8 the Reyleigh number is lower critical number

  5. Hey Matt,
    For power losses at switching, was curious how you approximated 0.5A “IGATE = 0.5A (this was an approximation, from the Vgs of 5V at switch on)”. I didn’t see the “Vgs of 5V at switch on” on the datasheet either. Thx

    1. Hi,
      Sorry – this was not clearly explained (probably due to my lack on knowledge).
      I’ve updated the page to make it read better and explain this a little bit more.
      The Igate value comes from the MOSFET driver circuitry that you use. (I wrote a bit about it here: https://www.re-innovation.co.uk/docs/open-charge-regulator/charge-controller-project-power-switching/). I used the AUIRS2124S 500mA gate driver. so my calculations were for 500mA/0.5A.


Leave a Reply

Your email address will not be published. Required fields are marked *