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.?
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.?
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. T
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.?
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.
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.?