RUE Logo

Module 6.1 - Power Dissipation Analysis

Comprehensive tutorial on calculating and managing power dissipation in PCB designs

IC Power Dissipation Calculator

Calculate total IC power dissipation from quiescent, I/O, and dynamic switching components. Enter your IC parameters below to estimate total power and junction temperature.

Checkpoint 1: Every IC Power Dissipation Calculated Critical

Every integrated circuit on the board must have its power dissipation calculated under worst-case operating conditions. This is the foundation for all thermal analysis and determines whether the IC can operate within its rated junction temperature.

Why This Matters

Uncalculated IC power dissipation leads to thermal failures, reduced reliability, and field returns. Junction temperatures exceeding the rated maximum (typically 125°C or 150°C) cause immediate failure or accelerated aging.

Step-by-Step Tutorial

  1. Gather the IC datasheet and identify: quiescent current (IQ), operating current (IOP), output current (IOUT), supply voltage (VCC), and any internal LDO drops.
  2. Calculate quiescent power: P_Q = IQ x VCC. This represents the base power consumed when the IC is idle.
  3. Calculate I/O power: For each output pin driving a load, P_IO = IOUT x (VCC - VOUT) for linear outputs, or P_IO = IOUT x RDS(on) for switching outputs.
  4. Calculate dynamic/switching power: P_SW = C_L x VCC² x f, where C_L is the total load capacitance and f is the switching frequency.
  5. Sum all contributions: P_TOTAL = P_Q + P_IO + P_SW + P_INTERNAL
  6. Verify against the package thermal rating: Tj = Ta + P_TOTAL x Rth_ja must be less than Tj_max.

IC Power Calculation Examples

General IC Power Formula:
P_IC = (IQ × VCC) + (I_OUT × V_OUT) + (C_L × VCC² × f_SW)

Example: STM32F407 Microcontroller
VCC = 3.3V, IQ = 30mA (run mode, 168MHz), GPIO driving 20mA loads on 8 pins
P_core = 30mA × 3.3V = 99mW
P_IO = 8 × 20mA × 3.3V × 0.5 (duty cycle) = 264mW
P_dynamic = 50pF × 3.3² × 168MHz × 0.1 (activity factor) = 9.1mW
P_TOTAL = 99 + 264 + 9.1 = 372.1mW
Example: LM1117-3.3 LDO Regulator
VIN = 5.0V, VOUT = 3.3V, IOUT = 800mA, IQ = 5mA
P_LDO = (VIN - VOUT) × IOUT + VIN × IQ
P_LDO = (5.0 - 3.3) × 0.8 + 5.0 × 0.005
P_LDO = 1.36W + 0.025W = 1.385W
This is significant! SOT-223 package Rth_ja = 137°C/W
Tj = 25°C + 1.385 × 137 = 214.7°C -- EXCEEDS MAXIMUM!
LDO selection: Using TPS7A4533 (VIN=5V, VOUT=3.3V, IOUT=300mA) in a WSON-6 package with thermal pad. P = 1.7V × 0.3A = 0.51W. Rth_ja = 45°C/W. Tj = 85°C + 0.51 × 45 = 108°C. Within the 150°C limit with 42°C margin.
Using a linear regulator with large dropout: VIN=12V, VOUT=3.3V, IOUT=500mA. P = 8.7V × 0.5A = 4.35W. No thermal analysis performed. Engineer assumes SOT-223 is "fine" because the regulator is rated for 800mA output.
  • Forgetting internal LDO drops: Many MCUs and FPGAs have internal core regulators. A 3.3V-supplied FPGA with a 1.2V core actually dissipates (3.3V - 1.2V) × I_CORE internally.
  • Using typical vs. maximum current: Always use maximum current from the datasheet for thermal analysis. Typical values underestimate by 30-50%.
  • Ignoring output stage losses: Op-amps, drivers, and buffers dissipate power in their output stages that depends on load current and supply rail.
  • Neglecting decoupling current: Fast switching ICs draw transient currents through decoupling caps. While average power may be low, peak power affects instantaneous junction temperature.
  • Altium Designer: Use the Power Analyzer tool under Design > Power Analyzer to estimate IC power consumption from schematic parameters.
  • Excel/Calc: Create a power budget spreadsheet with columns: Component, VCC, IQ_typ, IQ_max, IOUT, P_dissipated, Package, Rth_ja, Tj_calculated.
  • Manufacturer tools: TI PowerCalc, Analog Devices LTpowerCAD, and Microchip Power Estimator provide component-specific power calculations.

Checkpoint 2: MOSFET Switching + Conduction Losses Critical

MOSFET power dissipation consists of two primary components: conduction losses (when fully ON) and switching losses (during transitions). Both must be accurately calculated for reliable operation.

Conduction Losses

P_conduction = I_RMS² × RDS(on)_hot

Where RDS(on)_hot = RDS(on)_25°C × Temperature Factor
Typical factor: 1.4× at 100°C, 1.7× at 125°C, 2.0× at 150°C

Example: IRF3205 in a 12V/10A DC-DC converter
RDS(on) = 8mΩ at 25°C (VGS=10V)
I_RMS = I_OUT × √D = 10A × √0.5 = 7.07A (for buck converter, D=0.5)
RDS(on) at 100°C = 8mΩ × 1.4 = 11.2mΩ
P_cond = 7.07² × 0.0112 = 0.56W

Switching Losses

P_switching = 0.5 × VDS × ID × f_SW × (t_rise + t_fall)

Example: Same IRF3205, f_SW = 200kHz
VDS = 12V, ID = 10A, t_rise = 44ns, t_fall = 40ns
P_sw = 0.5 × 12 × 10 × 200,000 × (44 + 40) × 10⁻⁹
P_sw = 0.5 × 12 × 10 × 200,000 × 84ns
P_sw = 1.008W

Gate Drive Losses

P_gate = Qg × VGS × f_SW

For IRF3205: Qg = 146nC, VGS = 10V, f = 200kHz
P_gate = 146nC × 10V × 200kHz = 0.292W
(Note: This is dissipated in the gate driver, not the MOSFET)

Body Diode Losses (Dead Time)

P_diode = VF × I_D × t_dead × f_SW × 2

VF = 1.3V (body diode), I_D = 10A, t_dead = 100ns
P_diode = 1.3 × 10 × 100ns × 200kHz × 2 = 0.52W

Total MOSFET Power

P_TOTAL = P_cond + P_sw + P_diode + P_Coss
P_TOTAL = 0.56 + 1.008 + 0.52 + 0.1 (Coss estimated) = 2.19W

For D²PAK package: Rth_ja = 40°C/W (with thermal pad to PCB)
Tj = 85°C + 2.19 × 40 = 172.6°C -- EXCEEDS LIMIT!

Solution: Use a lower RDS(on) MOSFET, reduce switching frequency, or improve thermal design.
  1. Identify MOSFET operating mode: continuous conduction (CCM) or discontinuous conduction (DCM). Calculate RMS current accordingly.
  2. Look up RDS(on) at the actual gate drive voltage (not the minimum or test VGS). Apply temperature correction factor.
  3. Find switching times (tr, tf) from the datasheet at your actual gate drive conditions (VGS, RG_external).
  4. Calculate Coss losses: P_Coss = 0.5 × Coss × VDS² × f_SW. Use effective Coss (energy-related) from datasheet.
  5. Add reverse recovery losses if the body diode conducts: P_rr = 0.5 × Qrr × VDS × f_SW.
  6. Sum all loss components and verify junction temperature is within limits.
High-side MOSFET in a 48V/5A synchronous buck: Using BSC030N08NS5 (RDS(on)=3mΩ, Qg=40nC). P_cond = 5² × 0.003 × 1.5 × 0.08(D) = 9mW. P_sw = 0.5 × 48 × 5 × 500kHz × 15ns = 0.9W. Total = 0.91W in TDSON-8 (Rth_ja=50°C/W). Tj = 85 + 45.5 = 130.5°C. Marginal but acceptable with airflow.
Using a "jellybean" IRFZ44N (RDS(on)=17.5mΩ, Qg=63nC) in a 500kHz converter because it was cheap and available. The high gate charge causes excessive switching losses, and the high RDS(on) at temperature causes thermal runaway.
  • Ignoring RDS(on) temperature coefficient: MOSFET RDS(on) increases ~0.4%/°C. At 150°C it can be 2× the 25°C value, creating a positive feedback loop (thermal runaway).
  • Using switching times from different conditions: Datasheet tr/tf are measured at specific VGS, RG, and ID. Your actual circuit may have different gate resistance and capacitive loading.
  • Forgetting dead time losses in synchronous rectifiers: During dead time, current flows through the body diode at VF = 0.7-1.5V, which can be significant at high currents.
  • Not accounting for current ripple: I_RMS = √(I_DC² + I_ripple²/12). The ripple component adds to conduction losses.

Checkpoint 3: Resistor Power (I²R) Within Rating Major

Every resistor must be checked to ensure its power dissipation remains within the rated value, including derating for temperature. This is especially important for current sense resistors, bleeder resistors, and snubber resistors.

Step-by-Step Tutorial

  1. Identify all resistors carrying significant current: sense resistors, pull-ups on power buses, voltage dividers on high-voltage rails, LED current limiters, snubber resistors.
  2. Calculate power using P = I²R, P = V²/R, or P = V × I, whichever is most convenient for the circuit.
  3. Apply derating: Standard practice is 50% derating at 70°C ambient. Above 70°C, further derate per the manufacturer's derating curve.
  4. Verify the resistor package can handle the power: 0402 = 63mW, 0603 = 100mW, 0805 = 125mW, 1206 = 250mW, 2512 = 1W (typical values).
  5. Check for voltage rating compliance: small resistors have voltage limits (0402: 50V, 0603: 75V, 0805: 150V).
  6. Consider pulse power for transient events (ESD, inrush, surge).
Example: LED Current Limiting Resistor
VCC = 5V, V_LED = 2.1V, I_LED = 20mA
R = (5.0 - 2.1) / 0.020 = 145Ω → use 150Ω
P = I² × R = 0.020² × 150 = 60mW
0402 (63mW) is technically sufficient but leaves no margin.
Correct choice: 0603 (100mW) for 40% margin
Example: Current Sense Resistor
I_max = 3A continuous, R_sense = 10mΩ
P = I² × R = 3² × 0.010 = 90mW
Need: 90mW / 0.5 (50% derate) = 180mW minimum
Choose: 2512 size, 1W rated (e.g., Vishay WSL2512)
Actual derated capacity at 85°C: 1W × 0.7 = 700mW >> 90mW (good margin)
Example: Bleeder Resistor on 400V DC Bus
V = 400V, R = 470kΩ (for discharge within 1 second)
P = V²/R = 400² / 470,000 = 0.34W
Also check voltage rating: Need >400V per resistor
0805 rated to 150V -- NOT ENOUGH!
Solution: Use two 235kΩ in series, each sees 200V and 170mW
Gate drive resistor: VGS_driver = 12V, R_gate = 10Ω, Qg = 50nC, f = 200kHz. P = Qg × VGS × f = 50nC × 12V × 200kHz = 120mW. Using 0805 (125mW) is marginal. Selected 1206 (250mW) with comfortable margin. Also verified peak current: 12V/10Ω = 1.2A pulse is within thick-film capability.
Snubber resistor across MOSFET: V = 48V, C = 1nF, f = 500kHz. P = C × V² × f = 1nF × 48² × 500kHz = 1.15W. Engineer used 0805 package (125mW rated) because it was the same value as other 0805 resistors in the BOM. Resistor burned open in testing.
  • Ignoring pulse power: ESD protection resistors and snubbers see very high peak power. Thick-film resistors handle pulses better than thin-film.
  • Thermal coupling between adjacent resistors: Two 0402 resistors at 80% rating placed 0.2mm apart will overheat due to mutual heating.
  • Resistor arrays sharing a substrate: Total power for the array package must not exceed the array rating (not individual element × count).
  • Temperature coefficient under power: Self-heating shifts resistance value. For precision circuits, this introduces measurement error.

Checkpoint 4: Inductor Core + Copper Losses Major

Inductor losses consist of copper losses (DCR and AC winding resistance) and core losses (hysteresis and eddy currents). Both must be calculated to determine total inductor heating.

Copper (Winding) Losses

P_copper = I_RMS² × DCR

For a buck converter inductor:
I_DC = I_OUT = 5A, ΔI (ripple) = 2A peak-to-peak
I_RMS = √(I_DC² + (ΔI/2)²/3) = √(25 + 0.333) = 5.03A

Example: Coilcraft XAL7030-222 (2.2µH, DCR = 9.3mΩ)
P_copper = 5.03² × 0.0093 = 235mW

AC Winding Losses (Skin Effect and Proximity Effect)

P_AC = I_ripple_RMS² × R_AC

R_AC ≈ DCR × Fr (frequency-dependent resistance ratio)
Fr depends on wire diameter relative to skin depth:
δ = √(ρ / (π × f × μ₀)) = 66.1mm / √f(Hz) for copper

At 500kHz: δ = 66.1/√500,000 = 0.094mm
If wire diameter = 0.5mm, wire_dia/δ = 5.3 → Fr ≈ 5-8×
R_AC = 9.3mΩ × 6 = 55.8mΩ
I_ripple_RMS = ΔI/(2×√3) = 2/(2×1.732) = 0.577A
P_AC = 0.577² × 0.0558 = 18.6mW

Core Losses (Steinmetz Equation)

P_core = k × f^α × B^β × Volume

Generalized Steinmetz Equation (GSE):
P_v = k × f^α × ΔB^β (mW/cm³)

For typical ferrite (e.g., TDK PC95):
k = 3.2, α = 1.46, β = 2.75 (material-specific constants)

Example at 500kHz, ΔB = 50mT:
P_v = 3.2 × 500^1.46 × 50^2.75 = 3.2 × 5890 × 17,678 = 333 mW/cm³

For a core volume of 0.15 cm³:
P_core = 333 × 0.15 = 50mW

Total Inductor Loss

P_TOTAL = P_copper + P_AC + P_core
P_TOTAL = 235 + 18.6 + 50 = 303.6mW

Temperature rise ≈ P_TOTAL × Rth_inductor
For XAL7030: ΔT ≈ 303.6mW × 40°C/W = 12.1°C rise
If ambient = 85°C: T_inductor = 97.1°C (within 125°C rating)
  1. Calculate DC current (average) and AC ripple current in the inductor for your converter topology.
  2. Find DCR from the inductor datasheet. Note temperature coefficient (copper: +0.39%/°C).
  3. Estimate AC resistance using manufacturer data or calculate from skin depth and winding geometry.
  4. Determine ΔB from: ΔB = (V × D) / (N × Ae × f), where Ae is effective core area.
  5. Use the core material's loss curves (from datasheet) to find volumetric core loss at your frequency and ΔB.
  6. Sum all losses and verify the total temperature rise keeps the inductor within its rated temperature.
Power inductor selection for 12V→5V, 3A, 500kHz buck: Selected Wurth 744311220 (2.2µH, DCR=28mΩ, Isat=8.5A, Irms=5.9A). P_copper = 3² × 0.028 = 252mW. Core loss from datasheet graph at 500kHz/30mT = 180mW. Total = 432mW. Temperature rise from datasheet curve = 25°C. At 70°C ambient: 95°C inductor temp, well within 150°C limit.
Using an inductor rated for 5A saturation at 2A DC because "it has margin." However, at 85°C ambient, ferrite permeability drops and saturation current decreases by 20-30%. The inductor saturates during load transients, causing current spikes and potential MOSFET failure.
  • Saturation current decreases with temperature: Ferrite Isat drops ~20% from 25°C to 100°C. Powdered iron is more stable but has higher core loss.
  • Core loss increases dramatically with frequency: Doubling frequency can increase core loss 2.5-3× due to the exponential Steinmetz relationship.
  • DCR thermal derating: Copper resistance increases ~40% from 25°C to 125°C. Use hot DCR in calculations.
  • Manufacturer loss data may be at 25°C: Core losses also increase with temperature for some materials (though ferrite losses often decrease slightly up to ~80°C then increase).

Checkpoint 5: Total Board Power Budget Critical

A comprehensive power budget accounts for every power-consuming component and rail on the board, ensuring the power supply system can handle the total load and the board does not exceed its thermal capacity.

Step-by-Step Tutorial

  1. Create a hierarchical power tree starting from the input connector through each regulator to every load.
  2. For each power rail, list all ICs and components drawing current. Sum the maximum currents.
  3. Account for regulator efficiency: P_input = P_output / η. For linear regulators, η = VOUT/VIN.
  4. Include connector and cable losses: P_cable = I² × R_cable.
  5. Add margins: 20% for design uncertainty, additional margin for future feature growth.
  6. Verify total input power against the power supply or connector rating.

Power Budget Template

RailComponentTypical (mA)Maximum (mA)Power (mW)Notes
3.3VMCU (STM32F4)3093307All peripherals active
3.3VFlash Memory152582.5During write
3.3VEthernet PHY130160528100BASE-T active
3.3VEEPROM3516.5During write cycle
3.3VLEDs (×4)4080264All on maximum
3.3VRail Total2183631198
1.8VDDR3 Memory200400720Active read/write
1.2VFPGA Core50012001440100% utilization
5VUSB Host Power05002500Max spec device
Total Board Power5858mW+20% margin = 7.0W
Efficiency Chain Calculation:
Input: 12V DC from adapter
5V rail: 12V → 5V buck (η=90%): P_in_5V = 2500/0.90 = 2778mW
3.3V rail: 5V → 3.3V LDO (η=66%): P_in_3V3 = 1198/0.66 = 1815mW
1.8V rail: 3.3V → 1.8V buck (η=85%): P_in_1V8 = 720/0.85 = 847mW
1.2V rail: 3.3V → 1.2V buck (η=82%): P_in_1V2 = 1440/0.82 = 1756mW

Total from 12V: (2778 + 1815 + 847 + 1756) / 0.90 = 7996mW ≈ 8W
Input current at 12V: 8W / 12V = 0.667A
Verify: 12V adapter must supply > 0.8A (with 20% margin)
Complete power budget spreadsheet maintained throughout design, updated at each schematic revision. Each IC power is calculated from datasheet parameters, not estimated. Budget includes 20% growth margin and explicitly states assumptions (ambient temperature, activity factors, duty cycles).
Power supply selected as "12V, 2A should be plenty" without calculating actual consumption. No consideration of efficiency losses in the regulator chain. Board draws 1.8A at room temperature but exceeds 2A at 85°C ambient due to increased quiescent currents and reduced regulator efficiency.

Checkpoint 6: Worst-Case Power Scenario Identified Major

The design must identify the absolute worst-case power consumption scenario, which may not be "everything running at maximum" but rather specific operating modes that create the highest thermal stress.

Step-by-Step Tutorial

  1. Identify all distinct operating modes: startup/inrush, idle, normal operation, peak processing, communication bursts, fault conditions.
  2. For each mode, calculate total power dissipation considering which subsystems are active.
  3. Consider environmental extremes: maximum ambient temperature, solar loading, enclosed operation, loss of cooling.
  4. Evaluate transient conditions: output short circuit, input overvoltage, maximum load step.
  5. Determine which scenario produces the highest junction temperatures (not necessarily the highest total power).
  6. Document the worst case and verify all components survive that scenario.

Worst-Case Scenario Matrix

ScenarioConditionTotal PowerCritical ComponentTj_max
Startup InrushCold start, bulk cap charging25W (1ms)Input MOSFET135°C
Normal OperationAll systems active, 25°C6W continuousFPGA85°C
Peak ProcessingMax CPU + GPU + DDR9W continuousDC-DC inductor112°C
High Temp Idle85°C ambient, minimal load4WLDO regulator128°C
Thermal Worst85°C + peak processing11WFPGA148°C
Output ShortLoad short circuit30W (until protection)Buck MOSFET160°C
Transient Thermal Analysis:
For short-duration events, use thermal impedance (Zth) instead of Rth:
ΔTj = P × Zth(t)

Example: Output short for 10µs before OCP triggers
MOSFET Zth(10µs) = 0.5°C/W (from datasheet transient thermal curve)
P_short = 48V × 30A = 1440W
ΔTj = 1440 × 0.5 = 720°C -- Even for 10µs this is damaging!

Solution: Reduce OCP response time to <1µs or add current limiting
Worst-case analysis document identifies that the thermal worst case is NOT maximum processing load, but rather a specific calibration mode where the MCU runs continuously while the cooling fan is turned off for acoustic measurement. This scenario was caught early and a thermal timer was added to limit calibration duration.
Only analyzing "typical" operating conditions at 25°C ambient. Product deployed in a sealed outdoor enclosure reaching 65°C ambient in summer, with solar loading adding another 15°C. The "typical" 6W dissipation causes thermal shutdown in the field that was never predicted.
  • Assuming all worst cases are simultaneous: Sometimes the true worst case is a specific combination of moderate loads. Analyze actual use cases, not just "everything maximum."
  • Ignoring startup power: Inrush current charging bulk capacitors can cause brief but intense heating. Pre-charge circuits or soft-start may be needed.
  • Forgetting fault conditions: Components must survive output shorts, input surges, and loss of cooling for a defined time before protection acts.
  • Not considering aging: Thermal paste degrades, fan performance decreases, and heat sink fins collect dust over the product lifetime.
  • MATLAB/Simulink: Use thermal network models to simulate transient temperatures under different load profiles.
  • LTspice: Model the thermal network as an RC circuit to simulate transient junction temperatures.
  • Spreadsheet: Create a scenario matrix with power, ambient temp, cooling mode, and duration columns.