I’ve reviewed the Pine64 SOQuartz compute module alternative in the past. While it works great Pine64 is working toward mainline support and doesn’t have very many choices available for a well-supported image as mainline kernel support for that board is not quite complete yet.
The Radxa Rock 3 Compute Module (CM3) is Radxa’s current production alternative to a Raspberry Pi Compute Module 4. They promise that “Radxa CM3, CM3 SODIMM will remain in production until at least Sep 2029” meaning that they have made a very long term commitment to support this board.
In this review I’m going to be taking a look at the Radxa Rock 3 compute module and see how it stacks up against the Pine64 SOQuartz as well as the Raspberry Pi CM4. Let’s begin!
The Radxa Rock 3 Compute Module (CM3) has a quad-core 2.0GHz SoC with memory options from 1GB to 8GB. eMMC options are also available from 8 to 128GB.
Links: AliExpress*, Amazon.com*, AllNetChina
The Geekworm copper heat sink set is designed to fit many different single board computers. It uses thermal conductive adhesive which many “cheap” heat sink kits for SBCs don’t have. Eliminates hot spots and reduces throttling. Can be further enhanced by powered cooling over the heat sinks.
Links: Amazon.com*, Amazon.ca*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*
|55 mm × 40 mm||32 mm x 67.6 mm|
|Processor:||Rockchip RK3566, Quad core Cortex-A55 (ARM v8) 64-bit SoC @ 2.0GHz|
|Memory:||1GB, 2GB, 4GB or 8GB LPDDR4 (depending on variant)|
|Storage:||8GB, 16GB, 32GB, 64GB, 128GB (depending on variant) high performance eMMC|
|Connectivity:||– Optional wireless LAN, 2.4GHz and 5.0GHz IEEE 802.11b/g/n/ac wireless, BT 5.0, BLE with external antenna|
– Onboard Gigabit Ethernet PHY
– 1 x USB 2.0 Host port ( highspeed ), 1 x USB 2.0 OTG, 1 x USB 3.0 port ( 5Gbps )
– 1 x PCIe 1-lane Host, Gen 2 ( 5Gbps )
– 2 x SATA ports, one shared with USB 3, one shared with PCIe
– 50 x GPIO supporting
|Video:||– 1x HDMI up to 4K x 2K@60HZ|
– 1x eDP four lanes, 2.7Gps per lane
– 2x MIPI DSI four lanes, 1.6Gbps per lane
– 1x LVDS four lanes(mux with MIPI DSI0)
– PDM, support mic array
|Multimedia:||– VP9/H.264/H.265 decode 4K@60HZ|
– H.264/H.265 encode 1080P@100HZ
– OpenGL ES 3.2/OpenCL 2.0/Vulkan 1.1 GPU
|Input power:||5V DC|
|Connector:||3x 100P 0.4mm pitch B2B connector|
|Production lifetime:||Radxa CM3, CM3 SODIMM will remain in production until at least Sep 2029, CM3 Industrial will remain in production until at least Sep, 2032|
Let’s start with the packaging. The module came in a box like this:
It was wrapped with a ton of bubble wrap and actually shipped in a box to prevent it getting smashed. I’m kind of surprised to see someone shipping a SBC in a box like this as my last 10+ reviews or so they have all came in clear hard shells (that can’t be smashed nearly as easily).
Here’s a look at the bottom of the packaging which has more information about the product:
This is exactly how Raspberry Pi 4 CM4s come though (in a very small box just like this) so I suppose that is what they are going for.
Now let’s take a closer look at the board:
In the top right hand of the board you can see a U.FL antenna connector to attach an external antenna. We can see that the version / revision of the board I got was V1.31A.
If you follow the U.FL connector and go left from there past the WiFi chip there’s actually a small button right to the left of the WiFi chip. It is the most yellow looking piece on the board with the small black dot in the middle of it. This button disables the eMMC.
In the top left hand in the board you will notice there is an unpopulated spot where there are only pads. Those pads are for a SPI flash chip and a button to disable it. My model did not come with the SPI flash obviously here.
And for the bottom of the board:
Now this is interesting, there’s a third connector on the left hand side of the board that the CM4 doesn’t have!
Fortunately this doesn’t break compatibility with any of the existing CM4 boards. It will still plug in them and function normally. The third connector gives you more available I/O options than are available on the CM4 if you have a I/O board that is capable of using them.
In other words it’s optional and boards can be designed to take advantage of it. You only need to change the .dtb file to switch between Raspberry Pi CM4 compatibility mode and Radxa CM3 compatibility mode (more on that later).
The overall build quality is excellent. The board is very solid and the traces are very clearly visible. It’s easy to find which components wire where just by looking at the board.
Available Operating Systems
The official download page for the Radxa Rock 3 Compute Module (CM3) is here.
As far as I can tell there are only two available operating systems. These include the following:
- Debian Bullseye XFCE Desktop
- Ubuntu Server (Focal)
That is it as far as I can tell. It’s an even worse offering of operating systems than the Pine64 SOQuartz. Substantially worse actually.
None of the third party images listed will work. That is just because they combined the CM3’s download section with the Rock 3 series of boards (another puzzling choice). Almost everything you see on that page won’t work with the CM3 unless it has CM3 specifically listed in the image name.
Testing CM4 I/O Board
Right off the bat you’re going to have to make some configuration changes. Even if you got a model with the eMMC the dtb files it came with are not compatible with the Raspberry Pi CM4 I/O boards. This is very disappointing but I’ll beat the hell out of them in the conclusion for it. Let’s just talk about how to fix it here for now.
Basically if you only bought the module like I did (and none of the Radxa I/O boards) you’re going to need to plug it into your CM4 I/O board and disable the eMMC boot pins so you can plug the I/O board into your PC and image the eMMC. *Groan*. Not exactly an convenient thing to do with a compute module.
The commands to fix this (from the running device) are:
cd /boot/dtbs/$(uname -r)/rockchip/ sudo mv rk3566-radxa-cm3-io.dtb rk3566-radxa-cm3-io.dtb.bak sudo cp rk3566-radxa-cm3-rpi-cm4-io.dtb rk3566-radxa-cm3-io.dtb sudo reboot
If you want to use these with the eMMC that’s going to be very hard to do without using the USB to TTY serial console. I don’t want to download rkdeveloptool and reflash the board. All I wanted to do was edit the files but that is actually really hard without just booting off a SD card first (at which point you will be able to access and mount the eMMC and change the files that way).
To be fair Raspberry Pi also makes you use a proprietary tool for flashing from the PC and doesn’t just show up as a drive. In other words this is a problem with the Raspberry Pi as well. It’s part of the reason this form factor sucks frankly and neither Radxa or Raspberry Pi are doing the form factor any favors by not having the eMMC just show up as an accessible drive on the PC. It’s just a miserable technology to work with frankly and it has been since day 1 (especially compared to other Raspberry Pi products, my goodness).
I imaged a SD card and then performed the above fix to make my DTB file compatible with the CM4 I/O boards:
james@pop-os:~$ sudo mount /dev/sda1 /mnt james@pop-os:~$ cd /mnt/dtbs/4.19.193-58-rockchip-gbac1feba87f0/rockchip james@pop-os:/mnt/dtbs/4.19.193-58-rockchip-gbac1feba87f0/rockchip$ sudo mv rk3566-radxa-cm3-io.dtb rk3566-radxa-cm3-io.dtb.bak james@pop-os:/mnt/dtbs/4.19.193-58-rockchip-gbac1feba87f0/rockchip$ sudo cp rk3566-radxa-cm3-rpi-cm4-io.dtb rk3566-radxa-cm3-io.dtb
I then attempted a boot and…. nothing. Are you kidding me? I’m going to really have to get a USB to TTY serial console out to get this to boot off ANYTHING even SD card?
How about no. I’m failing this board right now. This board is going into the drawer of shame and I doubt I’ll ever touch it again. Not even within the same league as the Raspberry Pi 4 Compute Module 4 or even the Pine64 SOQuartz. There’s literally no point in continuing. This is a terrible offering.
Cancelled due to being such a nightmare to work with that I was done with the board before we even got to this.
Adding a third connector was theoretically a really good idea from Radxa if they would have done it correctly. The implementation is problematic though. Why didn’t Radxa map the I/O with 100% compatibility with the Raspberry Pi Compute Module 4? Why am I having to change .dtb files (even within the same image) to switch between different I/O boards?
When I bought this product what I expected to happen is that I could use it interchangeably between Compute Module 4 I/O boards and Radxa I/O boards. I figured it would map the I/O in a way that maintained compatibility with the other images. It doesn’t though. You have to change the .dtb files between the two.
I’m sure Radxa has a very technical explanation of why they did things this way but I would argue they’ve missed the point of using a compute module form factor like this. The whole idea is that I should be able to plug it into any I/O board and have it work. By adding a third I/O connector and having to switch operational modes by changing the .dtb files they’ve completely erased any advantage of using a form factor like this. It’s now just an additional headache added to the many headaches there already are when working with compute modules (even in ideal circumstances).
In other words I think the third connector took this product in the wrong direction. It doesn’t make sense to me anymore. This really isn’t an easy product to use with Raspberry Pi Compute Module 4 I/O boards because you have to mess with the .dtb files. They say they have been working on an image that has this change built-in but it’s not available still. You have to do it manually.
I hate to say it but this has to be Radxa’s least compelling offering I’ve ever reviewed. I called the Radxa Rock 5B the new king of SBC performance in comparison. I will recommend the Radxa Zero over the Raspberry Pi Zero 2W all day long as well.
For this product to make sense to use you would probably want to bundle it with Radxa I/O boards so all of the images work without any further modification and customization. The issue is I see no reason why you would want to start over and invest in Radxa’s compute module ecosystem from the ground up. You can be sure that none of their gear with the third connector will play nice with the original CM4 (or at least it would be seriously hindered if it’s even possible by lack of the third I/O connector on the CM4).
I legitimately would recommend the Pine64 SOQuartz over this board just because that board doesn’t have any weird I/O mapping issues going on with a third connector requiring changes to your dtb files to swap between the different I/O board solutions.
I know Radxa has an extremely powerful CM5 model coming up that has an incredible 8 cores and will absolutely stomp the CM4 in performance. I’m honestly less excited for it though after trying this version.
That’s because with having to change your dtb files to move between the different I/O boards no matter which image you’re using is honestly really gross to me. It’s exactly the kind of jankiness that Raspberry Pi fans (rightfully in this case) are pointing out as to why it’s an inferior experience and I don’t see how it can be overcome on this board series as it’s a design issue.
I legitimately don’t know who this board is for (other than giant clusters of them) because if it’s not for CM4 fans then as I’ve explained who is it going to make sense for? Who else is going to have invested in this form factor already and have the super expensive I/O boards? Why not use microcontrollers or a regular single board computer? There are much more compelling offerings in both of those categories that cost less money / have more flexibility / enjoy better compatibility.
My constructive criticism to Radxa would be to get those images out that have the dtb changes built-in. It’s still a terrible solution but it’s still a lot better than making the users modify their dtb files just to switch I/O board types. This board is straight up disqualified from being a Raspberry Pi alternative/replacement in any way until that happens. If the Radxa CM5 launches with the same issues it will also be automatically disqualified for consideration as a Raspberry Pi alternative for the same reason. You are offering an inferior experience in this case and that is not the case with your other product offerings Radxa!
I kind of am doubting the compute module form factor altogether anyway to be honest. Playing with them again recently has made me feel like I’m playing with obsolete technology after my recent dive into microcontrollers. I’ve been so much more impressed by the microcontroller ecosystem (particularly ESP32). The microcontroller ecosystem seems like where things are really going to me and not to compute modules. I think this form factor is going to fail.
There’s nothing convenient or nice about how this compute module market and the I/O boards surrounding it are developing. The CM4 I/O boards are generally super expensive anyway especially compared to the microcontroller world. Just a regular CM4 I/O board is more expensive than an entire microcontroller solution that comes with all the components soldered to the board that you want already good to go (with even the CPU included via the microcontroller). My entire microcontroller projects cost less to build with everything combined than just the compute module I/O boards cost let alone adding a Compute Module 4 or Radxa CM3 on top of that.
The compute module was a great idea (at the time) but microcontrollers are becoming so powerful so quickly that I really don’t see any reason to keep living in Raspberry Pi / Radxa compatibility hell when microcontrollers are so powerful now (and will continue to become more powerful). Raspberry Pi couldn’t ever produce enough of these to make it a really well-established necessary form factor. I wouldn’t expect Radxa to be able to establish it themselves either especially given they are competing more with microcontrollers now than with Raspberry Pi since Raspberry Pi has been flailing around for years not shipping anything (relatively speaking).
We already have a great modular component ecosystem and it’s not Raspberry Pi or Radxa. It’s generally ESP32 / microcontrollers. Adafruit is making really interesting microcontroller products that I’ve done a lot of coverage on the site that are so much better than anything going on in the compute module market. You can connect individual components together over I2C and build incredible modular projects powered by microcontrollers in the modern age. Without soldering.
I really would encourage people to embrace microcontrollers (even if it’s the RPI Pico / RP2040) instead of compute modules at least for maker builds. They’re so much more compatible with each other already than single board computers ever were / are. They’re also much more pleasant to use frankly. Modern microcontrollers have a lot more power than people realize. They’re already dual core (which is more than the Pi Zero W can say) and typically have built in WiFi/Bluetooth.
If you need the power of a full single board computer then get the Radxa Rock 5B. If you need the form factor of a Pi Zero 2W then get the Radxa Zero. If you need small / modular / expandable then the microcontroller world is infinitely better than anything you’re going to be able to do with these compute modules. It’s only people who are building a small 1U cluster of a whole bunch of these together that this might make sense for and people are already doing that with the Pine64 SOQuartz Blade.
You can see my 2023 top recommend Raspberry Pi alternatives list here
I do highly recommend the Radxa Rock 5B for the standalone high performance single board computer category
For the smaller Pi Zero form factor the Radxa Zero makes a lot of sense
I was really looking forward to this review especially as we see development of the CM5 but after reading your review of the Radxa CM3 I can’t but feel disappointed and maybe the fact they chose to ship it in just a box and not a plastic tub was proof enough that they don’t care for the product…? FAIL!!!
I understand that there’s a market for compute modules for commercial and industrial scaled projects but how many do these companies make as judging by the pricing its way too expensive as most times you need to add an adaptor/carrier board only to gain the same functions you would get using an SBC alternative? Then again I’m not really the target audience but I see the potential for using a CM5 in video gaming as the smaller form factor is ideal but if Radxa can’t get the CM3 perfected then what hope do they have with the CM5 and don’t get me started with the other RK3588/S compute modules/system on modules as they’re way over priced and largely unsupported!
I do see Radxa selling the Tac carrier board and E25 carrier board/sbc router that uses the CM3 Industrial RK3568 chip but that market is saturated with Nanopi selling a host of mini sbc/routers and the Linkstar H68K is similarly priced but that’s a whole separate discussion for another day.
Its hard to argue with your points and I agree 100% on adapting microcontrollers into your projects as your recent reviews demonstrate how a simple ESP32 board can power some neat technology such as sensors, cameras and the appeal of open-source means we see hundreds of clone boards fighting to give the best value or performance with newer generation chips offering onboard WiFi 6 /Bluetooth 5 that some newer generation SBCs don’t have.
Thanks again for the honest review and here’s hoping you have better success testing out the next gadget. Cheers from Australia!
Hey Razor Burn,
Thanks so much! I was definitely disappointed as well as I was pretty excited to get my hands on one of these.
I think part of the problem is I’ve been doing so much with ESP32 modules lately which you’ve seen I have had no problem getting modules/components/sensors/everything going very easily even if they were never intended to work with one another.
I hadn’t taken a serious look at compute modules since the SOQuartz long before I started my (serious) microcontroller journey. After diving into the microcontroller world though it’s really easy to see why these never took off. Any niches that would have made sense for this product (other than making a giant compute module cluster) are *gone*. That makes *zero* sense with current microcontrollers.
I mean for one you don’t have to worry about running a whole operating system you have to secure and update. You are only running an application on a microcontroller essentially. I literally cannot imagine trying to ship a device like this as a manufacturer with a Pi CM4 or Radxa CM3 that needs OS updates and configuration to remain secure. Why would you do that when microcontrollers are so good and so powerful now? It’s way better for the end-users using the device as well that the only code running on it is your application basically rather than a whole aging operating system that needs constant security updates.
Single board computers still have their place for sure. I’m just not sure compute modules have their place realistically. I think they were made obsolete by microcontrollers. Even for the people who still need a full quad-core board the Radxa Zero is literally smaller than these compute modules and that’s a quad-core board. It really won’t be long before you start seeing quad-core microcontrollers either. We’re already on dual-core for all of the most popular modern microcontrollers right now and we know more powerful versions are on the way.
I don’t see why you would buy this instead of the Radxa Zero for example. You would have basically exactly the same specs. The specs look very similar between the Radxa Zero and CM3 (they’re both quad-core with varying memory and eMMC options). You also don’t have to deal with any I/O boards and all of the compatibility issues surrounding them. These just don’t really seem to have a place to me.
These were born right around the same time as microcontrollers *really* started taking off and getting more powerful. Microcontrollers won. Handily. They won so much that Raspberry Pi had to enter the market *late* with the Pico / RP2040 to try to catch up. The IoT world would be full of devices powered by these if Raspberry Pi had succeeded / been able to make enough. Instead when you look around today you will instead see microcontrollers everywhere and virtually none of this compute module stuff. The places you see it they are using the Pi CM3 instead of CM4 so even their older form factor seemed to have done better than the one on the CM4 / this Radxa.
I think this is because of how much easier / more pleasant it is to work with ESP32 modules and microcontrollers vs. any of the compute modules including Raspberry Pis as well as just how much cheaper they are. I know you’ve been investigating microcontrollers and are going to be in a great position for the future here.
The Radxa CM3 might have done me a favor by really driving home to me what the problems are with compute modules and how little sense they makes now in 2023 vs. only a few years ago when this looked like the future. When I looked at the compatibility hell world that is compute modules (along with them just being unnecessarily painful to work with by not supporting things like showing up as a drive you can image) and compared that to microcontrollers it made it crystal clear to me that this is a doomed technology (and exactly why). It’s so obvious why microcontrollers won the war and these haven’t really gone anywhere.
I’m honestly so glad that Raspberry Pi didn’t succeed in making compute modules a real standard. I’m so glad they failed to recreate their single board computer ecosystem for compute modules. It’s literally a godsend they were so late to microcontrollers because now we have a market where everything works well with each other and it’s too late for them to stop that. That is despite Raspberry Pi’s best efforts to try to pull the same crap they did with single board computers and compute modules and make them all proprietary and not compatible with each other. They just failed in those markets and we live in a better world now as a result.
To be clear the RP2040 is already successful but it’s because they are trying to compete with Espressif. They are the clones now when it comes to microcontrollers. They are shipping reels of those chips naked to whoever wants them just like Espressif. This is not something they normally do. They normally love to *control everything* and lock everyone else out.
The RP2040 is purely a reaction to the ESP business model. They’re trying to copy it. We already know what Raspberry Pi’s alternative was to microcontrollers and it was compute modules. I’m totally fine with Pi fans buying basically Raspberry Pi’s version of the ESP32 not realizing that the reason the microcontroller market is so much better than single board computers is because Raspberry Pi is not the king of it. It’s because Raspberry Pi failed with their attempt to make a modular technology like this via the compute module that we get to enjoy an ecosystem that isn’t poisoned. Now Raspberry Pi just has to operate like everyone else in the market meaning we don’t have to worry about compatibility nearly to the extent we did with single board computers.
In other words compute modules are the nightmare hell we would have lived in if Raspberry Pi’s idea had worked and they were able to corner the market early like they did with single computers. Fortunately you can pretty much safely ignore them completely at this point. The war was already lost and Raspberry Pi has joined the microcontroller game via RP2040. This compute module technology is not worth it for businesses or consumers. Microcontrollers will be cheaper, better and more secure for both (and much more open/compatible with other microcontroller technologies). In places a microcontroller won’t do the Radxa Zero is smaller than one of these compute modules and is a delight to work with in comparison.
If you think about it the modern microcontroller basically is the evolution of the single board computer. Modern ones provide the CPU, RAM, WiFi capabilities, storage capabilities and everything else that made single board computers and Raspberry Pi so awesome so long ago. Only now it’s even smaller and it’s way more secure without having to run an entire OS. It also uses way less power. Historically they were just never powerful enough to do very much with (just like the original Raspberry Pi vs. a Pi 4 today) but they are now. The software/development tools have evolved quite a bit as well basically eliminating the need for an operating system for the vast majority of cases.
Thanks again for your comment and take care!