So you want to make a Raspberry Pi killer...

Raspberry Pi CM4 Clones stacked up

I'm in the unique position of owning a collection of Raspberry Pi Compute Modules 4 (CM4).

I also own at least one of every production CM4 clone in existence.

This sets up a quandary: if I have the real thing, what motivation do I have to care about the clones?

There are hundreds of CM4 carrier boards that do everything from restoring retro game consoles to monitoring remote oil rigs in highly-explosive environments.

Since launch, the CM4 has been difficult—and since early 2021, impossible—to acquire. The supply constraints are well documented, and I'm sure a few comments will lament the situation. But the CM4 is trickling back to 'in stock' at many suppliers (about how the Pi 4 was a couple months ago).

This lines up with the timeline Eben Upton gave when I interviewed him in May.

But because of the lengthy shortage, other companies built their own CM4-compatible SoMs (System-on-Modules). For many, those clones were the only way to participate in the SoM revolution brought about by the CM4.

So I've been testing them, methodically. All my results are posted on my sbc-reviews GitHub repo. In many of the linked issues, other SBC (Single Board Computer) users offered valuable insights regarding performance, design, and stability.

But I haven't given a broad overview in one cohesive piece, so I posted a video where I do just that:

In this blog post, however, I take a different tack: after experimenting with dozens of Pi 4 and CM4 clones, what would it take to make a true Raspberry Pi killer?

For every commenter who says "Raspberry Pi abandoned the maker community during the shortage, I'll never buy one again," there are a thousand Pi sales to other makers. What would it take to turn that on its head?

What would an SBC maker need to do to truly unseat the Raspberry Pi from the throne?

Hardware

This is deceptively easy. Build hardware that's better (faster, more efficient, and more feature-packed) than what's on the Raspberry Pi. It's been done, many times over.

The Pi's hardware shortcomings are well-known—and often highlighted by alternative SBC advocates:

  • The locked-down proprietary Broadcom firmware
  • The quirky VideoCore GPU-based boot process (see first point)
  • The slower-than-Rockchip-flagship 4-core Broadcom CPUs
  • The dearth of hardware encoders and decoders
  • The lack of AI coprocessors (no built-in NPU)
  • The integrated Broadcom WiFi with it's notoriously annoying drivers
  • (For Pi 5, not CM4) The decision to recommend an oddball 5V 5A power supply
  • Only one lane of PCIe Gen 2 for high-speed expansion
  • (Except Pi 5) no built-in RTC, and no onboard M.2 expansion slot

There's also only one RAM chip on a Pi, so you could gap the Pi on memory bandwidth, using two RAM chips like the Rock 5 B does.

But the devil's in the details. It's really peripherals where Raspberry Pi hardware shines. Even through multiple BCM generations, and a transition to a custom RP1 chip, most interfaces on the Pi just work, whether that's GPIO, I2C, SPI, USB, Ethernet, Bluetooth, MIPI CSI/DSI, UART, or whatever.

There are small exceptions, but hardware interfaces that have good drivers, well-known quirks, and thorough documentation—that might just be Raspberry Pi's greatest hardware moat.

And despite the quirky GPU, the Raspberry Pi will output a picture on nearly anything you plug it into, even older DVI monitors, CRTs, and other oddball displays.

So on the hardware front: beat Raspberry Pi in speed, efficiency, and features. But focus on a long-term strategy of consistency in hardware interaction. Sometimes that means devoting hard engineering hours to patching things in Linux, or rewriting drivers. And that brings me to...

Software (specifically, Linux)

Raspberry Pi devotes engineering resources to Linux kernel development. They have device trees (detailed descriptions of their hardware so Linux can support it) ready to go even during alpha testing of the boards. Some SBC makers don't have complete, working device trees even months after public launch!

They maintain multiple forked versions of the Linux kernel, and track upstream development. When the Pi 5 launched, Pi OS was already running the 6.1.x LTS kernel. The 6.6.x LTS—which was just announced—is already being explored in Raspberry Pi's fork.

Raspberry Pi has a first party OS that's actually good, and they devote a ton of time and effort into making their hardware run with the latest Linux kernel versions.

Many alternative SBCs run older kernels like 5.10 (or in one case, ancient 4.19!), and that can cause it's own problems. SBC makers don't take full ownership of their OS, or don't have the resources to maintain a broad set of compatibility, so they lean on community distributions like Armbian to do the work for them.

In some cases, a decent Android release may be given, and maybe an old, unmaintained Linux image, and that's it. Crickets on follow-up releases even as the board is still sold brand new at retailers!

Armbian is amazing, and is a lifeline for many of these boards. But to beat the Raspberry Pi, community distros are not enough. (Though I am happy to see many manufacturers directly support the distro.)

The other main software problem that must be matched or beat is drivers and third-party compatibility. Raspberry Pi has momentum due to their existing base, but their engineers go out of their way to enable third party accessories even when the third party manufacturers abandon support. That's customer-centric software support!

It is hard to match the level of active Linux involvement Raspberry Pi maintains at this point, especially for smaller, hardware-focused companies. (Some do a worthy job of upstreaming things into 'mainline' Linux, though that is a very lengthy process!)

One area where you could sidestep Raspberry Pi's advantages is in standardization, especially around boot and platform enablement.

Build an SBC with full UEFI/u-boot/SystemReady certification, without some of the quirks of the Pi's boot sequence. Leverage chipmakers to better support Linux, and work together with them to make all their hardware interfaces work reliably.

And hire great technical writers. Even if the primary language is not English, work on having good translations in the markets where you want to compete. Raspberry Pi's documentation sometimes takes a little time to be fully fleshed out after a new board release—but it is a joy to work with, and extremely thorough, compared to most SBC docs I've read.

Having useful illustrations where needed is also helpful—not just block diagrams and image captures from your SoC vendor's documentation!

Community

There's no magic here. And the Raspberry Pi community isn't perfect—spend some time on the official forums and you'll be greeted by snippy responses from time to time.

But at least you will get a response. Many other SBC makers toss up a Discourse instance, and a few pesky users will register and post a question... then crickets.

The few SBC makers who have a decent community tend to focus more on Discord and other real-time resources rather than Forums and thorough Wikis/Docsites.

The trouble is, Discord is ephemeral, and utterly useless for stored knowledge. Discourse forums are actually quite nice (I much prefer them to the ancient phpbb style of the Pi Forums!), but useless without first-party presence.

Having engineers (and ideally a moderator or two who gets community a bit better than the average engineer) browse the forum and respond here and there is a huge shot in the arm, and brings people back to the forum as a first-rate first-party resource.

It is hard to offer that level of support, but it is necessary if you want to target Raspberry Pi. It can turn an interested first-time user into a lifelong devotee, just through assisting them with some small issue they had the courage to post in your official forum!

Price

But we get to the last thing in this list (I could write more... but I think there's enough already), and I know some people are already yelling "BUT JEFF, a Pi costs like $200!"

Alternatively, someone will mention "You can't get a fully functional Pi with power supply, etc. for less than $100 MSRP!"

But here's the rub: the Raspberry Pi (if you consider the entire lineup, including the Zero 2W, Pi 4, Pi 5, etc.), has a model at almost any sub-$100 price point, and for a huge quantity of use cases and users, you don't need to outfit the Pi with a whole assortment of accessories.

It's not 2021-early 2023 anymore. You can buy a Pi 4 at list MSRP almost anywhere (even in retail stores—my local Micro Center has over 100 boards in stock right now).

Pi 5 stock comes and goes, so check rpilocator.com—and don't ever buy a Pi from an unauthorized reseller.

But in terms of price to performance,—assuming you buy at MSRP—the Pi compares favorably to any of it's competition. Some of the boards that crush it in performance... have truly eye-watering prices, north of $150!

It's not like a Porsche or Lamborghini, where you're paying a bit more for the name. Raspberry Pi hardware is actually a good value (again, assuming MSRP), compared to other SBCs—if you need an SBC.

If your needs are better served with a Tiny PC, by all means go that route—I'm just talking SBCs.

If you can undercut the Pi on price, match its software support, and exceed it in performance and features, you can kill the Raspberry Pi.

I still have not seen that happen (outside of particular niche use cases).

Despite the naysayers, I still spend much of my hobby computing time with Raspberry Pis because they work, they're supported, and... well, finally they can be bought again.

Comments

Digikey had like 250 pieces of Pi 5 in stock, a week ago. But rpilocator did NOT show DigiKey as having any stock - it was just sheer luck that I checked Digikey and ordered the Pi5 case, power supply, an 8GB Pi5 and the Pi5 active cooler. So by all means, use rpilocator - but don't just rely on it blindly. Always check stock yourself

As for CM4 I am seeing DigiKey, Adafruit and others get regular stock of CM4 boards. I can finally complete my HomeAssistant Yellow project !

Yes! Good point, rpilocator is not always 100% accurate. Plus many stores are not on it—for example today there are over 50 Pi 4 in stock at my local Micro Center, but they are not tracked on rpilocator :)

I think your point about Armbian is strong. If there was a culture of SBC hardware companies contributing development effort to their boards on Armbian, Driving users to https://forum.armbian.com/ and then supporting them there then collectively the support offer and codebase would improve.

Why no mention of the CM4's Hirose connectors that violate Hirose's own usage mechanisms given the uber strict tolerance when using two of them in parallel? Below are Hirose's own words (Hirose's DF40 series Guidline document - ETAD-H1015-00, Page 5)

1.1.4 When using two sets connectors
When using two sets of connectors on one board receptacle and plug, the following mounting
accuracy is required.

(A diagram is given where X +/- 0 and Y +/- 0.01mm)

As mentioned above, very tight tolerances are required.
It is impossible to satisfy this tolerance in consideration of the board and mounting accuracy.
Therefore, please avoid the use of more than one set of connector receptacle and plug on single
board. When using two sets or more of connectors, please use the divided board for the one side.

Hand placing and soldering is extremely challenging, as there is an overhand that prevents direct access to the SMT pins. I had 10 test boards assembled at a professional assembly house and 8 of 10 were usable. The remaining two had misalignment issues. Solder Paste reflow for tight alignment is risky at best. To me this is a major issue and prevents me from designing and using the CM4... which is too bad, as the device is quite impressive.

There are literally millions of CM4 boards in the wild, the majority of them being used in critical applications. If the connectors didn't work, there would be anecdotal evidence that they are a problem.

I know early on many people were shouting at Raspberry Pi about the use of two Hi-Rose connectors, and if you hand-solder them, alignment is a little tricky (but eminently doable—I've had one prototype board of dozens ever have an alignment issue). But Raspberry Pi aren't the only ones who've done more than one connector on a single PCB, though they're probably one of the most prominent/public to have paved that path with the CM4 footprint.