RoadTest the Raspberry Pi 4 Model B (2GB) - Review

Table of contents

RoadTest: RoadTest the Raspberry Pi 4 Model B (2GB)

Author: balearicdynamics

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?: Related to the specific application and by a bare technical point of view, it is possible to create a cluster machine with some other SBC like BeagleBone and Pi clones but the performances are far to be similar due to the new hardware profile of the device and hardware performances. I should say that the Pi4 – better the model with 4Gb Ram – is also a very good compromise for an average ultra-low-cost desktop or mobile device. But in the case of the movile assembly, with the 7 inches Pi touch screen, there are some limitations to the available applications due to the screen size and resolution.

What were the biggest problems encountered?:

Detailed Review:

Foreword

I am aware this is an uncommon road test.

I have based the testing of this new device trying to push the usage to the limits making two kinds of computer machines. Instead of designing some specific projects based on the Raspberry Pi 4 I have assembled a Raspberry Pi desktop and a four-nodes cluster. I should thank first of all that with a lot of patience got me more time to be able to write down the road test; the desktop and cluster projects are also two chapters of the Italian book I wrote for the Italian publisher Hoepli, dedicated to the Raspberry Pi, updated to the Pi 4B available on Amazon and the Italia libraries next May. Another big thank will go to the effort of and Rob Zwetsloot from the Raspberry Pi Foundation that helped me providing four extra Pi 4B just for this project time before the new model was distributed to the mass market.

For updated information on the projects I have done for road testing, look ad the Updates section at the end of this post

image

 

The Pi 4B Workstation

The first test I have done using a Pi 4B with 4Gb Ram is creating a workstation, then using it for everyday jobs.

image

The image above shows the first set up I have done for this test in my company office where I have a number of HDMI monitors available. I used this first assembly (just connected the peripherals) for a couple of weeks. I was really surprised about the responsiveness of the dual-screen setting, incredibly powerful and well working. Here I have used two HDMI full HD screens and – thanks to using the 4 Gb Ram model I have tried to dedicate to it 512 Mb of shared memory reserved for the graphic memory. Also with the 2Gb Ram model the performances – with 512 Mb dedicated to the shared video memory – were the same. The dual-screen management of the Raspbian Buster is also excellent; are possible different settings of the desktop icons and the control bar: you can set the system to use one of the two monitors as a secondary screen, e.g. to show videos and images while the other screen contains the toolbar and the desktop icons, as well as setting the toolbar on both screens. Moving the mouse in the two areas is fluid and the system behaves as a single wider screen.

As I wrote before, the Pi 4B works fine with the Raspberry 7 inches touch screen but due to the touch screen size I met some functional issues on some programs; a recurring issue is with those applications where the graphic UI is bigger by default than the resolution of the screen so you lose a part of it.

Regardless of this detail – affecting also the previous models – the performances and the incredibly low price of this device, together with the possibility to easily power it by batteries and the small form factor makes the Pi 4B the ideal core board for mobile custom machines, including a lot of possibilities thanks to the hardware GPIO accessibility: the only detail I think should be cared of is the use of a small (between 7 and 10 inches) HDMI screen, considering that it can be easily connected to a second HDMI screen. A complete workstation with a lot of possibilities.

 

Stressing the Workstation

There are two aspects that are related to the Pi 4B: the first is the problems related to the temperature and the second is the powerful GPU. We can say that these are a pro and a con. Before using the workstation in the two-screen setup I have added a simple passive thermal heat sink kit. This cheap add-on (less than 2$) has been sufficient to grant the work without overheating risk. When the Raspberry Pi 4B was in my company office I had to try to convert some C++ libraries from the Qt MinGW environment to the Raspberry PI; these libraries use OpenCV 3.x but the binaries are not yet available on the Buster Raspbian. So, I decided to build OpenCV from sources. The compile process required almost half of the time needed on the previous model 3B without experiencing any kind of thermal failure.

 

The Second Workstation Setting

When I moved the workstation at home (where I only have a single HDMI spare monitor) I adopted another setting, shown in the below image.

image

Excluding the single monitor, this setting is the same as the one I used before; after configuring the machine the desktop has been left powered on by almost one month without problems. As I wanted to test the graphic performances and stability with some kind of video processing I have added a 120 Gb SSD external storage connected to the Raspberry Pi via a SATA II to USB 3 adapter. Then the Raspberry Pi now is in a 3D printed case; the machine is still without a cooling fan (only the passive heatsink). Then I have installed OpenShot, a non-linear video editor to start making some tests impossible to think with the previous generations of Raspberry Pi.

 

Video Format 4K is Not Supported?

The commonly called "Full HD" video format is the classical high-resolution videos we are mostly used to see, with a resolution of 1920x1080. Almost all the most recent DSLR cameras, sport-camera (like GoPro), and smartphones can shoot videos in 4K, that is the double of the Full HD format. So, to the question if the last generation of Raspberry Pi can support (and play) the 4K video format the answer is no; and this is one of the graphic limits of the machine. Really the answer is no?

I tried to play a 4K video with the VLC video player available after the Buster installation (full desktop version) and the result is a sort of scrambled video impossible to view. But I think that under the hardware point of view the Raspberry Pi has nothing strange to avoid accepting this format; just for an exercise (for now) I have imported the "unplayable" 4K drone shooting with the OpenShot video editor mentioned above: and I saw a perfect preview in the editor screen. This confirmed my supposition that this supposed limit is mostly related to the software and the encoders currently available for the Buster distribution. I hope that in the near future these will be updated to support also this format without limitations.

As a further test and to definitely verify this partial limitation I have used the same editor just to export the 4K video in the Full HD format. A good test, as resizing the frames is a time-consuming task stressing both the CPU and the GPU. The conversion was perfect – compared to other professional tools I use on Mac for my video productions and the conversion example is shown below.

 

 

Stressing Further

The next step has been trying to edit a couple of short scenes (converted to Full HD) adding some digital effect, all produced with the Raspberry Pi 4B. The video below shows the result; the entire workflow of the video required about 20 minutes.

 

 

During this second more complex text I have checked the following critical points:

 

  • Easy to manage the scenes, good graphic response while previewing and cutting the shooting
  • Fast creation of the graphic title almost complex: 3D rotation of wire-frame text
  • Fluidity in the motion and responsive and precise clips positioning and cutting
  • Unexpected fast rendering of the final video
  • Precision in the creation of the transition effect

 

Below: some images during the video testing

imageimage

imageimage

 

Performing Machine-critical Tasks

The video editing process using a non-linear video editor like the one I used, includes some very critical factors where the power of the processor and the GPU are strategical.

image

To create the short clip with the 3D title shown above I have followed the simplified workflow shown in the above scheme. Fades (like the common cross-dissolve effect) and transitions between different scenes are one of the most critical points; when you edit the timeline adding effects need time to render the preview to see how the effect works and then when you produce the final video, transitions and effects are applied with to a higher detail (mostly depends on the final video resolution). The 3D effect of the opening title has been rendered separately: after setting the text content, font and effect parameters the program renders a clip that can be added to the timeline. The other step that needs a lot of time is the video render when the editing is complete and we should save the video on file. Working with the clip files on an SSD, thanks to the USB 3 ports provided on the Raspberry Pi 4B I saw a really performance improvement than using the same external SSD storage with a model of the previous generation of Raspberry Pi (3B and 3B+)

The hardware architecture of the new Pi 4B also considerably improve the memory management and internal communication between the GPU and processor. As a benchmark, I tested the time needed to make this video assembly on the Pi about 2 times faster than a Macbook air with i5 core 2.3 GHz and SSD storage. I am planning to do more complex tests in the future, but I should admit that this is the first Pi model that can really be a performing alternative as an everyday desktop computer (or mobile device).

 

The Thermal Factor

There is a lot of blogs and articles saying that one of the major issues of the Raspberry Pi 4B is the excessive temperature posing at risk the components when it is used for a long time and for stressing tasks. This desktop has been powered for at least 3/4 of the time I own it – this means months – with only the heatasinks thermal protection on the ICs and never crashed also during long compilations (about two hours) or several video editing tests, always powering external storage via the USB 3.

Anyway, I strongly suggest adding the heatsinks to the Pi before the first power-on and when possible a small fan that undoubtedly keep the temperature lower, especially when the Pi is inside a case or a project build that does not grant a good air-flow. I think too that some exaggeration like liquid cooling or oversized fans just contributes to an aesthetical improvement than a real benefit to the performances.

The average temperature of the Pi when doing normal tasks like using the libre office, hearing music or viewing videos browsing the web is always between 50 C and 60 C. When doing long C++ compilation the temperature never raised 68 C. Then I have done some specific tests with editing critical steps involving both the CPU and GPU. Also for relatively long processes, like a 4K to Full HD video conversion, the system continued staying responsive running other tasks like sending finished files to a remote computer via the WiFi or browsing the Web.

The system shows a blinking red thermometer when the temperature reaches 70 C but the highest acceptable temperature before entering into the hardware risk zone (or having a CPU slowdown) is 80 C.

image

Above image: the average temperature while the system is running in no-stressing conditions

 

The three temperature curves below show respectively:

 

1. Six minutes time frame while a video conversion from 4K to Full HD is at 50%, so the higher reachable temperature has already occurred.

image

2. Four minutes' time frame while the program was rendering the 3D graphic title you see in the first video of this review (it needed about 4 minutes to completely render the scene).

image

3. Four minutes' time frame during the final video rendering (it needs about 3,5 times the full video duration on the timeline).

image

The interesting aspect you can note in the below graphic recordings is the temperature oscillation; this means that the temperature control is very reactive and the system temperature grows only when the system is really under a stress task then immediately decrease in a few seconds.

 

image

Above: a shot during the video conversion from 4K to Full HD.

 

At the date, while I am writing this review, the workstation is powered on and running in my lab accessible via the VLC from everywhere.

 

Making a Four Nodes Cluster

The second experimental project, that I started using proactively for image conversions and other time-consuming tasks is the building of a four nodes Cluster. The video below shows the making-of and setup.

 

 

Personally, I've always been very interested in the realization of supercomputers built with more than one processor; in the last two years the experiments for the creation of this kind of system – i.e. Cluster Computers – have multiplied thanks to the possibilities offered by the Raspberry Pi models. The first Cluster projects based on this platform were published shortly after the release of the second generation of Raspberry; given the rather limited computing power of the Pi 2 model, these were almost always academic experiments aimed at demonstrating how a group of small networked computers can considerably increase the computing power to perform repetitive or time-consuming tasks, especially when performed on single-board computers such as the Raspberry Pi.

 

Computer Cluster

The English term Cluster literally means "collection", but also "group". This word is used in very different fields, such as mathematics and statistics, where Cluster Analysis takes into account the behaviour of certain groups of entities in relation to each other. In the computer field, a Computer Cluster consists of a group of independent computers connected to each other through a network and controlled by a main server. These machines are identical or structurally very similar; each computer in the cluster - identified as a node - has its own operating system installation; the nodes in the cluster communicate quickly and efficiently with each other connected by a local network. In many ways, although they are different machines, the cluster can be seen as a single entity. Each node is configured so that it can perform the same tasks as the other nodes, while the main node (the cluster server) has a software able to establish the priority of execution of each task by distributing the pending tasks to the various nodes according to the availability of resources.

In this project I used four Raspberry Pi’s 4B to create a cluster of four nodes: the number of nodes depends on how many units we have available and the system is completely modular, able to be extended to an indefinite number of nodes; some universities have created clusters with hundreds of Raspberry Pi’s connected to the network. Of course, this also applies in the opposite direction: nothing prevents us from creating a cluster with only two or three nodes. It is obvious that the number of nodes can significantly affect the system performance, seen from the outside as a single entity, a small supercomputer. Despite the flexibility and modularity of the cluster, when it comes to designing the architecture there are some aspects you have to take into account. A complete project detail on how to make a cluster with the Pi 4B following my same path will be published soon outside of this review as it is a long but interesting procedure.

 

Updates

 

#1 PiCluster How-to (March 25th, 2020)

A detailed post on how I have set up the four nodes cluster based on the Raspberry Pi 4B can be found in PiCluster How-to on we-are-borg.com, a complete guide on how the four machines have been configured and what is the software components and network configuration used to build the nodes and connect them together.

 

#2 PiCluster At Work (April 4th, 2020)

Another post on how PiCluster architecture has been empowered with the SLURM Workload Manager to assemble automatically large amounts of time-lapse images to mp4 video scenes, on the PiCluster At Work blog post. Custom control software is available on GitHub repository.

 

Conclusion

Based on all the use I have experienced, including the stability of the system (the cloud is powered under UPS by 2 months and a half) In can conclude that it is my impression that the Pi 4B is a considerable step ahead. Having tested, experimented and developed many projects on almost all the models of the Pi from model 1 this is the first machine that can work very well as a desktop with the incredible potential of exposing the GPIO. Perfect for makers, developers and for educational purposes. My vote for this model is 10 under all the aspects.

Anonymous
  • Hi Enrico,

     

    I missed seeing this earlier, very useful review!

    The cluster video was great, I watched it several times! Very clever implementation with the large fan to cool the entire unit.

    I'm thinking such a case design is useful more generally too, not just for clusters. Because, there could also be scenarios where the cluster could be reduced to (say) three or fewer, even down to one, and use the spare locations for custom peripheral boards etc : )

    Really ideal for serious experimenters.

    The Intel NUC had enclosures which were tall for inserting in custom stuff, but the Pi cluster enclosure would work way better.

  • Thank you DAB,

     

    I have updated the review with a link including the full how-to for the cluster. And now I am writing (I need some days to make it available) another step with cluster jobs tested with the Pi4.

     

    Enrico

  • Hello Nitin,

     

    I should also add (forgot before, sorry) that I also experienced very short and rare process lack during the normal operation, that I instead always noted on the previous models.

    But, what to you meant on the ms delay in your previous comment?? I have not understood.


    Enrico

  • Hello Enrico,

    I'm also working on the raspberry pi 4 device. I've encountered some issue that's why asked. Usually, the device is powerful and it meets the same performance as the normal computer at some point. I agree with your point for the video editor things.
    I hope to see more information about the upcoming tests review.

  • Thank you for your appreciation, Mike.

     

    I tough that after tons of testing and benchmarking, it was time to try to experiment with the Pi 4B under the point of view of what it really is: a computer. There are lot of plus like the GPIO, the possibility to make physical computing with a desktop and more.

    IMHO, I see that the trend is to analyze the features and performances one by one. I mean:

     

    • how fast is the CPU – but I saw faster PSoC processors less performing
    • how good are 4Gb of Ram in a Linux machine – but I saw crappy stuff with more memory or faster chips
    • how nice is the dual-screen option

    and so on. What I really think is that the point is not – not only – the excellent hardware choice but the Raspberry Pi 4B is a jewel of computer architecture. That is the reason it is so good and work so well.

     

    Enrico

  • Nice review.  I fired up my first RPi4 a couple of days ago and was shocked at how fast it updated Raspian.  It's a powerful little thing.

  • Good review.

     

    I had been hanging back from going to version 4, but given your experience I might just upgrade.

     

    DAB

  • Hello Nitin, what do you mean as lag? Respect what?

    I have set up no special video encoder, just to see what happens to a normal user not experienced of Linux drivers, codecs, etc. And the way the 4K videos are managed by the video editor is not system-wide as the issue playing higher resolution still happens with the other players.

    Anyway, I stopped yesterday night because it was too late but the review is not finished. I made the damn mistake to press the publish button instead of the draft and there is no possibility to step back to this kind of mistake. Stay in touch, I am writing more on this review.

     

    Enrico

  • Its nice review. I have tested on the youtube videos.

    In my case, it lags 0.5 milliseconds.

    Any video encoder additionally you installed in VLC player?