19

I ordered a Pi 3 and accessory kit here from Amazon, it comes with 2 heat sinks. I won't be overclocking the Pi, would I still need to worry about heat issues? Eventually, this will be in an enclosed area outside of the casing with plenty of air circulation.

12

No a heatsink is not required, The Pi3 has been reported to generate more heat than previous models, but the heatsink is not required. You can install it for some extra thermal protection, but the Pi will throttle the clock speed to maintain a safe temperature. Heatsinks are included in many of these kits to increase the perceived value.

  • 2
    I don't know how intrusive the throttling will be, or what load the OP has in mind, but I'd argue that a heatsink might be necessary to reach the necessary performance point in some scenarios - maybe mostly dictated by the 'enclosed area' or by the application... – Sean Houlihane Mar 20 '16 at 10:31
9

As the answers state, no heatsinks are required.

However, following on from Snowman's comment to Maxthon Chan's answer, and taking some examples from the Raspberry Pi site1, should you want to check/measure the temperature that your Pi is running at, you can use the command:

/opt/vc/bin/vcgencmd measure_temp

Should you find yourself using this command frequently, you may wish for a shortcut. To do this, you could use an alias, such as temp. To set this up, run the following commands:

cd ~
nano .bash_aliases

and add the following line

alias temp='/opt/vc/bin/vcgencmd measure_temp'

In case of error

Note that, should you be running an older version of Raspbian, and encounter the error:

/opt/vc/bin/vcgencmd: error while loading shared libraries: libvcos.so: cannot open shared object file: No such file or directory

then you should run

 LD_LIBRARY_PATH=/opt/vc/lib /opt/vc/bin/vcgencmd measure_temp

and the alias would become

alias temp="LD_LIBRARY_PATH=/opt/vc/lib && /opt/vc/bin/vcgencmd measure_temp"

Alternative

Run the following command, which gives the answer in millidegrees Centigrade, and divide by 1000 to get °C:

cat /sys/class/thermal/thermal_zone0/temp

Bash script for CPU and GPU temperatures

#!/bin/bash
cpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp)
cpuTemp1=$(($cpuTemp0/1000))
cpuTemp2=$(($cpuTemp0/100))
cpuTempM=$(($cpuTemp2 % $cpuTemp1))

gpuTemp0=$(/opt/vc/bin/vcgencmd measure_temp)
gpuTemp0=${gpuTemp0//\'/º}
gpuTemp0=${gpuTemp0//temp=/}

echo CPU Temp: $cpuTemp1"."$cpuTempM"ºC"
echo GPU Temp: $gpuTemp0

1 All examples taken from Show RPI's Temperature with a command

3

No heatsink is required, but this does not prevent you from adding one. If your operating environment can get a bit warm and you don't want it to thermal throttle, you can add one (optionally strap a fan on it.)

I have all my Pi heatsinked since I use cases while put lots of stress on the core, and one of them have a fan strapped on it to improve cooling as it operates in a warm equipment roon with an average ambient temperature of 45ºC.

  • 1
    This answer touches on the key point: measure its temperature if one is concerned about potential overheating. – user19386 Mar 8 '16 at 20:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.