This article appeared in Electronic Design and has been published here with permission.
The Raspberry Pi CM4 compute module (Fig. 1) could be one of the most significant announcements this year for the maker space. The new module deviates from the edge-connector approach of the earlier Raspberry Pi compute modules. Though this makes the CM4 incompatible with previous carrier boards, fear not, there’s a horde awaiting the pent-up demand for this new module.
The CM4 sports a pair of 100-pin connectors on the read (Fig. 2). The biggest change is elimination of the USB 3 interface that was included in the Raspberry Pi 4. There is a USB 2 interface, but if you need a USB 3 interface, then a PCI Express-based USB 3 interface must be added to the mix.
The x1 PCI Express (PCIe) Gen 2 interface is the more interesting addition, or rather exposer, as it opens the platform up to significant expansion. The addition of a PCI Express switch would allow a carrier board to implement any number of high-speed interfaces. The limitation of Gen 2 or x1 isn’t that significant, as the performance of the host is the limiting factor rather than the size of the pipe.
The PCIe interface can be used to add the USB 3 support back. However, it also opens up the use of NVMe storage as well as access to any number of PCIe-based peripherals like additional Ethernet interfaces.
The CM4 comes in a number of versions, starting with one at $25 that skip things like Wi-Fi 802.11b/g/n/ac and Bluetooth 5.0 support. All versions include the Broadcom BCM2711, which is a 1.5-GHz, 64-bit, quad-core Arm Cortex-A72 processor. Memory and storage are the other factors that change up to 8 GB of LPDDR4-3200 DRAM and 34 GB of eMMC flash memory.
Inclusion of a CSI-2 camera interface plus dual HDMI interfaces make this an interesting platform for digital-signage applications. The H.265 supports 4K60 decode and the H.264 support handles 1080p60 decode and 1080p30 encode. There are dual DSI MIPI serial display interfaces as well.
Wireless support includes a switch selectable on-module antenna. It comes in handy for very small systems that may not need the range provided by an external antenna.
Most of the pins on the two headers are for GPIO, along with the usual smattering of I2C, SDIO/eMMC, and analog found on the usual Raspberry Pi header.
Use of two low-profile connectors is a good starting point. With its four mounting holes, the module can be locked down tight, which is critical for rugged applications. Prior versions weren’t as rugged. The module design is also more amenable to cooling, although the chips can be used with no heatsink at all depending on the application.
The compact size is also a benefit in embedded applications. The 55- × 40-mm module can easily be mounted atop a small stack of boards or a small carrier board for a very compact design. I wouldn’t be surprised to see a carrier board with one or more M.2 connectors on the flip side, providing high-speed interfaces and storage.
CM4 Carrier Boards
Various carrier boards are already on the market for the CM4, but the standard CM4IO Board is typical (Fig. 3). It exposes all of the interfaces via connectors and even includes a Raspberry Pi HAT connector. This makes it possible to link the module to the plethora of Raspberry Pi expansion modules that have fomented the platform’s popularity. It even has a x1 PCI Express connector.
All CAD files are readily available in case you want to design your own carrier board. Keep in mind that this can be a bit more challenging than in the past due to the high-speed interfaces, although some existed on earlier compute modules as well. There are 90- and 100-Ω differential pairs on the connectors.
Overall, system design is relatively straightforward. The system requires only 3.3-and 12-V power. The Ethernet has power-over-Ethernet (PoE) protection, but not the support that will normally be found on the carrier board.
I did want to mention the Gumstix Raspberry Pi CM4 + Pixhawk FMUv6 board (Fig. 4). This is a Pixhawk-compatible flight-management-unit (FMU) platform that runs a number of FMU software frameworks like PX4. A similar platform is used for NXP Semiconductors’ Hovergames. The FMU can operate in a standalone mode, but it’s often paired with a host processor, in this case the CM4.
The Gumstix carrier board is based on an STmicroelectronics’ STM32F7 microcontroller. It features a 3D accelerometer and magnetic sensor, camera connectors for the CM4, a CAN transceiver, a MicroSD card slot, 32 KB of FRAM, and USB connectors.
The Gumstix board was designed using its web-based Geppetto design tool and service. Boards can be built using this tool with fully populated hardware delivered within weeks. There’s normally a $1999 setup fee, but that’s being eliminated for CM4-based boards through the end of 2020.