Search by Tags

Thermal Management


Compare with Revision

Subscribe for this article updates

With the advancement in the technology, we have seen an exponential growth in the performance of the System-on-chips (SoC). Systems are capable of performing complex tasks at high speeds. There is an increasing trend in power consumption in high performance ARM based SoCs. Thus better thermal management solutions are required to improve the performance and reliability of the system. This article provides an overview of the thermal management solutions available for Toradex computer-on-modules.

Colibri module family specific settings

Toradex computer modules can uses both active and passive thermal management solutions to optimize system performance. Toradex provide software tool called Toradex Task Manager to monitor and tweak the system frequency.

Colibri PXAxxx

Colibri PXAxx modules runs at a fixed frequency. Toradex provides ways to manually change the system frequency in order to tweak or optimize the system performance using software configurations. In most of the use cases, a cooling solution should not be required. The maximum temperature is limited by the case temperature of the PXA processor which must not exceed 85°C. For more details, please refer to the respective Colibri module datasheet and Marvell’s EMTS.

Colibri and Apalis Txx

Colibri Tegra modules uses Dynamic Voltage and Frequency Switching (DVFS) and Thermal Throttling for system performance management. Further on CPU cores get disabled dynamically (WinCE from Image 2.2b2 on). For all possible power related settings, please refer to this article. The system monitors and dynamically adjust its operating frequency based on the operating conditions.

On Linux, tegrastats command can be used to view the CPU utilization. For more details, please refer to the following articles:

If peak performance is required for short duration, heat dissipation is not the matter of concern because of the advanced power management.
When full CPU / Graphics performance is required for a longer period, it is highly recommended to test the system thermal behavior in the given condition.

Module Version Max Operating Temperature (SoC)
Colibri T20 90 °C
Colibri T20 IT 105 °C
Colibri T30 90 °C

Colibri T30 module also feature hardware shutdown to protect the module. Following are the temperature limits:
CPU temperature > 115 °C or Module temperature > 95°C (On WinCE, its limited to 85°C)

For more details, please refer to the thermal specification in the respective module datasheet.

Additional information can also be found on this Tegra specific article.

Thermal throttling


The limits for the Tegra SOCs under WinCE are:

SoC Temperature Maximum Frequency
upto 60 °C 1000 MHz
60 °C to 85 °C 800 MHz
greater than 85 °C half of the max frequency

The temperature needs to drop at least 5°C until it uses the higher frequency again.

These settings thermal throttling settings can be modified manually. You find all the details in the Resource Manager Registry Settings article.


On Linux, system try to limit its maximum operating temperature. One can access this feature via "generic thermal sysfs". The algorithm starts once the SoC temperature reaches 60 °C.

Additional Thermal hardware solutions:

We have tested few off-the-shelf heatsink solutions available in the market with Colibri T20 and T30 modules.

For more details, please refer to the following test report:

Apalis Modules

Apalis standard included a robust, rigid mounting mechanism to support thermal solutions. To implement thermal solution on the carrier board, please refer to the Apalis Carrier Board Design Guide.
An optimized heats sink is available for each version of Toradex Apalis module.
The following table shows the compatibility of the available Apalis heatsink:

Apalis Heatsink Type, Version Compatible Apalis module Remarks
Type 1, V1.0A Apalis iMX6Q IT Part Number: 23051000
Type 2, V1.0A Apalis T30 Part Number: 23061000
Type 3, V1.0A Apalis iMX6Q, Apalis iMX6D and Apalis TK1 Part Number: 23071000

The heat sink can be used as passive or active cooling solution. Passive means that the natural convection is used to transport the heat from the surface to the air. The efficiency of the natural convection is dependent on the housings and the environment. This solution has no moving parts and does not produce noise. If the passive cooling is not sufficient, a fan can be mounted on top of the heat sink. This increases the efficiency dramatically. The speed of the fan can be controlled by using one of the free PWM signals based on SoC temperature.

Viola Carrier Board

Apalis T30

The thermal management system on the Apalis T30 module is similar to the Colibri T30 module (see above). Heatsink optimized for the Apalis T30 module is available for the customers. To order Apalis heatsink, please visit Toradex Webshop.

Apalis iMX6

The maximum junction temperature of SoC is depended on the product variant as mention in the table below:

SoC Version Maximum Junction Temperature
iMX6 95 °C
iMX6 IT 105 °C

On Linux, following table list down the default temperature dependent frequency scaling behaviour:

Temperature (SoC) Maximum Frequency
upto 85 °C 1000 MHz
85 °C to 100 °C 800 MHz
greater then 100 °C Shutdown

How to save power

We recommend you to measure the power consumption of the system, before and after making the changes. It helps in getting a better understanding of the power management of the system:

Disable unused Display Interfaces

The Tegra modules have three display interfaces, make sure only you only enable the used display interface and disable the unused ones. For example: if only LCD interface is used. Please use the Tegra specific registry settings as mentioned in this article.

BootupStyle = 1
HDMIHotplugBehavior = 2

Use a Lower Frequency

One can use the Toradex Task Manager to change the CPU frequency to test system performance and power consumption.

Avoid Toggling Pins

Make sure none of the pins are unnecessarily toggling. Also make sure all input pins are on a defined voltage level. The GPIO Config tool will be helpful in testing.

Use Low Power Modes

Enter Suspend mode during idle time or even switch off the module completely. Toradex WinCE images offer fast boot (in some cases boot time is less than 0.5 Seconds).

Check CPU Load

Use Toradex Task Manager to check the CPU Load. If load is unexpectedly high then check the application software. Some easy modifications may help to lower the CPU load. e.g Use interrupts instead of polling, sleep instead of busy waits, etc.

Disable unused Drivers

For this step you should measure the power consumption, in some cases disabling drivers may have a negative impact on power consumption. To learn more about how to disable drivers, please refer to this article.