This latest edition of Pi is hard to get your hands on, but always worth the wait!
Thanks to Core Electronics, we’ve got our hands on the popular Raspberry Pi 4 to run it through its paces. We should note that worldwide, stock of Raspberry Pi 4 appears to be VERY limited, so you may have to wait for them to be back in stock for a project you have in mind. We also saw similar shortages when the RPi Zero was released, so it’s not entirely unusual, but fair warning.
We have noticed many people on the Internet writing technical comparisons between RPi3 and RPi4, and various other comparisons. I wanted to simply use it, and provide my thoughts. We’ll include a few tech specs for convenience, but this is more about how it functions as a single board computer doing real things.
Perhaps the most anticipated feature included here is the inclusion of 4K video capabilities. This is something I’ll be paying close attention to, since it opens the door for all sorts of digital displays and media player functionality, which was previously limited to 1080p resolutions.
For now, we’re sticking with the standard Raspian install provided by NOOBS. No doubt there are some better options for 4K streaming and such, which will improve performance, but an ‘out of the box’ installation seems more appropriate for now.
The Raspberry Pi 4 and I got off to something of a rocky start. The board itself is understandably power thirsty, with a requirement of 15W, which is 5V at 3A. (Something we’ve noticed over the years is just how picky RPi boards can be when it comes to their power requirement).
Even with an adequately rated power supply (on paper), the RPi4 can display a power warning, and will often restart itself. It does this without really telling you what’s going on as voltage fluctuates due to varying power demands. If this is your first RPi experience, you’ll probably figure it’s broken. It isn’t... it’s just thirsty.
For whatever reason, GPIO power is our first go-to. Partly due to the lack of a suitably-rated 5V power supply on hand, at least that had a USB connector. Ever since we published our ATX workbench power supply back in Issue 7 (check it out if you haven’t already), it’s become the go-to power source for very stable power, with virtually unlimited current (at least, relative to what we want to do with it).
I proceeded to connect 5V to the Raspberry Pi (directly) from our ATX power supply. Now this power supply provides an ultra stable 5V output, at up to 20A. Should be plenty of juice to keep our little RPi on a sugar high, right? Wrong... As often happens, the Pi would throw up a splash screen, then end up in an odd restart cycle while displaying a lightning bolt, which indicates not enough power available. This isn’t really because we don’t have a 5V power source, it’s because RPi wants 5V at the GPIO. However, trying to use any regular jumpers or hook-up cable, we invariably introduce a reasonable voltage drop when the current spikes. Sadly, you can’t really negate this either. Even using a variable lab power supply, the terminal voltage would drop to 4.5V, even when we were nearing 6V on the power supply during current peaks. We couldn’t simply keep boosting the supply voltage to counteract this voltage drop, as it would start to do damage when the current reduced again and the voltage drop decreased.
I managed to find a dedicated wall adaptor capable of 5V at 3A. Naturally, there was no USB connector since it was a universal type, so I hardwired it into the Pi, as I had done before with our ATX supply. Fortunately, when testing the “5V-ness” of the power supply, I found it was sitting at about 5.15V open-circuit. I was hoping this would be enough to satisfy the board. It did have enough juice to keep playing, even though it rejected the 100W power source previously attempted. With a little finger crossing and some wishful thinking, the RPi finally sprung to life. When measuring the voltage on the board, I found it was appearing at around 4.95V, which is why the lightning bolt is displaying. The trouble is, at 3A, it’s not hard to find yourself with a reasonable voltage drop across your power cable, and the connection at the GPIO.
Ultimately we settled on using a 3.1A USB wall adaptor with a USB A to USB Type-C cable. This made our problems go away as expected. We tried to introduce a short USB extension cable on the power line too, which did have some success, though we saw voltage warnings whenever the processing ramped up.
If you have a true USB Type-C power adaptor handy, then you’re probably not going to have any issues with it. However, if you’re trying to power it from true 5V, and via anything but the USB Type-C socket, expect to have a few challenges as we’ve found common. Naturally, if you’re using an official Raspberry Pi power supply, you won’t have any difficulties either; but most of us feel that a 5V device can readily be powered with a 5V supply as long as it’s adequate.
Anyway... that’s enough about the fickle nature of RPi power; let’s move on!
The RPi4 has replaced the full size HDMI power from the 3B with two micro HDMI ports. This is a physical limitation in space, but be prepared for a few adaptors or special cables to get it going. However, given the form factor and the dual HDMI capabilities, this is one instance where a few adaptors seem logical rather than a pointless miniaturisation exercise.
We were provided with a fresh NOOBS installer, so there wasn’t much to do in that regard, except following a few basic prompts. This side of things, Raspberry Pi has always had well covered, and the user experience of a genuine NOOBS installer and a fresh hardware board, is something many others still try to replicate.
Physically, the RPi4 is the same overall form factor of the RPi3B/B+ boards. This is great for cases and mounting, with hole patterns remaining unchanged.
The few issues that do exist, however, are the replacement of full HDMI with two micro HDMI ports. The Ethernet socket has now switched places with one of the USB socket towers too. Not huge changes, but depending on how precise your case or interface is, you may need to make a few modifications.
LONG AWAITED 4K DISPLAY
One of the most talked about inclusions with the RPi4 is the dual HDMI outputs which are 4K capable. Interestingly, this isn’t enabled out of the box; perhaps with resource management in mind, but it felt like a missed opportunity to showcase that feature. When connected to a 4K display it will still display in 1080p by default, with 4K having to be enabled and the Pi restarted. How that 1080p output displays on your monitor will depend on the monitor. Some will simply display full screen anyway, others will show it pixel for pixel, meaning the desktop appears 1/4 of the screen, which is what happened with the monitor we tested with.
So how does it perform? This is something of a loaded question because we have to be considerate of this boards specifications to begin with. It will run 4K as advertised, but you have to be understanding of its capabilities.
Is it true 4K? Yes, and it’s great.
Is it dreamy 4K? Yes, and no.
Naturally, as with any hardware, 4K capable doesn’t necessarily mean 4K competent either. However, the RPi4 does a great job of providing a solid 4K output. We’ll do some review on dual displays at a later date, since it didn’t feel like we hadn’t hit its limitations fairly quickly anyway.
4K VIDEO PERFORMANCE
Unfortunately, we had little success running any sort of 4K video. Even using the H.265 HEVC codec, it appears more about providing compact and seamless 1080p playback than real 4K video.
That said, 1080p video did appear to run much better than with previous editions of Raspberry Pi, so there’s definitely great improvements in video display capabilities.
We’ll take a good look at other options for this board, such as Kodi, which are entirely optimised for video performance and could yield very different results. Some of the reviews we’ve seen do include much better 4K performance than we were able to replicate. So we’re going to come back to this.
One limitation we’ve often noted with RPi as a computer for general use, is the challenge an RPi can have with rendering the complexity of modern websites using Chromium.
These days, so many websites and cloud applications rely on processing power to provide all sorts of functionality, even without you noticing. Perhaps there’s some movement in the background to create some aesthetic effects.
Particularly with browser-driven 3D, the display performance can still suffer using a Chromium browser. This doesn’t appear to have changed between the Raspberry Pi 3B+ and the Raspberry Pi 4. However, it’s worth noting CPU usage is much lower, and it’s still driving a 4K display. The improvements are definitely there.
Using Tinkercad for modelling, for instance, runs fairly smoothly and doesn’t really have a reduced performance. Naturally, the 3D redraw when you’re panning around your objects had a reduced frame rate. But remember - you’re not using a huge GPU here, so its performance is really quite good considering the hardware.
Understandably, when there’s heavy modelling being done, such as creating 1,000 holes in a large panel, there’s notable lag. But that’s the same experience you’ll find on any computer. Computation takes time, regardless of how much processing power is available.
A WORD OF CAUTION
Raspberry Pi Configuration allows you to maximise the available GPU memory. We often wind this right up to open up GPU performance as much as possible, however, if you get a little excited and give it everything it allows (896MB), it tends to create booting issues (as in, it will no longer boot, and won’t tell you why). Fortunately, the fix is easy by editing the config file (insert the SD into your computer and open it directly in a text editor).
This takes some experimentation, since we want to ramp up GPU performance and memory, but if it won’t boot then it’s not much use either. We had no issues running GPU memory at around 500MB though, with notable performance benefits over the default memory level. In technical terms, the display output simply felt “snappier”.
What I love about this edition of Raspberry Pi is the flexibility it has. The minor inconvenience such as USB Type-C for power will soon be entirely negated and the aforementioned issues will disappear into history. For now, they’re still a bit of a pain, and running from GPIO is possible, but probably not worth the hassle. No matter what the supply is capable of, voltage drop was a major issue when current peaks along the way, and is no doubt going to create some hassle.
If you need to run from battery power or similar, a USB Type-C battery bank is probably going to be your best bet. I’d love for Raspberry Pi to include some protected screw terminals on a future board, for more ‘permanent feeling’ installation, but I doubt it’ll ever happen.
While it does provide a nice 4K desktop environment, it doesn’t feel quite suitable to an everyday machine, at least not if you’re pushing the limits of 4K display and similar. It does function fairly flawlessly as we’ve come to expect from an RPi, and within the realms of its capabilities, it’s very robust.
It’s still the master of providing a quality framework to deploy all sorts of functionality. Want a GPIO-integrated computer to display some environmental feedback? Perfect. Want a simple media centre? Great, but beware of its limitations. Want some hardware to run 4K displays for gaming such as Minecraft or RetroPi on? This is a great choice.
As a coding computer, the RPI4s display capabilities give it a huge boost. That screen real estate provides ample space to spread out and work, no matter how much code you’re working through. Naturally, any emulators for output, may hit a few limits - but you’ll have to test and see.
Raspberry Pi 4 available at Core Electronics:
- Raspberry Pi 4 Model b 4GB CEO6425 $94.95
- Raspberry Pi 4 Model b 2GB CEO6424 $77.95
- Raspberry Pi 4 Model b 1GB CEO6423 $59.95
- Raspberry Pi 4 Power Supply CEO6427 $49.95
- Raspberry Pi 4 Red/White Case CEO6433 $12.50
- Raspberry Pi 4 3 Piece Heatsink Kit CEO6445 $1.95
- Raspberry Pi 4 Desktop Kit CEO6426 $219