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.



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





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



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


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


ssh pi@


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.


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.