It's been some time (over two years!) since I've blogged about recent happenings on the Raspberry Pi project. Even eight years after the initial launch, the project continues to move ahead with new hardware releases and software development. And it continues to sell, with over 30 million units shipped by the end of 2019.
I'd like to review a few noteworthy items of interest to Qt and embedded software developers.
New Hardware Releases
The most recent big hardware release was the Raspberry Pi 4 in June of 2019 which sports a Broadcom Quad-core Cortex-A72 64-bit processor that is significantly faster than the previous Raspberry Pi 3. In addition, it offers two USB 3.0 ports, Gigabit Ethernet, and dual 4K HDMI video output.
If upgrading from an older model, you'll need some new cabling, case, and a USB type C power supply. More recently, the maximum amount of RAM available was increased from 4 GB to 8 GB, but you'll have to pay a little more for that (US$75 versus US$55 for the 4GB version and US$35 for 1 GB or 2GB models).
Experience Using a Raspberry Pi 4 as a Desktop
At roughly three-to-four times faster than the Pi 3, the Raspberry Pi is now suitable as a system for serious desktop use.
For several months now I have been using a Pi 4 with 4GB of RAM running Raspbian (officially now it is known as "Raspberry Pi OS"). I have found it to be completely usable as a desktop for doing web browsing (using Chromium) and even some software development in Python and C.
A few applications that I was used to running under Ubuntu Linux have different alternatives under Raspberry Pi OS, but everything I've needed was available, and I expect this to be true for most users provided that you don't have a need to boot into Microsoft Windows.
[Photo Credit: Raspberry Pi Foundation]
I actually opted for the Raspberry Pi desktop kit which bundles together everything needed for a desktop system, except monitor. The matching case, power supply, mouse, and keyboard are quite attractive and make for a nice compact desktop system.
I would recommended opting for the latest version with 8GB of RAM if you open a lot of browser tabs, watch videos, or plan to use dual monitors. I'd also suggest installing a fan, like the Pimoroni Fan Shim, to keep the system cool.
The Raspberry Pi is not the only non-X86 desktop. Windows 10 Desktop supports the ARM platform, Apple recently announced they were moving their Mac systems to ARM processors, and of course the ARM platform has been dominant in the mobile market for some time.
Qt Version in Raspbian
In the past, the version of Qt 5 packaged for Raspberry Pi was quite old and I typically build Qt myself from source to get a newer version. The latest Raspberry Pi OS is now using Qt 5.11.3, which is a couple of years old, but adequate for learning and experimenting with Qt, and the other development tools like the Qt Creator IDE are also available as prebuilt packages.
Toward the end of this year we will see the first release of Qt 6, so it will be interesting to see when this shows up in Raspberry Pi OS.
Raspberry Pi at ICS
At ICS we sometimes use, or work with customers who use, the Raspberry Pi as an embedded platform. As one example, we recently worked on an open-source medical ventilator project that uses the Raspberry Pi for the UI, along with a microcontroller for handling real-time hardware functions.
Also related to the COVID-19 pandemic, we have had adapt our training classes to support remote training. Our desktop Qt training was relatively easy to offer, but our embedded classes are more hands-on with real hardware. We recently launched our first remote embedded training classes and are using Raspberry Pi (running Yocto embedded Linux) as the platform since this is easily obtained by most of our students.
There have many other developments in the Raspberry Pi ecosystem that I didn't have room to cover here, like new hardware offerings and operating system alternatives including 64-bit. I hope to look at some of these areas in detail in future blog posts.
Like this article? Find additional content on Qt, QML, Raspberry Pi and other technical topics here.