If you’re basing your next system design on the Arm architecture, the Raspberry Pi Foundation’s various boards are an intriguing alternative to “rolling” your own hardware, particularly for modest production volumes...
If you’re basing your next system design on the Arm architecture, the Raspberry Pi Foundation’s various boards are an intriguing alternative to “rolling” your own hardware, particularly for modest production volumes. Their longevity, widespread adoption, and multiple sourcing options have translated into robust availability and cost-effective pricing. Board variants based on multiple CPU core generations are available; they also have varying form factors, power consumption specs, clock speeds, and connectivity, memory and other peripheral types and amounts.
The boards’ standardized HAT (hardware attached on top) connectors and software protocols further expand their peripheral capabilities, as well as bolstering their debugging and other development support. And when system shipment volumes reach the point where it makes fiscal sense for you to take over hardware building block manufacturing responsibilities yourself, the boards’ open-source specifications make the transition a straightforward one.
Take a look at the Wikipedia entry for Raspberry Pi, however, and your head might quickly start to ache as you ponder the plethora of product options that have emerged since the initial variant’s unveiling more than eight years ago. Here are some generalities to get you started.
All Model A boards (of various generations) introduced so far do not come with built-in wired Ethernet connectivity; Model B boards do come with wired Ethernet transceivers. Two of the three Model A flavors listed on Wikipedia take advantage of the reduced on-board circuitry to shrink the board size from “standard” 85.60 × 56.5 mm to “compact” 65 × 56.5 mm, although the original Raspberry Pi 1 Model A was also “standard” in size.
Then there are the three (so far, at least) “Zero” variants, with an even smaller 65 × 30 mm board footprint, and differentiated from each other in two primary respects:
And finally, there is the Compute Module, which has dimensions of 67.6 × 31 mm and is intended for industrial applications.
Generally speaking, each generational increment in the Raspberry Pi lineage corresponds to a more robust Broadcom-developed and Arm-based SoC than the generational predecessor:
There is, however, at least one exception to this rule: the Raspberry Pi 2 v1.2 (which comes in both Model A and Model B variants) uses the same BCM2837 as its Raspberry Pi 3 successors, but runs the SoC at a BCM2836-reminiscent 900 MHz clock speed versus the 1.2 GHz or 1.4 GHz speeds of the Raspberry Pi 3’s SoCs. Broadcom’s end-of-life of the BCM2836, I believe, drove this derivation from the norm.
And by the way, within a generation, “+” variants run at higher spec’d clock speeds than their non-“+” predecessors (note that I’m not speaking here of common overclocking exercises, which are over-and-above spec’d performance upgrades).
Scrutinizing the Raspberry Pi 4 upgrade
The Raspberry Pi 4, announced in June 2019 is a significant upgrade over the Pi 3 family.
Why? It all begins with the Broadcom BCM2711 SoC at its nexus, which at first glance (judging from the comparative product code numbers) you might think is a downgrade from the BCM2837 predecessor. Quite the opposite is the case, actually, as the following table summarizes:
|Raspberry Pi 3
|Raspberry Pi 3
(Model A+ and B+)
|Raspberry Pi 4
|SoC||BCM2837||BCM2837 (B0 stepping)||BCM2711|
|CPU||4× Arm Cortex-A53 @1.2 GHz||4× Arm Cortex-A53
|4× Arm Cortex-A72
|GPU||VideoCore IV (3D @300 MHz, video @400 MHz)||VideoCore VI
Here’s what the official Raspberry Pi Foundation literature says:
“The architecture of the BCM2711 is a considerable upgrade on that used by the SoCs in earlier Pi models. It continues the quad-core CPU design of the BCM2837, but uses the more powerful Arm A72 core. It has a greatly improved GPU feature set with much faster input/output, due to the incorporation of a PCIe link that connects the USB 2 and USB 3 ports, and a natively attached Ethernet controller. It is also capable of addressing more memory than the SoCs used before. The Arm cores are capable of running at up to 1.5 GHz, making the Pi 4 about 50% faster than the Raspberry Pi 3B+. The new VideoCore VI 3D unit now runs at up to 500 MHz. The Arm cores are 64-bit, and while the VideoCore is 32-bit, there is a new Memory Management Unit, which means it can access more memory than previous versions.”
Other noteworthy updates, some already alluded to, include:
Initially, the 1 GByte Raspberry Pi 4 variant was $35, the same price as its 1 GByte Raspberry Pi 3 Model B+ precursor. And more recently, the price of the 2 GByte version was lowered to that same $35 threshold (the 4 GByte version I own is still $55).
The Pi 3-to-4 migration brought with it a few cautions, however. The initial design (which, again, I own) was incompatible with some USB-C power supplies, as I noted in my coverage a few months ago; that issue has since been rectified. The Raspberry Pi Foundation also explained away the power input transition from micro-USB to USB-C as follows:
“This supports an extra 500mA of current, ensuring we have a full 1.2A for downstream USB devices, even under heavy CPU load.”
But that CPU load (especially, but not just necessarily, when overclocking) is in and of itself a notable factor in the higher power requirements. This isn’t inherently a bad thing; you’d expect a more advanced CPU-plus-GPU, both running at higher clock speeds than before, to pull more current (and generate more heat) than before, too. But it also requires prudent thermal dissipation consideration, especially for fanless system configurations.
Preparing to play
As I’ve already alluded to earlier, I happen to now have a 4 GByte Raspberry Pi 4 in my possession. Mine’s from Seeed Studio, and it looks like this:
I picked up the well-reviewed Argon NEO enclosure for it, which:
I also got a set of GANA micro HDMI to HDMI adapter cables:
I didn’t need to buy a USB-C power supply, however; although the ones for my Android smartphones might not have been compatible with my first-generation Raspberry Pi 4 board design, any of the ones I’d earlier acquired for my Google Pixelbook experimentation worked fine here as well (albeit being overpowered in their capabilities for the Pi 4’s comparatively diminutive 15W requirements).
In the coming months, I’ll be firing up the Raspberry Pi 4 and reviewing it both in an absolute sense and relative to the Pi 3 and Pi Zero boards already in my possession. Until then, I welcome suggestions and other comments from readers who have already trod this path. Thanks in advance!
—Brian Dipert is Editor-in-Chief of the Embedded Vision Alliance, and a Senior Analyst at BDTI and Editor-in-Chief of InsideDSP, the company’s online newsletter.