You know the Raspberry Pi Compute Module 4? That thing was so yesterday.
There are new kids on the block, the Radxa CM3 and the Pine64 SOQuartz. These things
both came out this year, and on paper, they look like they're just drop-in replacements
for the Raspberry Pi.
And the chip that powers 'em, the RockChip RK3566? It has some pretty great specs, at
least on paper. So will I be throwing out all my Compute Modules and replacing 'em with
these?
Well... probably not. In this video, I'll walk you through these boards and explain
why they're not replacements for the Compute Module 4. At least not yet.
Both of these boards have the exact same footprint and same pinout as the CM4. They both have
100 pin board-to-board connectors that let them fit on any of the Compute Module 4 boards
I've tested so far... though there are a few like the Piunora that have pretty tight clearances!
The boards both use this RK3566, which is similar to the Broadcom BCM2711 used in the
Compute Module 4, and they both have a built-in gigabit NIC, and built-in WiFi and Bluetooth.
On the whole, both boards have a lot in common with the Compute Module 4. But the Radxa CM3
adds in this extra 100 pin connector, which gives it a leg up—but only if you're using
a special board that supports it! If you have Radxa's carrier board, that third connector
gives you a USB 3.0 port, extra GPIO pins, and a couple SATA ports.
Now, there are some tradeoffs. The RK3566 is actually slower than the Pi's chip for
most things. The Pi has four ARM Cortex A72 cores running at 1.5 Gigahertz, and they're
newer and faster than the Rockchip's A55 cores, even though those are running at 2 Gigahertz.
But the Rockchip also has crypto extensions built in, along with a 0.8 TOPS AI accelerator.
So even with a slower CPU, some very niche jobs could run faster on the Rockchip.
eMMC bandwidth is also twice as fast as on the Pi... but, you only get one usable HDMI
port instead of two on the Pi, sort-of.
But on the whole, at a hardware level, there's no clear winner, spec-wise.
I'll link to both devices in the description if you wanna dig into the full specs, but
I don't wanna spend too much time on that.
In this video I wanna talk about expectations and reality.
I hope I can get some things working on the Rockchip that I haven't been able to get on
the Pi, like maybe my giant AMD graphics card, or this teensy-tiny Coral TPU. It's been an
uphill battle on the Pi, because of some hardware bugs in the PCI Express bus, and maybe the
Rockchip's bus is better. I don't know yet.
I also keep hearing about how the Rockchip has a more open bootloader and firmware, compared
to the Pi, which uses some proprietary closed-source code from Broadcom.
And, miracle of miracles, the SOQuartz is actually in stock. You can order the thing
and expect to get it in the mail at some point. That's something you'd be hard-pressed to
do with the Pi right now.
But here's the problem: I've already spent about 8 hours with both of these boards, and
so far I can't get either of them to boot into a usable state.
The CM3 I got came pre-loaded with some sort of Qt environment running some flavor of Linux.
But I can't log into it via SSH, I can't use a USB keyboard or mouse to do anything with
it, and even after re-flashing the eMMC a few dozen times I still can't get the thing
to boot into Debian, so I can't do any more testing.
So I was a little disappointed with my initial CM3 experience, but the SOQuartz wasn't any
better.
There's no getting started guide yet, and I only found out there was a sorta-working
image I could download when someone pointed it out to me on Discord.
So I loaded that up, booted the SOQuartz, and got this blinking cursor.
I guess... that's something. But it's a far cry from a system I can use to do anything
useful! I also tried getting serial console access, since USB wasn't working. I plugged
in my USB serial port adapter, and booted both boards, but no matter what I did, I would
just get back gibberish.
After reading more docs and asking around in Discord, I found out the Rockchip uses
a non-standard 1.5 million baud rate for serial communication, and neither of the USB adapters
I had worked with that. So I was basically stuck.
Even though I can order another adapter and get it working, which—I will—here's the
big problem—there's precious little documentation. And what there is usually targets developers.
And the images you download are usually scattered deep in wiki pages, or in random links passed
around on Discord. And that seems to be common for many of these types of boards. Great hardware,
okay software, and documentation that requires deep technical knowledge to understand.
A lotta people accuse me of playing favorites with the Raspberry Pi, or that they pay me
money for some sort of exclusive deal, but that's just not true.
I just use the Pi more often than other boards because every time I start working on a project
with something that's not a Pi, I end up spending more time trying to figure out how to get
simple things working than I do on the project itself!
The Pi, despite its warts, has two things going for it: a company that devotes a lotta
time to testing, documentation, and bugfixes, and a community that's really active, posting
any and every little detail somewhere you can find it with DuckDuckGo.
And you might just say I'm just one guy complaining about these things because I'm 'so in love
with Pi,' but there are plenty of other people with similar issues. Earlier this month there
was a post on CNX Software about issues getting Linux working on a mini PC with that 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, whether it's Pine64,
Radxa, or someone else, to maintain up to date and working Linux builds. It's common
for me to see a board that's only a couple years old running some ancient Debian or Ubuntu
release, because that's basically all that was ever supported.
And sure, there's Armbian and custom distro builders out there, but those often require
even more technical know-how, and have even less vendor support.
It takes a lot of effort to build and maintain Linux images, and even Raspberry Pi themselves
struggle to keep up sometimes, and they only officially support Raspberry Pi OS!
Now, I'll admit, Pine64 stated that the software for the SOQuartz is still in early development,
and it'll be 'months' before people can reliably deploy it... but even then, I think one of
the main reasons Raspberry Pi's been so successful in comparison to other boards isn't the price,
or even the specs. It's the documentation, community, and support.
And I think for either of these Compute Module replacements, Radxa and Pine64 need to spend
a lotta time polishing their software and documentation.
I'm no wizard, but I do know at least a little bit about computers. If it takes me hours
to get a thing to boot, I can't imagine most people who aren't already embedded Linux developers
and understand terms like SPI, UART, and U-boot will have a fun time with 'em.
But you know what? I still enjoy messing around with these boards. And do I want them to succeed.
I'll be checking in on the progress getting the SOQuartz functional, and I'm still chatting
with Radxa, tryin' ta figure out why I'm having so much trouble getting the CM3 to boot into
Debian.
So expect to see more about these boards in the future.
But if you're wondering why I'm still doing most things with Raspberry Pis, well, I hope
this video sheds some light on that.
Check out the links below for more information about the CM3 and SOQuartz, and to follow
the GitHub issues where I'm posting my testing progress. The CM3 should be shipping sometime
this month, and the SOQuartz is already for sale on Pine64's store.
Until next time, I'm Jeff Geerling.