Skip navigation

Raspberry Pi Projects

2 Posts authored by: Brian Welsby Top Member

Raspberry Pi 3 temperature and cooling testing :

 

Part 1 initial tests.

Part 2 with a HAT tests.

Part 3 with Fan Speed Control. (Still to come)

 

 

 

The BeagleBoard  has capes, the The specified item was not found.  has Shields but the Raspberry Pi has HATS (Hardware Attached on Top) - an add-on board to provide additional functionality but which can closely cover the SOC chip and restrict the cooling airflow. There are many of these available some of which you can find here  Raspberry Pi Accessories

 

Following on from my initial temperature tests I then decided to see what effect adding a HAT would have on the running temperature of the RPi 3. However as I did not have any of these I decided to 3D print a dummy one to  RPF specifications here a OpenSCAD source for this is attached to Part 1.

 

One thing I should mention here though is that real HATs also contain electronic circuits that may generate some additional  heat.

 

I started out with one that sits 10mm above theRPi 3 PCB and repeated the tests as described in part 1.

 

10mm dummy HAT

hat1.pnghat2.pngDSC_0658.JPG

 

Not surprising there was very little difference in the results to the initial tests with enclosure cover installed, so close it was impossible to distinguish when plotted.

 

I therefore decided to try one that sits just 5mm above the RPi 3 pcb  which is about as close as I would expect to get, for this I needed to make a cutout to clear the HDMI connector. and a slot for the GPIO pins.  (after printing and fitting I realized I should have added a cutout  for the Audio connector too but as this is further away from the fan I didn't feel that the slight offset would make much difference.)

 

5mm dummy hat

_20160311_153346.JPG

 

The results for these tests were again very similar to the original "with cover" tests but this time there was a noticeable increase in the maximum temperature reached on those tests that maintained a temperature below the 80'C threshold where the processor reduces its operating frequency to help keep the temperature down. This was approximately 10'C as you can see on the graph of the results below. I tried to make things easier to see with this chart (hopefully).  The tests are T1 to T8 no HAT and T1H to T8H with a HAT installed.

The original test plan is:

Test#  Fan   Cover    Heatsink   Graph Colour

1         0        0           0               Brown

2         x        0           0               Red

3         0        x           0               Orange

4         x        x           0               Yellow

5         0        0           x               Green

6         x        0           x               Blue

7         0        x           x               Violet

8         x        x           x               Grey

 

And the results, if you click on the chart you should get a larger image.

P3temptesth.png

 

Without a fan the 80'C threshold is reached much sooner but as you can see the heatsink still has an effect in delaying this.

 

Still to come:  Part 3  Adding temperature control to the cooling fan to reduce noise.

Raspberry Pi 3 temperature and cooling testing :

 

Part 1 Inital tests

Part 2 with a HAT tests.

Part 3 with Fan Speed Control. (Still to come)

 

 

 

This experiment started out after discussions following a post by shabaz   here Raspberry Pi 3 Cooling / Heat Sink Ideas

The tests were carried out with the new RPi 3 as it was found to get hot under heavy load, I may repeat the tests at a later date with the RPi 2 for comparisons.

For the tests I created a simple 3D printed enclosure and also 3D printed dummy HATs the OpenScad files are attached, feel free do do with these as you wish.

 

Pi3_case_open.pngPi3_test_case2.png

The OpenScad image of the test enclosure and the final printed case with RPi 3 installed

test_enc.JPG

 

 

 

A total of eight tests were carried out to the following plan where 0 = option not installed,  x = option installed

The test plan:-

 

Test#  Fan   Cover    Heatsink   Graph Colour

1         0        0           0               Brown

2         x        0           0               Red

3         0        x           0               Orange

4         x        x           0               Yellow

5         0        0           x               Green

6         x        0           x               Blue

7         0        x           x               Violet

8         x        x           x               Grey

 

The heatsink used is a ceramic part  MPC222225T - AMEC THERMASOL - Heat Sink, Square, Micro Porous, 10.21 °C/W, 2.5 mm, 22 mm, 22 mm | Farnell element14

chosen because it is only 2.5mm thick and would fit easily between RPi and an installed HAT. If no HATs are being used and height above the RPi is not an issue then there may be larger more efficient heatsinks available that would provide better cooling but these tests were specifically an experiment to see if there was a solution for HAT use.

The fan used was MC25100V2-0000-A99 - SUNON - Axial Fan, MAGLev® Motor, Medium Speed, Vapo, MC Series, 5 VDC, 25 mm, 10 mm, 3.002 cu.ft/m…

 

To run the tests I first installed the latest NOOBS and configured Raspbian as the operating system, and to make sure everything was up to date this was then followed by

 

sudo apt-get update
sudo apt-get upgrade
sudo rpi-update

 

The Test Script

I used the following shell script I called temptest for the tests which outputs the data in a csv format it includes both temperature and also CPU frequency which showed that the CPU was being throttled when the temperature reached 80'C

 

#!/bin/bash

I=0;
stress --cpu 4 --timeout 600 &
while [ $I -lt 600 ]; do
    echo -n "$I,"
    vcgencmd measure_temp | sed -e 's/temp=//g' | tr -d "'C\n"
    echo -n ","
    vcgencmd measure_clock arm | sed -e "s/frequency(45)=//g"
    let I=I+1
    sleep 1
done

 

I ran the RPi without monitor, keyboard or mouse just an ethernet connection to my local network then I SSH'd from my linux desktop computer for windows you could use PuTTY: a free SSH and Telnet client  or something similar the IP address on my system was 192.168.0.26

 

ssh pi@192.168.0.26

 

Then I ran the tests as root privilage

 

sudo -s

 

Each test was run piping the output to a testx.csv where x is the test number. time between tests allowed the RPi co cool back to idle operating temperature and the ambient temperature in the room was 22'C

 

./temptest > test1.csv

 

On completion I had eight csv files, I then used Gnumeric  (a spreadsheet program) on my linux desktop to import just the temperature data and produce the following graph. The numbers along the bottom are approximate seconds and the numbers on the left are CPU temperature. The colours are as listed above for each test. If you click on the image you should get a larger view.

tempplots.png

As I said in the other blog I will leave it for you to draw your own conclusions and I will give mine when I have done further tests

 

One thing observed was that the fan on full speed is quite powerful and a little noisy so reducing it's speed with a suitable PWM control would reduce the noise and could still provide sufficient airflow. This is for further testing.

 

Edit: 10-March-2016

A word of caution for the inexperienced

The heatsinks we have been discussing are held in place by a thermally conductive adhesive pad. In essence they are glued to the processor chip.

I would recommend that you DO NOT attempt to remove them as any twisting,pulling or prising is likely to damage the chip or its many extremely tiny soldered connection to the PCB

 

The Raspberry Pi may be an inexpensive single board computer but it could easily become a very expensive piece of scrap.

Filter Blog

By date: By tag: