RoadTest: Try out the Raspberry Pi Model 3 B Plus!
Author: gpolder
Creation date:
Evaluation Type: Development Boards & Tools
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: other versions of Raspberry Pi, BeagleBone, and many more embedded Linux boards
What were the biggest problems encountered?:
Detailed Review:
In my application I promised to extend my previous RoadTest Review a Raspberry Pi 3 Model B ! - Review in which I tested heat dissipation and power consumption. There were some rumours on the net (http://www.gizmodo.com.au/2016/03/the-raspberry-pi-3s-quad-core-cpu-can-hit-a-toasty-100c-under-load/ ) that the 3B processor temperature can be as high as 100 degrees celsius at 100% CPU I couldn't confirm those rumours, but I'm curious how the 3B plus performs. For the Pi 3B+ I expect this problem is even less, as the most obvious changes on the new board are the shiny bits of metal hiding a couple of chips. The largest of these covers the System on a Chip (SoC), that contains the same quad-core processor as on the Pi 3B, there’s a change in the design of the substrate, and more efficient heat dispersal through the heat spreader. These improvements made it possible to clock the CPU at 1.4 GHz (up from 1.2 GHz on the Pi 3B) and I expect also decrease the CPU temperature at 100% load.
Currently I'm running a home automation system using the Pi 2B. As for home automation I don't need a lot of computing performance, while power dissipation is much more important, from the previous roadtest I concluded that I better stick to the Pi 2B than switch to the Pi 3B.
Given what is described on http://raspi.tv/2018/how-much-power-does-raspberry-pi-3b-use-power-measurements I expect this also the case for the Pi 3B+, but lets do some measurements to backup my assumptions.
So I was curious about the heat transmission and power consumption of the new Pi 3B+ compared to its predecessors. Therefore I did some additional measurements and added them to what I found in the previous roadtest.
First I repeated a CPU test using sysbench, on four types of the Raspberry Pi, my current home automation system (Pi 2), a Pi B+, a pi 3B and the Pi 3B+ from the roadtest.
Here is a picture from my previous roadtest showing the Pi B+ (left) and Pi 3B, laying on my desk.
In the current roadtest the Pi B+ is in a smartiPi case:
An here is the Pi 3B+:
Note the metal cover on the BROADCOM CPU and the additional shield with the raspberry Pi logo in the lower right corner (This area conceals a CY43455 chip, which controls the wireless networking).
Sysbench can be installed using: sudo apt-get install sysbench.
Below is the result of sysbench on the Pi B+ board. Of course I know that --num-threads=4 doesn't make much sense on the Pi 2B and Pi B+, but I don't expect it influences the results a lot. The same command is used on the other boards.
pi@zolderpi ~/stres_test $ sysbench --num-threads=4 --test=cpu --cpu-max-prime=20000 --validate run sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 4 Additional request validation enabled. Doing CPU performance benchmark Threads started! Done. Maximum prime number checked in CPU test: 20000 Test execution summary: total time: 1329.8390s total number of events: 10000 total time taken by event execution: 5318.6407 per-request statistics: min: 351.47ms avg: 531.86ms max: 1132.11ms approx. 95 percentile: 551.17ms Threads fairness: events (avg/stddev): 2500.0000/0.00 execution time (avg/stddev): 1329.6602/0.13
For monitoring the temperature I used RPiTemperature from: http://www.roylongbottom.org.uk/Raspberry_Pi_Stress_Tests.zip
wget http://www.roylongbottom.org.uk/Raspberry_Pi_Stress_Tests.zip unzip Raspberry_Pi_Stress_Tests.zip cd Raspberry_Pi_Stress_Tests/ chmod +x RPiTemperature ./RPiTemperature passes 700, seconds 2 &
Using the command ./RPiTemperature passes 700, seconds 2 & the internal CPU temperature is measured at an interval of 2 second during 700 passes. Output is written to a log file.
For power measurements I use one of the strange little devices that will plug in line with your USB hardware and it will tell you the most useful of things, such as how much power is being drawn!
When running sysbench, I also made some thermal images using the FLIR i7.
The results of all measures, including from the previous roadtest are all merged in the table below. The column Normal current shows the current drawn when the system is idling. The column Sysbench current shows the difference between the max current during benchmark and idling operating current. Operating voltage is 5V, so Sysbench power is the multiplication of the current with the operating voltage. Sysbench energy is calculated as Sysbench total time [s] * Power [W] in joule [J], and also converted to [mWh] (1 Wh = 3.6 kJ). As I didn't detailed power measurements in my previous review, the table only shows the data for current experiments.
It appeared that sysbench results differ for different versions of the Raspbian OS. I installed the latest Raspbian GNU/Linux 9 (stretch) on a memory card, and used that for testing the B+, 3B and 3B+. As the Pi 2 is in my running home automation system, I didn't change it. Results from my previous roadtest were on Raspbian GNU/Linux 7 (wheezy).
Raspberry Pi Model | OS | CPU temperature | Sysbench total time | Normal current | Sysbench current(**) | Sysbench Power | Sysbench Energy (***) |
---|---|---|---|---|---|---|---|
Pi Model B+ | Raspbian GNU/Linux 7 (wheezy) | 36.9 °C | 1330 s | ||||
Pi Model B+ | Raspbian GNU/Linux 9 (stretch) | 40.1 °C | 877 s | 0.21 A | 0.04 A | 0.2 W | 175 J 48.6 mWh |
Pi 2 Model B (*) | Raspbian GNU/Linux 7 (wheezy) | 48.7 °C | 294 s | ||||
Pi 2 Model B (*) | Raspbian GNU/Linux 8 (jessie) | 60.0 °C | 193 s | ||||
Pi 3 Model B | Raspbian GNU/Linux 7 (wheezy) | 56.9 °C | 247 s | ||||
Pi 3 Model B | Raspbian GNU/Linux 9 (stretch) | 58.0 °C | 181 s | 0.26 A | 0.19 A | 0.95 W | 171 J 47.5 mWh |
Pi 3 Model B + | Raspbian GNU/Linux 9 (stretch) | °C | 187 s | 0.47 A | 0.19 A | 0.95 W | 171 J 47.5 mWh |
(*) This is my home automation system, it is mounted in a closed cabinet, and running all kind of tasks. Therefore I was not able to measure the power input and make thermal pictures. Furthermore I expect the CPU also is affected.
(**) Sysbench current is the difference between the total current during benchmark and normal operating current.
(***) Sysbench energy [J] is calculated as total time [s] * Power [W] converted to [mWh] (1 Wh = 3.6 kJ).
The CPU temperature log during sysbench for all experiments, including from the previous roadtest is geven below:
The graph below shows the temperature log for the current roadtest experiments:
The thermal images of all experiments:
From the table and the temperature graphs we learn that the sysbench performance differs for different versions of Raspbian. For the Pi B+ this is a big difference as the total time for wheeze is almost double the total time for stretch. Also for the Pi 2B and Pi 3B sysbench is faster on the newer versions of Raspbian.
When comparing the new Pi 3B+ with the Pi 3B and Pi B+ on the same version of Raspbian, surprisingly the Pi 3B+ speed is equal to the Pi 3B. Regarding the power consumption, in idle state the Pi 3B+ draws much more current than the Pi 3B, also the temperature is much higher when idling. Thanks to the metal cover the CPU temperature during sysbench is lower on the Pi 3B+.
Total energy needed to run sysbench is equal for all situations. The total needed time multiplied by the power is around 170 Joule for all three systems tested. Like the total time as mentioned above, also the power consumption for sysbench is equal for the Pi 3B and Pi 3B+.
So my conclusion is that I will stick to the Pi 2B for my home automation system and use the Pi 3B and Pi 3B+ for more demanding task, such as software defined radio. Differences between the Pi 3B and Pi 3B+ is mainly better wireless connectivity, better wired connectivity (GigE ethernet, PoE), and also an increase in CPU power, although I couldn't measure that with sysbench. Bit it come at a cost of increased power consumption.