71

As per the title, what are the maximum and minimum operational temperature ratings of the Pi before it stops reliably working? Could this also depend on the SD card in use?

Jonas Stein
  • 183
  • 1
  • 11
berry120
  • 10,984
  • 11
  • 53
  • 63

6 Answers6

56

From the RPi FAQ:

What is the usable temperature range?

The Raspberry Pi is built from commercial chips which are qualified to different temperature ranges; the LAN9512 is specified by the manufacturers being qualified from 0°C to 70°C, while the AP is qualified from -40°C to 85°C. You may well find that the board will work outside those temperatures, but we’re not qualifying the board itself to these extremes.

Jivings
  • 22,656
  • 11
  • 94
  • 140
19

It'll go way down to < -70°C according to the article: Raspberry Pi proven to be stable when submerged in liquid nitrogen.

UPDATE 29JUN2020: The above link is nolonger working. A similar article can be found here.

adamaero
  • 103
  • 4
Mausy5043
  • 487
  • 4
  • 11
15

My experience with Raspberry Pi 3: The SoC will start to throttle down at approximately 80 degrees Celsius, and will, in my experience, never allow itself to be warmer than 85 degrees Celsius. This is of course the core temperature - the temperature outside the chip will have to be much lower to facilitate efficient heat exchange.

While you (probably, don't take my word for it) cannot destroy the SoC by leaving it uncooled, the performance will be severely impacted. (Same goes for the power supply, BTW). In our lab, we started noticing frame drops and significant degradation of video processing capability, only to find out that 1) it got too hot without the heatsink 2) the voltage dropped below 4.6V due to 5V supply wires that were too long.

In any kind of extreme scenario, it is most likely that your processing power will decrease first, and other problems will appear much later, if ever. This can lead huge waste of time when trying to hunt down software bugs ("why is my program suddenly running so slowly?!?"), only to discover that the wires are too thin, or the heat sink is too small, so beware!

Regarding the low boundary, you should check all the components. I recently booted Raspi3 at -12C cold and the camera did not work (first time in weeks, but other times the temperatures over night were not so low). After 15 minutes of waiting I rebooted it and it started working normally.

Also, I think that the networking/USB chip on the board itself is not rated below 0 C. If you need such extremes, I suggest waiting for Compute Module 3, which will have range -20 to 80C, simply by not providing the problematic chip at all :)

xmp125a
  • 316
  • 2
  • 5
10

I see the OP's question has been answered authoritatively (??), but here are my 2 cents worth of experience:

With the basic clear plastic no-fan enclosure and heat sinks the ARM AP runs at about 50C (122F), and my Pi3 works fine. When I take off the top part of the plastic shell the temperature drops to 47-48.

So my conclusion is that the enclosure is not causing any measurable harm in this regard.

The command to return the CPU temperature in stdout is vcgencmd measure_temp


I see in comments that uhoh mentions that if you want to use the temperature in a Python program, the command os.popen('vgencmd measure_temp').read() will return the textual version of the temperature number.


Here is the way I use Popen to get the temperature into an integer variable:

from subprocess import Popen, PIPE
.
.
.
cmd = 'vgencmd measure_temp'
p = Popen(cmd,stdout=PIPE, stderr=PIPE, shell=True)
stdout, stderr = p.communicate()

CPUtemp = int(stdout) . . etc


The above is taken from this code:

Ping a website and have an output turn on if online/offline?

This post shows how to use fping in a few different ways even though the results come in as stderr

Also includes a cradle-to-grave example which makes use of the data and plots it live as it comes in. It shows Python and gnuplot. We don't see enough of these whole-system examples here.

Seamus
  • 23,558
  • 5
  • 42
  • 83
SDsolar
  • 2,378
  • 8
  • 26
  • 43
4

The following is a little outside of the question, but a general use case that might give some ideas.

This can be adapted to any kinds of inputs, gpio sensors, internet datas.

How to graph the CPU temperature overtime?

Install gnuplot

Gnuplot can graph datas in the terminal, does not require any X server and use very little ressources.

It works smooth even on the slowest raspberry pi's model 1/zero.

sudo apt install gnuplot

Script example to build a gnuplot file:

temperature script to store the data overtime.

#!/bin/sh
echo $(date +%s ; cat /sys/class/thermal/thermal_zone0/temp) | tee >> temperature.plot

Give execution rights to this script:

chmod +x temperature

Detach and run in 1s loop till next reboot:

nohup watch ./temperature &

Later, graph the datas:

gnuplot -e "set terminal dumb $(tput cols) $(tput lines);plot 'temperature.plot' using 0:2 with lines"

gnuplot temperature

This is a barebone example, temperature in Celsius * 1000, and seconds since the start, to be extended in your own scripts suite.

To kill the watch loop, killall watch

Happy hacking ;)

NVRM
  • 159
  • 6
4

This is an old question, but there are new answers, as well as new questions regarding the low-temperature claims made by "The Raspberries":

The original question will soon be 13 years old, and the "official documentation" quoted in the currently accepted answer has been revised. The "RPi FAQ" has been replaced with a Documentation page, and the relevant "FAQ" on heatsinking is now here.

As of today, all models of Raspberry Pi employ a closed-loop thermal management system. Briefly, this means that the manufacturer ships a built-in system, coded in firmware, that seeks to limit the temperature to 85℃ by reducing the clock frequency and/or the core voltage. Thus, the operating temperature and the performance of the RPi are closely related.

There are additional details available in The Foundation's hardware documentation: Frequency management and thermal control. RPi 4 owners can learn how to configure the RPi 4's DVFS parameters by editing parameters in /boot/config.txt. RPi 4B users who operate their systems in headless mode will benefit from setting the dvfs=1 mode in /boot/config.txt. There is also an opportunity to reduce idle power consumption using the cpufreq-set command (from the cpufrequtils package).

You will also note that The Foundation has slightly modified their stance on the use of heatsinks & fans with the RPi, acknowledging that performance improvements are possible through more efficient removal of heat.

Edit - Dec 26, 2024 Re. Low Temperature Performance:

Most of the focus on temperature limits for the RPi has been on the upper limits; i.e. keeping the chips from overheating. Very little has been written about the lower temperature limits. Low temperature limits can be very important in certain applications and environments. As we show here, for at least one model of RPi, the lower temperature limit is not that low! I'm including this edit to add my observations based on some recent testing and experimentation.

Over the past few years, I've spent some time and effort in "off-grid" applications of Raspberry Pis; (REFS: 1, 2, 3, 4, 5, 6, 7). Recently, this interest led to my (attempted) use of a Raspberry Pi 0W for an off-grid application in a slightly colder environment than previous applications. My results suggest some duplicity on the part of "The Raspberries" for failing to disclose (or falsely disclosing) the "low-temperature" performance of certain models. It's worth noting that while the Product Brief for the Zero 2W lists its Operating temperature: -20°C to +70°C, a Product Brief for the Zero or Zero W does not even exist.

Following is a description of the test environment:

Testing was conducted using a DS3231 RTC as the timekeeping element in this schematic.

Use was made of the following device tree overlays:

dtoverlay=i2c-rtc,ds3231,i2c0,addr=0x68,wakeup-source
dtoverlay=gpio-poweroff

Power-cycling was implemented in a straightforward manner:

  • cron was used to schedule a halt script run every other hour (even-numbered hours)

  • the gpio-poweroff dtoverlay was used to remove power from the RPi Zero W immediately after the halt

  • the i2c-rtc overlay was used in the halt script to schedule application of power every other hour (odd-numbered hours)

  • power-on was implemented using the wakeup-source interrupt of the DS3231 to enable the 5V RPi supply

In a nutshell, here is what I observed during my experiments:

The RPi 0W has never been observed to boot successfully at any ambient temperature below 7 degC (~45 degF).

Seamus
  • 23,558
  • 5
  • 42
  • 83