ArmSoM CM5: Powerful Replacement for Raspberry Pi CM4

ArmSoM's Compute Module 5 is an impactful Rockchip device with impressive hardware specs. And yes, it can support Raspberry Pi IO boards.
Warp Terminal

From the title, you might be thinking: yet another clickbait post. But I mean it when I say this, ArmSoM has truly delivered something special.

ArmSoM, yet again, has sent us their Compute Module 5 (CM5) with its IO board for review. Last time, I tested and reviewed their AIM7 board, and my head was blown by its sheer performance. With an RK3588 SoC, 8GB of RAM, and 32GB of storage, it was a beast.

This time around, we’re looking at the CM5, powered by the RK3576, a slight step down from the RK3588 but still impressive.

It comes with 8 GB of RAM (though a 16 GB version is available) and 64 GB of onboard eMMC storage. On paper, it’s shaping up to be a serious contender in the world of compute modules.

In this review, I’ll walk you through its hardware specifications, software support, benchmarks, AI capabilities, and my personal thoughts.

Let’s dive in!

CM5 Specifications

armsom cm5 front and back view with explanation
Source: ArmSoM

The ArmSoM Compute Module 5 is a compact powerhouse built around the RK3576 SoC, an octa-core processor that’s both fast and efficient.

With support up to 16GB of LPDDR5 RAM and up to 128GB of onboard eMMC storage, it offers twice the memory and storage options of the Raspberry Pi CM4.

What makes it even better? It uses the same 100-pin connector as the CM4, making it compatible with Raspberry Pi IO boards.

Plus, it supports 4K@120fps video output, giving you ultra-smooth visuals for high-resolution displays.

Specification ArmSoM CM5
Processor RK3576 SoC
CPU Architecture Quad-core ARM Cortex-A72 & Quad-core Cortex-A53
GPU ARM Mali G52 MC3 GPU
Memory Up to 16GB LPDDR5
Storage eMMC storage (optional capacities)
Display Output 1x HDMI 2.1, 1x DP
Video Resolution Supports 4K@120fps
Network Interface 1x Gigabit Ethernet port
USB Ports 1x USB3.0,1x USB2.0
GPIO 40-pin GPIO
Expandability 2x PCIe/SATA/USB 3.0 SS
Camera Interface 1x 4-lane MIPI CSI, 1x 2-lane MIPI CSI
Display Interface 1x 4-lane MIPI DSI
Power Input 5V
Dimensions 55mm x 40mm
Operating System Support Debian, Android, Ubuntu, etc.

CM5-IO board Specifications

CM-IO board front and back side view
Source: ArmSoM

The CM5-IO board is designed to make the most of the CM5 module. It features an HDMI output for 4K displays, four USB 3.0 ports for peripherals, and a Gigabit Ethernet port with PoE support.

There’s also an SD Card slot and an M.2 slot for adding fast storage or PCIe devices.

With dual MIPI CSI camera interfaces and a 40-pin GPIO header, it’s perfect for projects that demand flexibility.

It’s compact, functional, and pairs seamlessly with the CM5 module to deliver a complete development platform.

Specifications
1x HDMI output
4x USB 3.0 Type-A
Gigabit Ethernet RJ45 with PoE support
Firmware flashing and device mode via USB Type-C
GPIO: 40-PIN header
Power connector: DC Barrel jack for 12V power input
Expansion: M.2 (M-key, supports PCIe), microSD
MIPI DSI: 1x 4-lane MIPI DSI, supports up to 4K@60fps (x4)
MIPI CSI0: 1x 4-lane MIPI CSI, each lane up to 2.5Gbps
MIPI CSI1: 1x 2-lane MIPI CSI, each lane up to 2.5Gbps
Others: HPOUT, FAN, VRTC
Dimensions: 100 x 80 x 29 mm (3.94 x 3.15 x 1.14 inches)

Unboxing and first impression

The CM5 and its IO board arrived fully assembled, tucked neatly inside a sturdy, no-nonsense package. While the box wasn’t flashy, it did its job well, everything was secure and free of unnecessary fluff.

unboxing armsom cm5
Sorry for the potato looking image quality

The first thing I noticed was the compactness of the CM5 module. It’s small, yet it feels solid in hand, like it means business. Looking closely, you can immediately spot the essentials: the RK3576 SoC sitting at the heart of the module, flanked by the eMMC storage chip and LPDDR5 RAM.

armsom cm5 front view

The layout is efficient and clean, with every component neatly placed. Even the tiny antenna connectors for Bluetooth and WiFi are exposed, ready to connect to external antennas for better wireless performance.

Flipping it over, the 100-pin connector on the back stands out.

armsom cm5 backside view

The CM5 is designed to work seamlessly with Raspberry Pi IO boards, making it an excellent choice for anyone looking to upgrade their Pi-based projects.

armsom cm5 on raspberry pi io board
ArmSoM CM5 supports Raspberry Pi IO board | Source: ArmSoM

The IO board, which came paired with the module, is equally impressive. It’s larger than the CM5 itself but just as well-built.

cm5 io board top view

Ports and connectors are thoughtfully arranged, from the HDMI output and USB 3.0 ports and 40-pin GPIO header.

armsom cm5 io board port side view

and don't forget that this IO board also has an M.2 slot unlike Raspberry Pi 500, which came in news with its unpopulated M.2 slot.

armsom cm5 io board back side view with highlighting m.2 and sd card slot

Setting it up

Getting started with the CM5 was refreshingly simple. The module slid perfectly into the IO board, just look for the markings on the board.

aligning the io board with cm5

And to my surprise, this time I didn't have to rely on other sources, as ArmSoM has provided a great documentation for setup and links to all the OS images.

armsom debian and android downloads page

OS Installation & first boot

If you are coming from Raspberry Pi ecosystem, you might find it difficult to flash OS images into CM5 but during my experience with AIM7, it was an ease for me.

flashing android image in cm5

RKDevTool is required to flash an OS image in Rockchip devices.

rkdevtool android image in progress
Flashing Android 14 image to CM5 using RKDevTool

Debian

The CM5 came pre-installed with ArmSoM’s custom Debian image, which saved me the hassle of flashing an OS right out of the box.

When I powered it on, the board booted into Debian in under 30 seconds, thanks to the onboard eMMC storage.

top look of running debian on cm5

However, there was a small hiccup: the default locale was set to Chinese. While this threw me off for a moment, Google Translate came to the rescue. I’ve covered a detailed guide on how to change locales in Debian.

Once the language barrier was out of the way, everything ran smoothly. The system felt responsive, and the ArmSoM image came with just the right balance of pre-installed utilities to get started without feeling bloated.

Android 14

ArmSoM doesn’t just stop at Debian; they also provide an Android 14 image for the CM5, and I couldn’t resist the idea of running Android on this tiny yet powerful board.

Installing it was straightforward, though slightly different from the usual process. Instead of burning the image to an SD card or eMMC, you need to flash it as firmware using the RKDevTool utility.

The process was smooth, and once the flashing was complete, I rebooted the system.

I was greeted with the Android boot animation, and in no time, the familiar Android home screen appeared. Interestingly, the display was in portrait mode, which felt a bit odd on my monitor but didn’t hinder functionality.

The Android image was barebones - just the essentials, nothing more. I scrolled through the settings, checked out the "About" section, and explored the file manager. It felt snappy and responsive, but that was about it.

One noticeable omission was the absence of the Google Play Store. If you’re keen on having it, you can install it using Open GApps Project.

However, since I was pressed for time, I skipped that step and instead sideloaded Geekbench for Android from APKMirror to get straight to benchmarking.

Performance testing

Now comes the most awaited section, the benchmarks!

It’s one thing to talk about specs on paper, but how does the CM5 actually perform in real-world tests? To keep things simple, here’s what I tested:

  • Geekbench Performance: Evaluating CPU and overall system power.
  • AI Capabilities: Testing the NPU for AI-related workloads.
  • YouTube Playback: Checking video performance and hardware acceleration.
📋
The Geekbench test was conducted using the Geekbench Android app. For AI testing, I used the pre-installed Debian image. YouTube performance was tested in the Chromium browser inside Debian as well, with hardware acceleration enabled.

Geekbench results

The Geekbench results gave us a good glimpse of the CM5's raw power. With a Single-Core Score of 321 and a Multi-Core Score of 1261, the CM5 delivers solid performance.

both single and multi core benchmark

The single-core score of 321 might seem modest, but it’s adequate for basic tasks like file compression (54.9 MB/sec) and lightweight navigation (2.34 routes/sec).

single core bench mark of rk3576

If you’re planning to use the CM5 for simple applications, like hosting a lightweight server or running scripts, this score is sufficient.

However, for tasks that demand high single-threaded performance like intensive image processing or compiling large programs, you might notice some lag.

multi core benchmark of rk3576

The multi-core score of 1261 is where the RK3576 shines. This score reflects the strength of its eight cores working together, making it ideal for multitasking and workloads that can leverage parallel processing.

AI workload

The CM5’s 6 TOPS NPU is designed to handle AI inference efficiently, just like its big sibling, the AIM7.

It supports RKNN-LLM, a toolkit that enables deploying lightweight language models on Rockchip hardware with optimized performance.

rkllm toolkit framework
Source: RKNN-LLM

To test its capabilities, I ran the TinyLLAMA model with 1.1 billion parameters, and the results were consistent with the AIM7.

The NPU achieved a throughput of 13 or 14 tokens /second , showcasing its ability to handle lightweight AI workloads with ease.

running tinyllama using rkllm toolkit

With NPU handling AI tasks, the GPU stays free for other workloads. This makes CM5 ideal for edge AI projects where efficient resource use is key.

YouTube playback

YouTube playback is my favorite test for any SBC because it’s where many boards, including the Raspberry Pi (even the Pi 5), still stumble.

Playing 1080p consistently is a challenge for most, and 4K? Forget about it. But the CM5 completely shattered my expectations.

Running Chromium on Debian with hardware acceleration enabled, I tested videos at 1080p, 1440p, and 4K. The CM5 didn’t just handle it, it crushed it.

Even at 4K resolution, the playback was smooth, with less than 10 dropped frames throughout the video. That’s right, 4K on an SBC, and it worked beautifully.

What’s more impressive is how efficiently it handled the load. Thanks to hardware decoding, CPU usage stayed low, leaving the board cool and responsive.

I even recorded a video of the CM5 playing a 4K YouTube video to showcase its capabilities.

If you’re considering the CM5 for a media server or as a replacement for your Android TV box, this performance makes it an easy choice. It’s rare to see this level of multimedia smoothness on an SBC, and the CM5 delivers it effortlessly.

What about Raspberry Pi CM5?

I don't want to sugarcoat it, the Raspberry Pi CM5 outperforms the ArmSoM CM5 in raw processing power, and the benchmarks make that crystal clear.

comparing raspberry pi cm5 with armsom cm5 geekbench results

In single-core performance, the Raspberry Pi CM5 delivers a stellar 804 compared to the ArmSoM CM5’s modest 321. That’s a difference of 39.9%, and it’s noticeable in tasks that rely on single-threaded performance, like browsing, lightweight applications, or running certain server processes.

The gap widens further in multi-core performance, where the Pi CM5 scores an impressive 1651, leaving the ArmSoM CM5 trailing at 1261 a 76.4% lead that makes the Pi CM5 the clear choice for CPU-intensive tasks.

That said, the ArmSoM CM5 isn’t trying to play the same game. It’s built with a different focus, and its strengths lie elsewhere.

The 6 TOPS NPU on the ArmSoM CM5 is a game-changer for AI workloads, allowing it to handle tasks like language models or image recognition with ease, something the Raspberry Pi CM5 lacks entirely.

Final thoughts

After spending time with the ArmSoM CM5, it’s clear that this little board has carved out its niche.

It may not outshine the Raspberry Pi CM5 in raw CPU benchmarks, but it brings its own strengths to the table.

The built-in NPU, seamless 4K playback, and thoughtful design make it a compelling choice for AI-driven edge projects, media servers, or even as a replacement for an Android TV box.

What impressed me most was its support for Raspberry Pi IO boards.

I feel that, the ArmSoM CM5 isn’t trying to be a Raspberry Pi killer. Instead, it’s a specialist board that excels in areas where the Pi falters.

As I wrap up this review, I'm also thinking about running some emulators on the CM5 to dive deeper into its GPU performance and for the fun of it.

Recently, many retro game emulation videos have been popping up in my feed, and they’re tempting me to dip my toes in.

If you want to see that, let me know in the comments section! 🕹️

About the author
Abhishek Kumar

Abhishek Kumar

I'm definitely not a nerd, perhaps a geek who likes to tinker around with whatever tech I get my hands on. Figuring things out on my own gives me joy. BTW, I don't use Arch.

Become a Better Linux User

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world

itsfoss happy penguin

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.