Raspberry Pi operating temperature range. Test results
Formulation of the problem
The popular Raspberry Pi single-board computer is used in various industrial applications [3] and finds new applications. The network has a lot of information on evaluating and comparing system performance [4], however, industrial customers want to know the range of operating temperatures. The manufacturer does not provide such information. Tests undertaken by enthusiasts on the effects of external factors [5, 6] solve several other problems.
The aim of our study was to evaluate the operating temperature range of a Raspberry Pi single-board computer. Raspberry Pi 3 Model B and Raspberry Pi 2 Model B were tested. During the preparation of the article, a new version of the Raspberry Pi 2 Model B V1.2 with the BCM2837 processor appeared, we tested the RPi 2 V1.1 with the BCM2836 processor.
Research conducted by employees and students of MSTU. Bauman commissioned by RS Components Russia, which provided free samples for testing, as part of a summer internship in 2016 at Sovtest ATE [13].
Experiment Conditions
Most components on the Raspberry Pi 3 Model B and Raspberry Pi 2 Model B boards have an industrial temperature range of -40 ℃ ... + 85 ℃. It is of practical interest to test the boards in a wider temperature range from -55 ℃ to + 110 ℃ and evaluate the limits of their performance.
The experimental setup is shown in Fig. 1. Raspberry Pi single-board computers were placed in the TCT-811 heat-cold chamber. RPi 2 connected to the LP-Link TL-WR720N router via Ethernet, and RPi 3 connected via Wi-Fi. Board power was supplied via USB adapters. Board management and data collection were carried out through SSH access from the operator’s computer.

Figure 1. Scheme of the experimental installation of temperature testing
As an operating system, Raspbian was used as the main recommended and supported by the manufacturer. Performance testing was carried out using the SysBench utility - a modular, cross-platform multi-threaded application that allows you to quickly evaluate system parameters for work under high load. Test data was recorded on the internal memory of the board, and then, upon request, copied to the operator’s computer. As a data carrier, a QUMO 32GB Class 10 SD card was used.
Experiment progress
The tests were carried out as follows. The boards were placed in the camera and connected according to the circuit in Fig. 1. Then the algorithm for changing the temperature in the chamber was set. The camera was programmed for a stepwise increase in temperature, first from room temperature + 23 ℃ to + 110 ℃, then for quick cooling to room temperature and a further stepwise decrease in temperature to -50 ℃ (Fig. 2). A total of 19 measurement steps were implemented with a temperature step between steps of 10 ℃ (Table 1).
Test Stage Number | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | eleven | 12 | thirteen | 14 | fifteen | 16 | 17 | 18 | 19 |
The temperature in the chamber at the stage, ℃ | +23 | +30 | +40 | +50 | +60 | +70 | +80 | +90 | +100 | +110 | +106 | +27 | -20 | -25 | -thirty | -35 | -40 | -45 | -fifty |
At each stage of testing, the appropriate temperature was first set in the chamber, then the boards were kept at this temperature in the off state for about 6 minutes. Then the boards turned on almost simultaneously, on each the Sysbench test was launched, and in addition the temperature of the processor was measured. After the tests were completed, the boards were turned off and re-aged for 1-2 minutes at the same temperature before the camera proceeded to the next stage. The rate of temperature change between stages was approximately 1 ℃ / min.

Figure 2. Changing the temperature in the chamber during the tests.
Each complete step of passing the Sysbench test consisted of the sequential launch of three modules: a processor test, a memory test, and a stream test. The result of each Sysbench module was the determination of its execution time in seconds. Let us describe in more detail each of the tests.
Processor test (--test = cpu) Sysbench uses 64-bit integers to calculate primes up to the value specified by the --cpu-max-primes parameter . It is also possible to specify several threads, but we used the default value - one thread.
Memory test (--test = threads)allocates a memory buffer and performs read or write operations. The amount of data read or written in one operation is determined by the size of the pointer 32 or 64 bits. The process repeats until the specified volume is processed (--memory-total-size) . It is possible to set the number of threads (--num-threads) , the buffer size (--memory-block-size), and the type of operation (read or write --memory-oper = [read | write] ).
The thread test (--test = memory) checks the processor in a large number of competing threads. The test is to create multiple threads (--num-threads) and multiple mutexes (--thread-locks). Next, each thread begins to generate requests that block the mutex, perform processor tasks (to simulate real work), and unlock the mutex. For each request, lock-execute-unlock actions are performed several times, the number of which is specified by the --thread-yields parameter .
The abbreviated text of the bash script for starting Sysbench modules with the corresponding parameters is shown below:
for count in {1..5}
do
sysbench --test = cpu --cpu-max-prime = 1150 run
sysbench --test = memory --memory-block-size = 1M --memory-total-size = 10G run
sysbench --num-threads = 64 --test = threads --thread-yields = 1000 --thread-locks = 8 run
vcgencmd measure_temp
done
The processor temperature in degrees Celsius was derived from its built-in sensor. The readings of the built-in temperature sensor were carried out by the vcgencmd measure_temp command .
Experiment Results
The results of the Sysbench tests are shown in Figure 3. At each stage, the Sysbench test was repeated sequentially 5 times, the performance data were averaged over the results of 5 tests. The processor temperature values are taken to be the maximum ones measured at each stage.

Figure 3. Sysbench test results on single-board computers Raspberry Pi 3 and Raspberry Pi 2
Figure 3 shows that the performance picture on all three tests is almost the same for both RPi 3 and RPi 2. In the temperature range from -35 ℃ to + 50 ℃ RPi 3 is approximately 1.6 times faster than RPi 2, which is consistent with official performance tests [4]. When the temperature threshold of the processor specified in the configuration files is reached, by default it is + 85 ℃, the mechanism for protecting the processor from overheating due to skipping machine clocks — throttle clocking or throttling [8] is started .
Computers stopped starting at different temperatures: RPi 3 at temperatures above + 90 ℃, and RPi 2 at temperatures above + 106 ℃. At temperatures below 0 ℃, there is no change in performance for both boards. At temperatures below -35 ℃ the RPi 3 board and temperatures below -45 ℃ the RPi 2 board will not start. Both at high and at low temperatures, the boards resumed their operability after unloading - and returning to the operating temperature range.

Figure 4. Temperature of the Raspberry Pi 3 and Raspberry Pi 2 processors at different ambient temperatures in the test chamber.
The temperature values in the test chamber and the corresponding temperatures of the RPi 2 and RPi 3 board processors are shown in Figure 4. Since the RPi 3 processor heats more than the processor RPi 2, the throttling threshold temperature of + 85 ℃ in it is reached at + 50 ℃ of the environment, while RPi 2 starts throttling at a temperature of + 70 ℃. Therefore, in the test results we see that at temperatures above + 50 ℃ RPi 3 is inferior to RPi 2 in performance. At these temperatures, it is recommended to use processor cooling [8].
In the tests, RPi 3 boards started up and ran in the temperature range from -35 ℃ to + 90 ℃, and RPi 2 boards ranged from -45 ℃ to + 106 ℃. These ranges are close to the industrial temperature range of the used electronic components -40 ... + 85 ℃.
Our study does not pretend to be complete and unconditional engineering recommendations. The following conditions and circumstances influenced its results. First of all, SD memory cards caused problems, which often caused malfunctions, they had to be reformatted and the system image re-recorded to restore the cards. Secondly, the comparability of the test results of the RPi 2 and RPi 3 could be affected by different ways of communicating with the boards: RPi 2 over Ethernet, and RPi 3 over Wi-Fi. Thirdly, the test parameters were chosen in such a way that the total test time fit into the period of one working day, so we can not judge whether the boards remain operational under longer exposure to temperatures. Fourth, the tests were not carried out in a certified center and not in strict accordance with GOST, although the applied methodology was developed on the basis of the standards GOST 28199-89 “Basic test methods for exposure to external factors. Part 2. Tests. Test A: Cold ”and GOST 28200-89“ Basic test methods for exposure to external factors. Part 2. Tests. Test B: Dry Heat. ”
Measurement and analysis results refer only to tested samples and cannot be distributed to other products of the manufacturer. Test results cannot be the basis for decision-making in commercial and legal issues of organizations. At the same time, the authors hope that the results presented will be useful to the engineering community.
The authors
Daler Arabov, MSTU. Bauman
Pavel Grigoriev, MSTU. Bauman
Pavel Grigoriev, MSTU. Bauman
Literature
1. Sergeeva A., Krivandin S. Single Board Computer Raspberry Pi: from the manual to the industrial controller. Components and technology. 2016. No4
2. Ermakov A. Raspberry Pi - an effective tool to reduce costs in automating business processes. ISUP 2016.№1
3. Application of Raspberry Pi and Arduino in an industrial environment
4. Testing of Raspberry Pi 3
5. Thermal survey of Raspberry Pi 3
6. Freshly frozen Raspberry Pi
7. CPU throttling or why performance drops
8. The Raspberry Pi 3 Does Not Halt and Catch Fire
9. Internship at Sovtest
2. Ermakov A. Raspberry Pi - an effective tool to reduce costs in automating business processes. ISUP 2016.№1
3. Application of Raspberry Pi and Arduino in an industrial environment
4. Testing of Raspberry Pi 3
5. Thermal survey of Raspberry Pi 3
6. Freshly frozen Raspberry Pi
7. CPU throttling or why performance drops
8. The Raspberry Pi 3 Does Not Halt and Catch Fire
9. Internship at Sovtest