Raspberry Pi 3B+: Should you upgrade? // Review

So, I’ve been playing around with a bunch of the new Pi 3B pluses for a week now. Do I think the upgrade is worth it? Find out in this quick review.

Or check out the video on YouTube.


What’s different?

Essentially there are four changes in the new Pi:

  1. Faster CPU with better thermal regulation.
  2. Faster WiFi speeds with 5GHz dual band and 802.11ac supported, which also has a modular compliance certification. This reduces the cost to market for those people wanting to build a product from the Pi 3B+.
  3. GbE, but with the caveat that it’s still attached to the USB2.0 bus, so it’ll be throttled to 300Mbs.
  4. Lastly PoE support.

I’ll be looking at the first three of these in some real world tests.

If you want to see some other opinions of the new Pis, I’d suggest checking out these reviews from a couple of my mates.


Setup

I tested both a Pi3B alongside the Pi3B+ with stock Pi heatsinks from element14, two identical SD cards and chucked into generic plastic cases. I didn’t use my Uber heatsink or fans this time as I wanted to see how the upgrade compares on stock Pis.


Network tests

First up were the network tests. Of course the old Pi 3B was coming up with the predictable 93Mbps TCP throughput on Ethernet along with the respectable low jitter on UDP.

However, moving to the Pi 3B+ we see a not quite GbE performance of 234Mbps. Not fantastic, but certainly a lot better than the previous model. While UDP had a predictable reduced jitter on UDP tests.

Moving to WiFi, the old trusty Pi 3B returned the familiar 20Mbps on TCP and 2.5mS jitter on UDP.

What about the Pi 3B+? When using the 2.5GHz 802.11n protocol I was getting a slightly improved 23.8Mbps and jitter was about the same.

Hardly a massive leap, but that was 802.11n, what about 5GHz and 802.11ac?

Now we’re cooking with gas! 226Mbps TCP throughput is a huge improvement. Along with a significantly reduced UDP jitter.

Nice!


NIC/WiFi issues

So, even though the 3B+ doesn’t quite reach GbE speeds, it’s still a huge improvement over the previous model. However, whilst playing around with it, I did notice a few issues.

First of all WiFi was blocked by rfkill. So I had to run this command before connecting to my access point. Bear in mind that the SD boot image on both boards was the latest Raspbian image. So, if you’re having issues connecting to WiFi, this might be your problem.

Secondly, when I was shutting down the GbE interface, the Pi would occasionally crash with a kernel dump. This seemed to occur more often if I downed the NIC from an SSH session. It was quite random. However, it never happened if I did this from the console.

I’m gathering that the new LAN chip being used doesn’t have mature drivers for it. I’m pretty sure this will change quickly.


Phoronix Tests

So, next on to Phoronix tests. I ran several tests that, on all SBCs, hammers the CPU and raises the core temperature.

First up the RAM speed tests, which didn’t show much, if at all any, improvement over the previous model. This is a fairly predictable result as nothing has changed in terms of RAM type or speed.

The Timed HMMer test also showed up a very similar result.

Along with SmallPT and FFMPEG.

We don’t start to see an improvement until we get to the Himeno Benchmark, which saw almost a 20% jump on the old 3B, which is to be expected since we have a 16% faster CPU clock on the 3B+.

While the Python benchmark also saw a 16% faster result and the PHP benchmark saw a 30% drop in performance.

So, all up the results are predictably similar to the previous model. We are only talking an extra 200MHz out of 1.2GHz here, so we’re not going to see a massive jump in performance. However, it’s looking good for Python.

Check out my comparison data at openbenchmarking.org.


Thermals

On the thermal side, things were much cooler.

Looking at the 3B, we saw the temperature bouncing around a fair amount, with a peak of 76.3C during the Timed HMMer tests and an overall average of 67C. CPU speed stayed at a constant 1.2GHz throughout. So, the stock heatsink seems to do well.

During that time we saw a peak current draw of 972mA with an average of around 460mA.

Moving to the Pi 3B+, you can see the thermal regulation at work, with a 6 degree reduction in max core temperature, but the average is around the same as the Pi 3B. The 71C degree maximum is actually important here. The Pi guys have indicated that with temperatures above 70C, the CPU clock will drop to 1.2GHz and the core voltage reduced. This gives the CPU time to recover from a heavy load.

On the power consumption side, current draw has changed a fair amount. The maximum current draw I saw was 1.4A with a lot of similar spikes happening during the Timer HMMer tests. However, the average was only slightly more compared to the Pi 3B.

On the booting side, there’s also not much in it. The 3B had a peak current draw of 651mA during boot and the 3B+ saw 694mA.


Summary

So, from these results we can see that the Pi 3B+ isn’t a huge leap in performance, but rather a small incremental step. While the extra 200MHz in clock speed doesn’t do a lot for us, the upgraded CPU definitely runs cooler and has much better power integrity.

Even though the GbE doesn’t give you true gigabit speeds, it’s still a whole lot better than the previous model
and don’t forget there’s a much faster dual-band WiFi on-board supporting 802.11ac.

The new LAN7515 kernel driver isn’t as mature as the LAN951X, but that’s something that will be changed pretty quickly and this new chip has a much better USB2.0 implementation.

So, is the upgrade worth it? If it sells at the same price as the previous model, of course it is!

OK. Now I have to get on to setting up my Docker swarm.


If you like this YouTube channel please subscribe by clicking the in-video button, or the little red “Subscribe” button in your browser or app. You can also get updates by subscribing to me on Facebook, Twitter, Google+, Pinterest, and also Tumblr.