Since the Raspberry Pi was introduced, hundreds of clones have adopted the Pi's form factor (from the diminutive Zero to the 'full size' model B). Often they have better hardware specs, and yet they remain a more obscure also-ran in that generation of Single Board Computer (SBC).
So when I saw Radxa's CM3 and Pine64's SOQuartz, I wanted to see if either would be—as they advertised—'drop in, pin-compatible replacements' for the Raspberry Pi Compute Module 4.
tl;dr: They're not. At least not yet.
Hardware and Specs
Both boards are technically pin-compatible. And both will boot and run (to some extent) on pre-existing Compute Module 4 carrier boards, including Raspberry Pi's official IO Board:
Because the boards are pin-compatible, you can use them on almost every pre-existing carrier board designed for the CM4—I'm tracking almost 100 on my Pi PCIe site!
That's great, because while many of the CM4 carrier boards are available, the CM4 itself is not. It's nearly impossible to snag the model you want, and for most flavors there won't be any in stock for months!
And just because the boards are Pi clones, they don't have to stick to all the limitations of the CM4's layout—the Radxa CM3 sports a third IO board-to-board connector along the top edge that's not present on the CM4 or SOQuartz:
This connector breaks out two SATA ports (split between the PCIe bus and USB 3.0 port), an extra USB 3.0 port, and extra GPIO pins above and beyond what the Pi offers. But it requires a board that supports the third connector, and none that are available do, yet (Radxa's own is still not available for testing or purchase).
The RK3566 (used by both the CM3 and the SOQuartz) also includes ARMv8 crypto extensions, and a 0.8 TOPS AI accelerator, so there are some other hardware niceties on offer, even though the 4x Cortex A55 cores are slightly slower (even at a higher clock) than the A72 cores in the CM4.
But if you just want to drool over specs, go read them at the source:
After months of testing dozens of PCI Express devices with the Compute Module 4—which exposes the BCM2711 PCIe Gen 2.0 x1 lane directly—I've encountered issues with some drivers, notably any GPU / graphics card, some storage controllers, and the Coral TPU.
The Pi's chip doesn't have a fully-baked PCIe bus. It's perfectly adequate for USB 3.0 chips (like the VL805 used in the Pi 4 model B and Pi 400), most NVMe SSDs, and a number of other devices, but the Pi locks up in strange ways when you try something crazy like plugging in an AMD Radeon RX 6700 XT.
So I am hoping the Rockchip RK3566 used in these other boards might have a better PCIe implementation. Good enough to be able to load drivers for more devices without hacky patches to work around the PCIe bus limitations on the Pi.
And supposedly the bootloader and firmware surrounding Rockchip-based boards is more open than that on the Raspberry Pi. This isn't a huge issue for most users, but it is a thorn in the otherwise stellar reputation Raspberry Pi has for working with open source hardware and software.
But here's the problem: as I've encountered with nearly every non-Pi clone in the past, the hardware and specs are great, but the software, documentation, and community fall short.
I had a lot of trouble getting both boards to a state where I could start using them (e.g. with Debian or Ubuntu running and accessible over SSH, at least), and I detailed my journey in this video:
But having to spend hours just trying to get the boards to boot—for someone who isn't completely new to the world of single-board computers—highlights the lack of polish on the software and documentation side.
The Pi, despite its warts, has two things going for it: a company that devotes a lot of time to testing, documentation, and bug fixes, and an active and broad community—one that isn't comprised mostly of devoted 'hacker' types who know the meaning of u-boot, buildroot, and UART!
And I'm not alone in my misery—earlier this month there was a post on CNX Software about issues getting Linux working on a mini PC with the same RK3566 chip.
Even though many of these boards use the exact same chip, OS images still have to be built custom for every board. So you're relying on each board vendor—Pine64, Radxa, or whomever else—to maintain up to date and working Linux builds.
And sure, there's Armbian and custom distro maintainers out there, but those often require even more technical knowledge, and aren't 'officially' supported by vendors.
Pine64 at least states the software for the SOQuartz is in early development... but even when it is ready, will the documentation, community, and support be up to par with the Pi? I'm doubtful (but ever-hopeful, even after years of disappointment).
I think for either of these Compute Module replacements, Radxa and Pine64 need to devote time and resources to polishing their software and documentation, especially targeting the first-time out-of-the-box experience.
In the end, I see a lot of potential. Having three compatible products available for the breadth of Compute Module 4 carrier boards should provide a lot of relief for those who want to power some new IoT or edge project with a tiny ARM board, but the CM4 alternatives just aren't there yet.
I hope they will be—and I'm still struggling forward with both the CM3 and SOQuartz; you can follow my progress in these GitHub issues:
Sorry, but did you just assumed that random board (raspberry pi development one) should work out of the box with Radxa and pine64 without any devicetree configs?
Anyways, try Toradex system. It needs some work to get it going but documentation is the best.
My understanding is that while raspberry pi (not compute module, just 1-4 and Zero ones) are the end user product and is designed for people to start something or for more advanced ones get something just out of the shelf fast to test ideas the compute modules are not.
They are designed to be used with custom designed carrier boards and at this scale you have a team of electrical engineers to design board. You have another team that works with programers and engineers to get a device tree and OS build working.
Honestly i don't think that Pi clones can beat original Pi in documentation, community or software.
And i'm tired to wait this to happens...
Looking forward to this becoming as ubiquitous as the pi form factor. I'd love to see a modular carrier board that breaks out everything to ribbon connectors.
Dual DSI connections and quad CSI, plus a type c hub, WiFi and lipo charge circuit , and you have everything to make an all in one 6dof hmd
Someone needs to do this for the CM3 form factor. A lot of people have developed custom carrier boards for that form factor, and those boards are on backorder for months. It would seem that there is a huge financial incentive there.
how about TE0726?
A little late to this, your video inspired to go look for the devices. I bought the Rock3a (the standard credit card footprint of the ROCK3), and it does have Ubuntu and Debian images. Both boot straight up and are accessible via SSH.
I just barely got to the point of playing around with it, but it looks like decent hardware for my toy-project [that was on hold because I couldn't get an RPI4 anywhere].
THEY NEVER LEARN ... I mean the other hardware companies which try to mimic the Pi hardware, even PINE64 tried to build a phone, what I feel it's nothing more than a show, I pledge PINE64 thinking it can replace the Pi3 (at that time), when I got the hardware, I keep waiting and searching for Linux to try it. After more than one year waiting turned out the company just pushing out new hardware but software developers still not supporting it. I'm back to the Pi now.
Radxa's IO board shouldn't be a problem. Banana Pi is working on its own CM4, with a hexa-core Amlogic A311D.
Yes, is the BPI-CM4 available yet? Where to buy one?
I've inquired about it, but I haven't heard when it will launch yet :(
I ordered one, still waiting for it to arrive!
Just adding on that in addition to the BPI-CM4 that wasn't launched until after this blog post, there is also the BIGTREETECH / Biqu CB1 and PI4B Adapter kit, which has 1 GB of RAM and an Allwinner H616 with 4 A53 ARM cores, running at 1.5 GHz.
Hey Jeff, love your content. Have you had your hands on either of these other alternatives, by chance?
Disregard - just saw your stream with it. I'll take a look at it.