If you’re searching for a reliable single-board computer to elevate your next project and you’re unable to find a Raspberry Pi to fit your need, let’s see if I can help. In this detailed review, I’ll introduce you to the Banana Pi CM4, a versatile and powerful solution for a variety of tasks. From seasoned SBC veterans to Raspberry Pi converts, the Banana Pi Compute Module 4 has something for everyone and isn’t the worst of experiences. Join me as we delve into its features and performance to help you make an informed decision about this teeny Amlogic A311D-based Single Board Computer.
I’ll be mostly focusing on the features and support of the Banana Pi CM4 & IO Board in this particular review, though I’ve included the comparable Raspberry Pi data so you can compare the raw computing power and other features that these 2 boards share..
Table of Contents
Software Support
At the time of receiving the Banana Pi CM4 and IO board, there were only a few images available. Banana Pi themselves have provided both Debian 10 and Ubuntu 20.04 Linux-based OS images, with Ubuntu also getting a MATE desktop option. If you’re looking to run Android, they also have an Android 9 image up for grabs.
There are also some unofficial Armbian builds available, with Debian 11 (Bullseye) and Ubuntu 22 (Jammy) options there. If you’re looking for a desktop environment, they have Cinnamon, Gnome and XFCE builds available to download.
Specifications
Testing Details
Before we get onto the results themselves, you should know that I chose to use the Armbian Bullseye image for testing purposes and this is based on the 6.0.14 Linux kernel. No thermal throttling occurred during any test thanks to 2 Noctua NF-F12 fans being powered independently of the boards themselves and at full speed.
The Raspberry Pi was running kernel 6.1.21-v8+ on the latest Raspberry Pi OS (Debian 11 Bullseye). The Raspberry Pi CM4 that I had available for this test was also a 2GB, WiFi enabled 16GB eMMC model, so it has 2GB less RAM than the Banana Pi. In most tests, this won’t make a difference but this is worth bearing in mind.
Compute Benchmarks
One of the biggest differences between these 2 compute module offerings is that the Banana Pi CM4 is packing an additional 2 CPU cores on its SoC, in a big.LITTLE configuration. Will the Amlogic A311D’s 4 Cortex-A73 and 2 A53 cores (at 2.4GHz and 2GHz respectively) storm ahead of the Raspberry Pi’s 4 Broadcom Cortex-A72 cores at 1.5GHz?
A difference can be found in my testing here too as I move to benchmark more and more boards with multiple clusters of CPU cores at different frequencies. In light of that, anything that offers single-core benchmarks will also be tested on 1 core from each cluster.
UnixBench
GeekBench 6
7-Zip Benchmark
Crypto Benchmarks
OpenSSL Benchmark
Both boards were using OpenSSL 1.1.1n for this test, running aes-256-cbc
for 3 seconds in a variety of block sizes. The results are in 1000s of bytes per second that are processed.
Crypto++ Benchmark
WireGuard Benchmark
cpuminer-multi Benchmark
Software Benchmarks
PHPBench
PyBench
WavPack Audio Encoding
TensorFlow Lite
GPU Benchmarks
GPU Benchmarks aren’t something that I’ve brought to reviews before, so bear with me on this, it’ll likely take some tweaking so please leave your feedback on what you’d like to see in future GPU tests in the comments!
Browser Benchmarks
To offer something desktop-related, we have some more newcomers in the form of web browser tests. I’m using the default browser (Mozilla Firefox) that came with the Armbian build for this across 3 tests offered on the BrowserBench website and on the Raspberry Pi we’re using the included Chromium browser with the desktop OS. Everything was tested at 1080p. Each test goes through multiple iterations itself, though I’ve chosen to run each 3 times on top of that and the numbers provided below are the average of those 3 tests.
Network Benchmarks
Ethernet
For the wired connection the Banana Pi CM4 sports a GigE (10/100/1000Mbit) Realtek RTL8211f and I’ve hit it with the usual iperf3 tests that we all know. We’ll be checking the upload, download and combined/bi-directional speeds on both boards to see how it handles each situation.
WiFi
The Banana Pi CM4 itself has a Realtek RTL8822cs WiFi 5 chip (which also offers Bluetooth 4.2/LE) and I’ll be using the same iperf3 tests as above to see how the WiFi performance is on our fruity compadres. It’s worth noting that neither of the modules nor carrier boards comes with antennas, though Raspberry Pi does offer a certified antenna so we’ll be using that on the u.F connectors on each module.
Tests were performed whilst 5 metres away from my Unifi U6-LR Access Point with a direct line of sight. When the Raspberry Pi was tested with the external antenna, the dtparam=ant2
entry was added to the /boot/config.txt
file and the system rebooted.
Interestingly, where I’m used to moaning about WiFi performance on Banana Pi boards with no external antenna, this BPI-CM4 has me surprised. The numbers are very good with the onboard PCB antenna. So “good” in fact that when moving to the external antenna we have a drastic drop in speeds, though the signal strength goes up. I may be completely missing something here so if we have anyone that can shed some light on what’s happening and whether there’s something I can do to improve this and re-test, please point it out! I saw similarities with the Raspberry Pi CM4. With the onboard antenna, we’re seeing 94%+ signal quality but the antenna actually drops this, though the speed remains roughly the same.
I’ve included a table with a bit more information on the WiFi connections below.
Storage Benchmarks
microSD Card
Unfortunately, I can only share microSD card benchmarks/speeds for the Banana Pi CM4 as my Raspberry Pi Compute Module 4 has an eMMC module which means the connection to the microSD slot on the Raspberry Pi Compute Module IO board simply isn’t there. To save yet another gigantic list, I’ve tested a handful of the most popular from my microSD Card Benchmark piece. A full test of all microSD cards in my collection will be up in the coming weeks!
eMMC
My Banana Pi CM4 came with a 16GB Samsung AJTD4R HS200 eMMC module, with the Raspberry Pi CM4 rocking the “same” Samsung AJTD4R module, running in DDR/HS400 mode. This difference means that the Banana Pi comes out on top in this table.
USB Benchmarks
Given that the USB ports on these Banana Pi CM4 and Raspberry Pi IO boards are only USB 2.0, we’re not going to be maxing these out with my test hardware but it’s fun to see what they can push out should this be something important to you.
Temperatures
If you’re planning to run your Banana Pi CM4 with a heavier load for extended periods of time, you’re definitely going to want to invest in some cooling. Whilst older Raspberry Pi boards may have lulled us into thinking that these SBCs can plod along just fine without it, it’s quickly apparent that in today’s age of higher power drawing cores, that’s no longer going to cut it.
Using stress-ng
on all cores with --matrix 0
, the Banana Pi CM4 with no cooling begins to throttle within 5 seconds (throttling begins at 70c) to 2208/1074MHz (big.LITTLE), dropping down just a few seconds later to 1800/1398MHz and after 10 minutes, we were stuck at 1000/1000MHz. Not ideal.
With the addition of a small heatsink on the SoC/RAM it lasts a little longer before throttling (10 seconds) and also crucially, it maintains a higher frequency for a longer time. The initial throttling after 10s was 2208/1800MHz and after 10 minutes it sat comfortably at 1800/1398MHz.
On to some actual temperature data though. I don’t currently have any CM4-specific cooling solutions sadly (though the creator of the SQ1 Passive Raspberry Pi cooler does have an updated compute module cooler on the way!) so my tests here will consist of the bare board, a small metal heatsink that covers the SoC/RAM, and my over the top benchmarking cooling solution. That solution consists of the 2 Noctua NF-NF12 fans mentioned previously, one blowing at the bottom of the board, and one pushing over the top.
Power Consumption
The 2 Compute Modules and IO boards in this comparison are powered via different means so I’ll need to use different tools to measure the power consumption. This means there’s room for variance and these should be taken as a rough guide rather than a 100% true, scientific value. These values are of the compute module and its respective carrier board, with WiFi/BT enabled and Ethernet connected. There were no peripherals or additional items attached.
The Banana Pi CM4 is powered via USB-C (or via the headers if you’re that way inclined) and the Raspberry Pi CM4 can be powered via a 12v DC barrel jack, PoE (with a hat), a set of dedicated external PSU pins, or GPIO headers.
Summary: Thoughts & Notes from Testing
As I touched on initially, thanks to Neil we have an Armbian build running Linux kernel 6.0.14 and it’s a very good experience overall with no glaring issues.
The A311D does seem to run hot in this Banana Pi compute module when under heavy/max load with the default configurations so to prevent thermal throttling on heavy tasks you’re going to need some decent cooling or just accept that your CPU frequencies are going to suffer. I don’t currently have a cooling option specific to the CM4 so to prevent the module from throttling under the heaviest benchmarking loads I had to attach a copper heatsink to the SoC/RAM and utilise 3 120mm fans in a room with an open window, bringing the ambient temperature down to around 18c in said room. This may be an extreme case and a little overkill but hey, you’ve made it this far through my thousands of words and didn’t think I’d waffle on some more?
Where can I buy a Banana Pi CM4?
At this time the best place to purchase one of these compute module and carrier board combinations is SinoVoip’s official AliExpress store. At the time of publishing, you could pick up the Banana Pi CM4 and CM4IO board for $105 USD including shipping (though excluding taxes) and I think for the performance you get, it’s pretty good value. If you only need the BPI-CM4 itself, that is currently $90 USD including shipping, excluding tax.
Conclusion: Is it a Raspberry Pi CM4 Alternative?
The Banana Pi CM4 is pin compatible with Raspberry Pi CM4 carrier boards so if you’re unable to get your hands on the Raspberry option then the Banana Pi compute module could be something to look out for. You’ll be trading CPU performance for software support, however, so it does depend on what you plan on using this for. Tinkering at home and playing around with CM4 carrier boards? Sure, go nuts! For industrial or long-term production use? You may want to think about what’s important to you. The Banana Pi CM4 Getting Started page is a good place to look for some information on that!
Is the Banana Pi CM4 better than the Raspberry Pi CM4 and would I buy one myself? Better is subjective really and will depend on whether the missing features from the Banana Pi module are enough of a mood killer. I would buy one myself, though, as the extra power afforded to you is great as long as you can keep the firey beast tamed.
2 comments
The Raspberry CM4 maxes out at 32GB for its eMMC, so eMMC (0 to 128GB options)
should be changed into eMMC (0 to 32GB options)
Ah! Copy/paste fail, oops, correct now. Thanks for pointing it out 😁