Different Shapes / Sizes / Features of Compute Module 4 Boards

Waveshare PoE CM4 IO Board - Standalone
Waveshare PoE CM4 IO Board – Standalone

One of my favorite things about the Raspberry Pi Compute Module 4 is that you basically get to choose your own IO board that the Compute Module 4 plugs into.

For illustration purposes imagine that the IO board is the “motherboard” and the Compute Module 4 is the CPU that you plug into the CPU socket. That’s essentially the relationship between the two!

They come in all shapes and sizes. Some of them even have PCIe and I’ve covered before how to take advantage of true NVMe on the CM4. Today I wanted to show you some of the different IO boards for the Compute Module 4 I have and what features / traits led me to want to try them. Let’s get started!

#1 – The official Raspberry Pi Compute Module IO Board

Raspberry Pi Compute Module 4 mounted in IO Board
Raspberry Pi Compute Module 4 – IO Board

This is essentially the “motherboard” of the compute module. This IO breakout board lets us work with the compute module and get the ports we need to interface with it. This includes a SD card slot for models that don’t have eMMC, a PCI express slot (very exciting), 2 USB ports and more.

Links: AliExpress*, Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*

Raspberry Pi Compute Module 4 mounted in IO Board
Raspberry Pi Compute Module 4 mounted in IO Board

Let’s start with the official reference board for the Compute Module 4. This is already a fantastic board that everyone should have because it comes with the PCIe 1x slot that I used to do my actual NVMe using the Pi testing.

It’s pretty fully loaded but there is one notable exception: the USB ports on the reference board are USB 2.0. This may come as a surprise to people coming from the Pi 4 where USB 3.0 has been the standard for something like 4-5 years on that board. Yes, this board is not perfect if you are going to be using a lot of fast USB devices.

Fortunately with the PCIe slot if you use that for your storage (and you should because it’s so blazing fast) then most accessories will be perfectly fine over USB 2.0. You can also use the SD slot as there is one on the reference board. The reference board is for sure a winner and worth having.

#2 – Waveshare PoE IO Board / Ventilated Case

Waveshare PoE Compute Module 4 Enclosure
Waveshare PoE Compute Module 4 Enclosure

The “Rolls Royce” of Compute Module 4 enclosures containing USB 3.2 Gen2 ports, PoE capabilities allowing you to ditch the power cable and powered ventilation to keep the Compute Module 4 cool!

Links: AliExpress (Waveshare official)*, Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*

Waveshare PoE Compute Module 4 Enclosure
Waveshare PoE Compute Module 4 Enclosure

This is basically my “Rolls Royce” Compute Module 4 setup. I have a few different CM4 boards but I have one that was very hard to get that is very fully loaded having the WiFi + the eMMC + 8GB RAM. I love these setups because they turn out so clean. There’s not even a power cable as the power comes completely through the Ethernet cable and powers the Pi and all accessories.

Let’s talk about the main advantage first which is Power over Ethernet (PoE). This allows you to power the entire Pi with a PoE port or a PoE injector through the ethernet cable! Not only that though, this case actually has powered ventilation (all over PoE)! That’s one of the reasons I keep my nicest CM4 module in here to make sure it stays nice and cool and lives a long life as I don’t even want to know what a fully loaded CM4 costs during the Pi shortage.

It gets better. If you look closely at the USB ports in the picture above you will see they are blue! They are actually USB 3.2 Gen1 ports. Here’s the inside:

Waveshare PoE CM4 Enclosure Opened
Waveshare PoE CM4 Enclosure Opened

Here you can see that the fan plugs directly into the IO board and receives it’s power from there.

#3 – Waveshare PoE IO Board (standalone)

Waveshare PoE CM4 IO Board - Standalone
Waveshare PoE CM4 IO Board – Standalone

This is the standalone version of the Waveshare Compute Module 4 PoE board containing USB 3.2 Gen2 ports, PoE capabilities allowing you to ditch the power cable and powered ventilation to keep the Compute Module 4 cool!

Links: AliExpress (Waveshare official)*, Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*

If you still need PoE or some of the other features of the Waveshare PoE board (such as USB 3.2 Gen1) you can get the board standalone and I have one of these standalone as well.

Waveshare PoE CM4 IO Board - Standalone
Waveshare PoE CM4 IO Board – Standalone

#4 – Waveshare M.2 IO Board (Small Form Factor)

Waveshare Small Form Factor CM4 IO Board
Waveshare Small Form Factor CM4 IO Board

Small board that packs a punch including a real M.2 slot as well as CSI/DSI/FAN/HDMI/USB/RJ45 Gigabit Ethernet/Micro SD Slot

Links: AliExpress (Waveshare official)*, Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*

Now let’s look at an interesting smaller form factor board. You should immediately recognize this form factor:

Waveshare Small Form Factor CM4 IO Board
Waveshare Small Form Factor CM4 IO Board

It looks like a regular Raspberry Pi! That’s one of the ideas with this size of board and there are lots of other ones available in this form factor with various features.

This one is actually packing quite a surprise. Take a look at this:

Waveshare Small Form Factor Board - M.2 Slot
Waveshare Small Form Factor Board – M.2 Slot

Oh yeah, that is absolutely a M.2 port! It’s meant for shorter drives but I stuck a full size M.2 NVMe drive in there to give you a sense of scale:

Waveshare M.2 Board w/ full size M.2 NVMe drive
Waveshare M.2 Board w/ full size M.2 NVMe drive

I can’t mount this one in the mounting slots so you’d want to use a shorter M.2 drive (2242 or 2230 have mountpoints you can see in the picture without the drive in it) with this board.

Will it still work with a full size 2280 drive? Yes, I actually tested it with a full size drive and it will still work. My benchmark from this test is here on Pi Benchmarks. Since it isn’t mounted to the board though the slightest bump can knock the M.2 drive out so I highly recommend using a proper size module. It can do it though for testing / in a pinch.

One thing to note is that this board does have USB 2.0 ports. That means that you want to actually be using the M.2 slot (or the micro SD slot) for your storage. You wouldn’t want to use a USB to SATA/NVMe adapter with this board given the USB 2.0 ports.

This is actually the least expensive board on the list and is relatively cheap.

Conclusion

IO boards are available with all shapes, sizes and functions. It’s my favorite part about the Compute Module and the Compute Module 4 in particular with it’s enhanced capabilities. NVMe, PCIe, all of these are possible through IO boards! You can probably find a IO board that will do what you want if you search for it.

This has led to a performance breakthrough on pibenchmarks.com which is my Pi Benchmarking site. Raspberry Pi 4’s are limited by the USB 3.0 bus that is included with the Pi 4. The Compute Module 4 is able to blow it away performance wise since you’re able to bypass the USB 3.0 bus and either use a faster bus via something like the Waveshare board or bypass USB altogether!

Other Resources

If you’re just getting started with the CM4 check out my full Compute Module 4 guide here

To see me using a PCIe 1x adapter to achieve NVMe using the CM4 check out my guide here

For an explanation of the new Pico board check out my Pico W Explained article

Leave a Comment

Your email address will not be published. Required fields are marked *

Type here..

Exit mobile version