Orange Pi Heat Management

Avatar

sdg.john
2019-08-06 17:29
Last Edited 2022-08-26 15:48

Introduction:

After extensive use of the orange pi zero, we ran into a problem where it became unresponsive. At first, we suspected that it may be the signal to the orange pi zero that malfunctioned. After further investigation, we determined that the CPU overheated causing it to shut down.


Mission:

We aim to improve the thermal efficiency of the orange pi zero to prevent it from or improve the chance of not overheating. This will ensure that the orange pi zero continuously operates at a safe temperature, well below its cutoff temperature of 105 degrees Celsius.

Materials:

All materials can be found at RS Components.

Rs Components website - https://za.rs-online.com/web/

Heat Sink A:

Heat Sink A is a 14x14x10mm heat sink available at RS Components. It comes with an adhesive strip applied, ready to stick to the back of the CPU chip. We bought heat sink A from RS Components for R18.92.

RS Components stock number - 750 0881


Heat Sink B:

Heat Sink B is a 14x14x10mm heat sink that comes without any adhesive to apply to the CPU chip. We used Cooler Master E1 IC essential thermal compound to attach heat sink B to the CPU chip. We bought heat sink B from RS Components for R27.39.

RS Components stock number - 674 4756


Heat Sink C:

Heat sink C is a 14x14x14mm heatsink that comes without any adhesive to apply to the CPU chip. We used RS Pro Heat Sink thermal compound to attach heat sink C to the CPU chip. We bought heat sink C from RS Components for R19.56.

RS Components stock number - 674 4740


Orange Pi Zero

Experiment 1

Procedure:

For experiment 1, we took 4 different Orange Pi Zero units and monitored their CPU temperatures under different conditions. An Orange Pi Zero with no heat sink attached was tested to find the reference temperatures. Three other Orange Pi Zero units were then tested with different heat sinks and different heat sink attachment methods. We monitored the Orange Pi Zero CPU temperatures when it is at 1-3% CPU (idle), and then we monitored the CPU temperatures under 100 % CPU.

All tests were performed in the same environment, with different Orange Pi Zero units.

We used an Armbian image file, that can be found on the Armbian website, under download, scroll down to Orange Pi Zero. The four Orange Pi Zero images available on the Armbian website (https://www.armbian.com/orange-pi-zero/) are as follows:

Armbian Bionic - https://dl.armbian.com/orangepizero/Ubuntu_bionic_next.7z

Armbian Stretch - https://dl.armbian.com/orangepizero/Debian_stretch_next.7z

Armbian Jessie - https://dl.armbian.com/orangepizero/Debian_jessie_default.7z

Armbian Xenial - https://dl.armbian.com/orangepizero/Ubuntu_xenial_default.7z

We used the Armbian stretch image file. After downloading the Armbian Stretch file from the Armbian website, it is required to extract the files from within the Armbian stretch file, as it is downloaded in compressed form. It can be extracted by various extraction tools found on the internet. We used 7zip as it is an open-source program.

When extracting the Armbian Stretch file, an image file will be made available. We used Balena Etcher to flash the image onto a Sandisk 8GB SD card. Insert the SD card into the Orange Pi Zero and connect the Orange Pi Zero unit to a pc via a micro USB cable. We used PuTTY to establish a USB-to-SERIAL connection with the Orange Pi Zero unit.

Upon opening PuTTY the basic options connection type should be set to serial.?The COM setting should match the COM Port that the Orange Pi Zero unit is connected with (as shown in the device manager).


The flow control should be set to none when opening the serial option from the category menu.


Sign in to the Orange Pi Zero unit as root, with password 1234. If asked to provide a new password, input a new password.


Run nmtui to establish an internet connection.


Select activate a connection, choose an available connection, and input password to connect to the network.


Run apt-get install default-jdk


Run apt-get update


Enter vi Test.java

Press I to insert and copy and paste (right click in PuTTY) the below code (found in section Orange Pi Zero CPU stress test:) into the program.?Press esc esc followed by :wq


Run javac Test.java to compile the program.


Run ifconfig to determine the IP address of the Orange Pi Zero unit


Open another PuTTY session, with the basic options connection type set to SSH.?Enter the IP address of the Orange Pi Zero in the available slot and choose open.


Login as root and enter the password.


Run armbianmonitor -m to monitor the CPU load and temperature.


Return to other PuTTY session opened with COM Port connection, and run java Test to activate the program written previously.


Use the other PuTTY session to monitor the rise in temperature while the program runs.

Results:

No Heat sink:

With no heat sink attached, the Orange Pi Zero unit idled at a CPU temperature of 44 degrees?Celsius. After?2 minutes, the CPU temperature increased to 45 degrees?Celsius. After another?2 minutes, the CPU temperature increased to 46 degrees?Celsius. The Orange Pi Zero unit then idled for?20 minutes, with the CPU temperature constantly fluctuating between 46?and 47 degrees?Celsius.

At 100% CPU, the CPU temperature spiked to 65 degrees Celsius; after 40 seconds, it reached a CPU temperature of 66 degrees Celsius. After another 40 seconds, the CPU temperature climbed another degree to 67 degrees Celsius. 2 Minutes passed, and the CPU temperature reached 68 degrees Celsius. The Orange Pi Zero unit ran for another 20 minutes on 100% CPU, with the CPU temperature constantly fluctuating between 69 and 70 degrees Celsius.

Heat sink A:

With heat sink A fitted to an Orange Pi Zero unit, we started testing the CPU temperature in the same way as before. At idle it started off with a CPU temperature of 47 degrees?Celsius. After every?2 minutes the CPU temperature is raised by 1 degree Celsius, i.e. 48 degrees Celsius, 49 degrees Celsius, etc. After 6 minutes at idle, the CPU temperature reached 50 degrees Celsius and constantly fluctuated between 50 and 51 degrees Celsius for the next 20 minutes.

At 100% CPU, the CPU temperature spiked to 61 degrees Celsius. After 10 seconds, the CPU temperature reached 64 degrees Celsius. After another 8 seconds passed, the CPU temperature reached 65 degrees Celsius. Then the CPU temperature increased more steadily, with 3 minutes passed, it increased to 66 degrees Celsius. It followed the pattern of increasing 1 degree Celsius in 3 minutes until it got to 69 degrees Celsius. The CPU temperature continuously fluctuated between 69 and 70 degrees Celsius for 20 minutes.

Heat Sink B:

With heat sink B applied, the Orange Pi Zero unit idled at 34 degrees Celsius CPU temperature. 10 seconds later, the CPU temperature raised to 35 degrees Celsius. After another 40 seconds, the CPU temperature reached 36 degrees Celsius. 20 seconds had passed, and the CPU temperature reached 37 degrees Celsius. After another minute had passed the CPU temperature was 38 degrees Celsius. A further minute had passed, and the CPU temperature reached 39 degrees Celsius. A minute had passed, and the CPU temperature raised to 40 degrees Celsius. After another 2 minutes had passed the CPU temperature was at 41 degrees Celsius. The Orange Pi Zero unit idled for another 20 minutes, with the CPU temperature continuously fluctuating between 42 and 43 degrees Celsius.

At 100% CPU, the CPU temperature jumped to 59 degrees Celsius. 5 seconds later, the CPU temperature reached 60 degrees Celsius. Another 10 seconds later, the CPU temperature reached 62 degrees Celsius. Another 10 seconds later, the CPU temperature raised to 63 degrees Celsius. 2 minutes later, the CPU temperature reached 64 degrees Celsius. The Orange Pi Zero unit continuously ran for 20 minutes on 100% CPU, while the CPU temperature fluctuated between 64 and 65 degrees Celsius.

Heatsink C:

With heat sink C applied, the Orange Pi Zero unit idled at 33 degrees Celsius CPU temperature. 10 seconds later, the CPU temperature increased to 34 degrees Celsius. After another minute had passed, the CPU temperature reached 35 degrees Celsius. One minute later, the CPU temperature reached 36 degrees Celsius. 2 minutes later, the CPU temperature increased to 37 degrees Celsius. Another minute had passed, and the CPU temperature reached 38 degrees. Six minutes later the CPU temperature increased to 39 degrees Celsius. The Orange Pi Zero unit continuously ran for another 20 minutes, with the CPU temperature constantly varying between 39 and 40 degrees Celsius.

At 100% CPU, the CPU temperature spiked to 56 degrees Celsius. After 20 seconds, the CPU temperature reached 57 degrees Celsius. After another 10 seconds passed, the CPU temperature reached 58 degrees Celsius. After another minute had passed, the CPU temperature increased to 59 degrees Celsius. Two minutes later the CPU temperature reached 60 degrees Celsius. Another 2 minutes later the CPU temperature increased to 61 degrees Celsius. The CPU temperature continuously fluctuated between 61 and 62 degrees Celsius for 20 minutes.

Orange Pi Zero CPU stress test:

We used a short basic java program to reach 100% CPU, to monitor the increase in temperature, when the percentage CPU usage would increase.

import java.io.*;

import java.util.*;

import java.net.*;


class Test

{

? public static void main(String[] args) throws Exception

? {

? ? for (int i = 0; i < 4; i++)

? ? {

? ? ? final int k = i;

? ? ? new Thread(new Runnable() {

? ? ? ? ? public void run() {

? ? ? ? ? ? System.out.println('starting');

? ? ? ? ? ? int j = 0;

? ? ? ? ? ? while (true);

? ? ? ? ? }

? ? ? ? }).start();

? ? }

? }

}

Conclusion:

In conclusion, for the Orange Pi Zero unit, heat sink A had virtually no benefit for heat management. Heat sink B had a 5 degrees Celsius gain on average, throughout the whole range, compared to no heat sink. Heat sink C showed the most significant temperature improvements.

We witnessed a faster rise in temperature for heat sink B, and a slower rise in temperature for heat sink A, in relation to no heat sink. Ultimately heat sink B kept the temperature about 5 degrees Celsius cooler, throughout the entire range, than heat sink A and no heat sink, this may be due to the thermal compound used.

Heat sink C ultimately kept the CPU temperature about 8 degrees Celsius cooler throughout the entire range, than heat sink A and no heat sink, and about 3 degrees Celsius cooler than heat sink B throughout the entire range.




Experiment 2

After further research online, we found Orange Pi Zero users complain about the accuracy of the CPU temperature readings that they found with the Armbianmonitor command. Experiment 2 is to determine how the temperature readings from Armbianmonitor, compare to the actual CPU temperature measured with an infrared thermometer. We tested this with the coolest Orange Pi Zero unit from experiment 1, an Orange Pi Zero with no heat sink attached, the Orange Pi Lite, and Orange Pi R1. We used a Lasergrip GM400. It has a distance-to-spot ratio of 12:1, which means that we held the thermometer, about 80mm away from the CPU to get accurate readings.

The Armbian stretch image for the Orange Pi Zero was used on the Orange Pi Lite also. The Armbian stretch image for the Orange Pi R1 was used on the Orange Pi R1.

When measuring the CPU temperatures with the thermometer, we noticed that not all sides of the CPU have the same temperature. We found it to be a hot side and a cold side.

Test units and tools:

The Orange Pi Zero unit attached to heat sink C which was used in Experiment 1, was also used for Experiment 2.


The Orange Pi Zero unit without a heat sink that was used in Experiment 1, was also used in Experiment 2.


An Orange Pi Lite without a heat sink attached was also used in Experiment 2.


An Orange Pi R1 without a heat sink attached was also used in Experiment 2.


A Lasergrip GM400 Infrared Thermometer was used to measure the temperatures of the Orange Pi units.?

?

Results:

All temperatures measured, will refer to the CPU hot side readings measured with the thermometer.

The Orange Pi Zero unit with no heat sink:

With no governing on the Orange Pi Zero unit, the CPU temperature steadily rises from 32.8 degrees Celsius to about 37 degrees Celsius in about 6 minutes. It then continuously fluctuates between 36 and 38 degrees Celsius. When increasing the CPU demand to 100% CPU, it instantly spikes to 46.7 degrees. After about 6 minutes, the CPU temperature reaches 62.8 degrees Celsius. It then continuously fluctuates between 63 and 64 degrees Celsius. The Armbianmonitor readings are considerably higher, in the higher temperature range.


The Orange Pi Zero unit with heat sink C attached:

With no governing on the Orange Pi Zero unit, the CPU temperature steadily rises from 28.6 degrees Celsius to about 35.6 degrees Celsius in about 5 minutes. It then continuously fluctuates between 35 and 36 degrees Celsius. When increasing the CPU demand to 100% CPU, it instantly drops to 34.7 degrees. After about 6 minutes, the CPU temperature reaches 53.8 degrees Celsius. It then continuously fluctuates between 56 and 57 degrees Celsius. The Armbianmonitor readings are considerably higher, in the higher temperature range.


The Orange Pi Lite unit with no heat sink attached:

With no governing on the Orange Pi Lite unit, the CPU temperature steadily rises from 30.9 degrees Celsius to about 36.5 degrees Celsius in about 6 minutes. It then continuously fluctuates between 36 and 37 degrees Celsius. When increasing the CPU demand to 100% CPU, it instantly spikes to 41.4 degrees. After about 5 minutes, the CPU temperature reaches 52.6 degrees Celsius. It then continuously fluctuates between 53 and 54 degrees Celsius. The Armbianmonitor readings are slightly higher than the actual readings, at higher temperatures.


The Orange Pi R1 unit with no heat sink attached:

With no governing on the Orange Pi R1 unit, the CPU temperature steadily rises from 37.7 degrees Celsius to about 45.7 degrees Celsius in about 6 minutes. It then continuously fluctuates between 45 and 46 degrees Celsius. When increasing the CPU demand to 100% CPU, it instantly spikes to 52.9 degrees. After about 5 minutes, the CPU temperature reaches 68.7 degrees Celsius. It then continuously fluctuates between 70 and 71 degrees Celsius.?The Armbianmonitor readings are considerably higher, in the higher temperature range.


Conclusion:

The armbianmonitor readings tend to be more inaccurate as the CPU temperature increases. The behavior of the accuracy of the Armbianmonitor readings can be seen in the graphs above.


Experiment 3:

Execution:

After further investigation regarding the Orange Pi Zero unit's overheating problems, we concluded that the Orange Pi Zero operates normally with an ambient temperature of 15 degrees Celsius. This experiment serves the purpose to investigate the impact of an increase in ambient temperature, on the performance of the Orange Pi Zero unit, as well as the Orange Pi Lite and Orange Pi R1 units.

Firstly, we took an infrared thermometer to measure the CPU temperature of the Orange Pi Zero and Lite units. We placed the Orange Pi unit inside an oven. We controlled the temperature within the cabinet within a half degree Celsius of the desired temperature.

We increased the ambient temperature in increments from 30 degrees Celsius to 40 degrees Celsius to 50 degrees Celsius, to accurately measure the impact of the ambient temperature on the performance of the Orange Pi units and to find the ambient temperature, where it becomes unresponsive.

Results:

1.)? Idle at room temperature:

The Orange Pi Zero unit with no heat sink:

With no governing on the Orange Pi Zero unit, the CPU temperature steadily rises from 32.8 degrees Celsius to about 37 degrees Celsius in about 6 minutes. It then continuously fluctuates between 36 and 38 degrees Celsius.

With Moderate governing applied (648MHz), the CPU temperature linearly increases from 30.7 degrees Celsius to 36.6 degrees Celsius, in 5 minutes. It then constantly changes between 37 and 38 degrees Celsius.

With Heavy governing applied (120MHz), the CPU temperature rises linearly from 33.3 degrees Celsius to 35.9 degrees Celsius in 5 minutes, after which it continuously fluctuates between 36 and 37 degrees Celsius.

The Orange Pi Zero unit with heat sink C attached:

With Moderate governing applied (648MHz), the CPU temperature linearly increases from 28.4 degrees Celsius to 33.5 degrees Celsius, in 5 minutes. It then constantly changes between 33 and 34 degrees Celsius.

The Orange Pi Lite unit with no heat sink attached:

With no governing on the Orange Pi Lite unit, the CPU temperature steadily rises from 30.9 degrees Celsius to about 36.5 degrees Celsius in about 6 minutes. It then continuously fluctuates between 36 and 37 degrees Celsius.

The Orange Pi R1 unit with no heat sink attached:

With no governing on the Orange Pi R1 unit, the CPU temperature steadily rises from 37.7 degrees Celsius to about 45.7 degrees Celsius in about 6 minutes. It then continuously fluctuates between 45 and 46 degrees Celsius.

With Moderate governing applied (648MHz), the CPU temperature linearly increases from 37.1 degrees Celsius to 42.9 degrees Celsius, in 5 minutes. It then constantly changes between 46 and 47 degrees Celsius.?

2.)? 100% CPU at room temperature:

The Orange Pi Zero unit with no heat sink:

With no governing on the Orange Pi Zero unit and increasing the CPU demand to 100% CPU, the CPU temperature starts at 46.7 degrees Celsius. After about 6 minutes, the CPU temperature reaches 62.8 degrees Celsius. It then continuously fluctuates between 63 and 64 degrees Celsius.

With Moderate governing applied (648MHz), and increasing the CPU load to 100% CPU, the CPU temperature starts at?38.6 degrees Celsius. It then steadily increases to 43.3 degrees Celsius in 6 minutes, after which it continuously fluctuates between 44 and 45 degrees Celsius.

With Heavy governing applied (120MHz) and increasing the CPU load to 100% CPU, the CPU temperature starts at?38.6 degrees Celsius. It then continuously fluctuates between 38 and 39 degrees Celsius.

The Orange Pi Zero unit with heat sink C attached:

With Moderate governing applied (648MHz) and increasing the CPU load to 100% CPU, the CPU temperature starts at?36.3 degrees Celsius. It then steadily increases to 40.8 degrees Celsius in 5 minutes, after which it continuously fluctuates between 41 and 42 degrees Celsius.

The Orange Pi Lite unit with no heat sink attached:

With no governing on the Orange Pi Lite unit, and increasing the CPU demand to 100% CPU, the CPU temperature starts at 41.4 degrees Celsius. After about 5 minutes, the CPU temperature reaches 52.6 degrees Celsius. It then continuously fluctuates between 53 and 54 degrees Celsius.

The Orange Pi R1 unit with no heat sink attached:

With no governing on the Orange Pi R1 unit, and increasing the CPU demand to 100% CPU, the CPU temperature starts at 52.9 degrees Celsius. After about 5 minutes, the CPU temperature reaches 68.7 degrees Celsius. It then continuously fluctuates between 70 and 71 degrees Celsius.

With Moderate governing applied (648MHz) and increasing the CPU load to 100% CPU, the CPU temperature instantly rises to 49.3 degrees Celsius. It then steadily increases to 55.9 degrees Celsius in 5 minutes, after which it continuously fluctuates between 56 and 58 degrees Celsius.


3.) 100% CPU at 30 degrees Celsius ambient:

The Orange Pi Zero unit with no heat sink:

With no governing on the Orange Pi Zero unit, the CPU temperature steadily rises from 53.9 degrees Celsius to 69.9 degrees Celsius in about 6 minutes. It then continuously fluctuates between 69 and 70 degrees Celsius.

With Moderate governing applied (648MHz), the CPU temperature linearly increases from 51.4 degrees Celsius to 63.3 degrees Celsius, in 8 minutes. It then constantly changes between 64 and 65 degrees Celsius.

With Heavy governing applied (120MHz), the CPU temperature rises linearly from 47.4 degrees Celsius to 59.7 degrees Celsius in 8 minutes, after which it continuously fluctuates between 61 and 62 degrees Celsius.

The Orange Pi Zero unit with heat sink C attached:

With Moderate governing applied (648MHz), the CPU temperature linearly increases from 40.8 degrees Celsius to 53.8 degrees Celsius, in 7 minutes. It then constantly changes between 56 and 57 degrees Celsius.

The Orange Pi Lite unit with no heat sink attached:

With no governing on the Orange Pi Lite unit, the CPU temperature steadily rises from 50.6 degrees Celsius to 53.8 degrees Celsius in about 7 minutes. It then continuously fluctuates between 62 and 63 degrees Celsius.

The Orange Pi R1 unit with no heat sink attached:

With no governing on the Orange Pi R1 unit, the CPU temperature steadily rises from 50.1 degrees Celsius to 68.1 degrees Celsius in about 3 minutes. It then continuously fluctuates between 71 and 72 degrees Celsius.

With Moderate governing applied (648MHz), the CPU temperature linearly increases from 40.8 degrees Celsius to 62.9 degrees Celsius, in 6 minutes. It then constantly changes between 65 and 66 degrees Celsius.

?

4.)100% CPU at 40 degrees Celsius ambient:

The Orange Pi Zero unit with no heat sink:

With no governing on the Orange Pi Zero unit, the CPU temperature steadily rises from 64.6 degrees Celsius to 93.6 degrees Celsius in about 7 minutes. It then switches off, as soon as Armbianmonitor reads 105 degrees Celsius, due to safeguarding.?

With Moderate governing applied (648MHz), the CPU temperature linearly increases from 72.3 degrees Celsius to 88 degrees Celsius, in 6 minutes. It then constantly changes between 89 and 90 degrees Celsius.

With Heavy governing applied (120MHz), the CPU temperature rises linearly from 65.2 degrees Celsius to 88.7 degrees Celsius in 4 minutes, after which it continuously fluctuates between 91 and 92 degrees Celsius.

The Orange Pi Zero unit with heat sink C attached:

With Moderate governing applied (648MHz), the CPU temperature linearly increases from 58.3 degrees Celsius to 70.3 degrees Celsius, in 6 minutes. It then constantly changes between 73 and 74 degrees Celsius.

The Orange Pi Lite unit with no heat sink attached:

With no governing on the Orange Pi Lite unit, the CPU temperature steadily rises from 47.7 degrees Celsius to 81.3 degrees Celsius in about 6 minutes. It then continuously fluctuates between 84 and 85 degrees Celsius.

The Orange Pi R1 unit with no heat sink attached:

With no governing on the Orange Pi R1 unit, the CPU temperature steadily rises from 64.2 degrees Celsius to 91 degrees Celsius in about 5 minutes. It then continuously fluctuates between 96 and 97 degrees Celsius.

With Moderate governing applied (648MHz), the CPU temperature linearly increases from 66 degrees Celsius to 91.7 degrees Celsius, in 6 minutes. It then constantly changes between 94 and 95 degrees Celsius.

?

5.)100% CPU at 50 degrees Celsius ambient:

The Orange Pi Zero unit with no heat sink:

With no governing on the Orange Pi Zero unit, the CPU temperature steadily rises from 48.9 degrees Celsius to 95.6 degrees Celsius in about 4 minutes. It then switches off, as soon as Armbianmonitor reads 105 degrees Celsius, due to safeguarding.?

With Moderate governing applied (648MHz), the CPU temperature linearly increases from 51.2 degrees Celsius to 95.1 degrees Celsius, in 4 minutes. It then switches off, as soon as Armbianmonitor reads 105 degrees Celsius, due to safeguarding.?

With Heavy governing applied (120MHz), the CPU temperature rises linearly from 51.8 degrees Celsius to 95.3 degrees Celsius in 5 minutes. It then switches off, as soon as Armbianmonitor reads 105 degrees Celsius, due to safeguarding.??

The Orange Pi Zero unit with heat sink C attached:

With Moderate governing applied (648MHz), the CPU temperature linearly increases from 48.7 degrees Celsius to 97.2 degrees Celsius, in 7 minutes. It then constantly changes between 98 and 99 degrees Celsius.

The Orange Pi Lite unit with no heat sink attached:

With no governing on the Orange Pi Lite unit, the CPU temperature steadily rises from 48.2 degrees Celsius to 104.6 degrees Celsius in about 9 minutes. It then switches off, as soon as Armbianmonitor reads 105 degrees Celsius, due to safeguarding.??

The Orange Pi R1 unit with no heat sink attached:

With no governing on the Orange Pi R1 unit, the CPU temperature steadily rises from 49.6 degrees Celsius to 100.6 degrees Celsius in about 4 minutes. It then switches off, as soon as Armbianmonitor reads 105 degrees Celsius, due to safeguarding.?

With Moderate governing applied (648MHz), the CPU temperature linearly increases from 49.6 degrees Celsius to 100.9 degrees Celsius, in 5 minutes. It then switches off, as soon as Armbianmonitor reads 105 degrees Celsius, due to safeguarding.?

?



Tags: orange pi heat managementorange pi heat problemorange pi heat sinkorange pi overheatorange pi zero
Please log in to post a comment
Related by Tags: