- ✓A common building block for new devices based on the familiar Raspberry Pi 4
- ✓Includes all the ports of its larger sibling
- ✓Many different carrier boards
- ✓Built-in eMMC storage (on some devices)
- ✕Needs a carrier board to be useful
- ✕Not suitable for general-purpose computing
- ✕Configuration and setup can be complex
So you've been experimenting with a Raspberry Pi 4, and have come up with a great idea for a piece of Pi-controlled hardware. No-one's done it before and it's going to be something the whole world needs. But how are you going to turn it into a product?
You could just buy thousands of Pi 4s. Or you could sit down with the Raspberry Pi Foundation's chip suppliers and a team of electronic engineers and build your own board completely from scratch. Alternatively, you could take a shortcut and build your product around something purpose-built for product development.
That option is the Raspberry Pi Compute Module 4 (CM4). It has all the key components of a Raspberry Pi 4 on a single, much smaller, board with a set of standard interfaces that plug into a carrier board with all the rest of the components needed to build and run a device. Everything that goes into a full-blown Pi is on the compute module, ready for you to turn your hardware and software into a product.
Getting started with the CM4
To make it easier to get started with a CM4, the Raspberry Pi team has developed a carrier board to help with the next stage of development, exposing all the CM4's IO ports, including a PCIe connector. All you need is a CM4 and a power supply and you're ready to start building. I fitted mine into a specialist case from Waveshare, which gave me access to all the device outputs (and with plenty space to put a HAT inside the case if I wanted) and added a fan for cooling.
I used a generic 12V power supply as the CM4 doesn't use the same USB-C power connectors as the Pi 4. Instead, it takes power from its carrier board, using everything from power-over-Ethernet (PoE) to batteries and beyond.
Our test CM4 came with 8GB of memory and 32GB of onboard eMMC storage, running on a quad-core ARM Cortex-A72 processor. There are 32 different versions of the CM4, with different memory and storage configurations, so you can choose a board that's appropriate for your project. The higher-end CM4s, like our test device, are intended for compute-based projects, controlling storage arrays or acting as IoT hubs for a collection of sensors. You can use the CM4's PCIe interface to add more and faster storage, plugging in a M.2 SSD or similar.
Other connectors on the IO board include two display and two camera connectors, as well as a full set of GPIO pins. There's also Gigabit Ethernet with support for PoE. Wi-fi and Bluetooth antennas are built into the CM4 circuit board, although you may prefer to use an external antenna. One big change between the Pi 4 and the CM4 is the lack of any USB 3.0 ports. These are replaced by the CM4's PCIe port, which can be used for any supported PCIe accessory, including storage, networking, graphics, and USB 3.0 boards. All you need is a Raspberry Pi port of any drivers.
Getting an operating system onto a CM4's eMMC storage isn't as straightforward as plugging in a ready-formatted MicroSD card or a USB SSD (although those options are available if you prefer). You'll need to download and set up a remote boot tool on a PC with the appropriate device drivers before delivering an OS image to the CM4.
It's a good idea to use the IO board to configure your first CM4s, although if you're in production you can deliver a custom OS through a dedicated device programmer. Install the rpiboot tools on a PC and connect the CM4 IO board via a Micro-USB cable. First you need to fit a jumper to disable eMMC boot, and once that's in place, power up the CM4 IO board with a 12V PSU. Run rpiboot to boot the CM4 over a USB cable from your host PC.
SEE: Hiring Kit: Computer Hardware Engineer (TechRepublic Premium)
This will connect the CM4 eMMC as external USB storage. From this point things are very familiar, as you use the Raspberry Pi imaging tools to install an operating system. I installed Raspberry Pi OS, as this would let me put the CM4 through its paces. This took a little while, as it had to load over USB 2.0. Once installed, I then had to edit the device's config.txt to turn on USB 2.0 support. This defaults to off to save power, so copy the configuration details from the CM4 data sheet to turn it on and use your hardware with a mouse and keyboard.
Using the CM4
Once set up, a CM4 is like any other Raspberry Pi 4. It runs the same operating systems, and offers the same tools. That's the big advantage of the CM4: you can take what you've built on with the Raspberry Pi and bring it to new hardware. There's no learning curve for the software or for hardware, as the same GPIO pins are exposed through the CM4's connectors.
Performance is on a par with a standard Raspberry Pi 4. Using the beta ARM build of Geekbench 5.4, single core performance came in at 181, with multi-core at 549. That's slightly slower than our USB 3.0 SSD Pi 4, which makes sense as eMMC is relatively slow (but faster than running from a MicroSD card). There is the option of overclocking in the system config, but we'd recommend fitting a fan before trying it out.
The CM4 isn't only for industrial applications. Third-party boards give the option of building arrays of Raspberry Pis, in not very much space, using a common backplane to connect your devices. One option is hardware like the upcoming Turing Pi 2, offering compact and powerful compute systems built around multiple CM4 modules. A Turing Pi 2 can be used as a Kubernetes system at the network edge, with 32GB of RAM and plenty of SSD-based storage.
By supporting a wide selection of third-party carrier boards, the CM4 is becoming a generic compute element for the IoT world. The familiar Raspberry Pi may be a general-purpose device, but the Compute Module lets you focus on specific tasks, wrapping it in dedicated hardware. Do you want a Pi-hole privacy system as part of your home network? Why not find a networking-focused Compute Module host and use it to build a custom router? Or perhaps put one in a mechanical keyboard to build your custom text editor for when you need to focus on writing?
Treating a computer as an element of compute is a different way of thinking, but one that's perhaps better suited for the world of the Internet of Things and the intelligent edge of a cloud-native world. With the CM4, the Raspberry Pi Foundation is going beyond exploring computing, to helping you find new ways of creating new things from what you've learned.
It's a big step to take, but one that fits in with the heritage of home computing in the UK, following on from what people did after they'd spent their teenage years with Sinclair Spectrums and BBC Micros.
Who knows what Generation Pi will build? There's one thing we can guess, though: they'll be starting with devices like the Compute Module 4.
There are 32 different Compute Module 4 configurations starting at £24/$25 for no on-board storage, 1GB of RAM and no wireless. The top configuration is 8GB RAM, 32GB eMMC and wireless for £85.40/$90.
The separate Raspberry Pi Compute Module 4 IO Board costs £33.30/$35.
RECENT AND RELATED CONTENT
Read more reviews
- ZTE Axon 30 Ultra 5G review: Affordable flagship with advanced triple camera shooting modes
- Apple MacOS Monterey: Hands on with the public beta
- Huawei Mate X2, OnePlus Nord CE 5G, Dell XPS 13 9310, and more: ZDNet's reviews roundup
- Google Pixel Buds A-Series review: Affordable, secure, and optimized for Android
- Motorola Moto G50, hands on: Affordable 5G, with impressive battery life