#raspberry-pi #cm5 #carrier-board #nvme #homelab # Overview Buying guide for Raspberry Pi Compute Module 5 (CM5) carrier / IO boards, with a focus on M.2 NVMe support. Written around the specific module being considered: **CM5002000** — 2GB RAM, **no wireless**, **no eMMC (Lite)**. Two consequences drive every decision below: - **Lite = no onboard storage.** The carrier must supply boot media. microSD works to bootstrap, but NVMe is the real target. - **No wireless variant = no onboard WiFi/BT at all.** Plan on wired Ethernet, or budget a USB dongle. The CM4/CM5 antenna kit is irrelevant on this SKU. # Design ## PCIe constraints (applies to every board below) - CM5 exposes a **single PCIe x1 lane**, same as Raspberry Pi 5. - Defaults to **Gen 2** (~450 MB/s real-world). - **Gen 3** (~900 MB/s) is available but officially unsupported — add `dtparam=pciex1_gen=3` to `/boot/firmware/config.txt`. - Multi-slot boards (e.g. Geekworm X1502) put a PCIe switch behind that one lane. Those are a **capacity** play, not a bandwidth play — four drives still share ~450 MB/s. ## M.2 physical sizes Not all boards take a full 2280 stick. Check before buying a drive: | Board family | M.2 sizes | |---|---| | Official CM5 IO Board | 2230 / 2242 / 2260 / 2280 | | Waveshare CM5-IO-BASE-A/B | 2230 / 2242 / 2260 / 2280 | | Waveshare Mini Base Board (Pi 5 footprint) | 2230 / 2242 only | | Seeed CM5 MINIMA | 2242 only | | Pineboards Modulo5 IO PoE+ | 2280 | # Resources ## Board options | Board | Price | NVMe | Notes | |---|---|---|---| | [Official RPi CM5 IO Board](https://www.raspberrypi.com/products/compute-module-5-io-board/) | ~$20 | M.2 M-key, 2230–2280 | 160×90mm. microSD slot for Lite, 2×full-size HDMI, 2×USB3, GbE + PoE+ HAT+, RTC socket, power button, fan header. In production until at least 2036 | | [Waveshare CM5-IO-BASE-B](https://www.waveshare.com/cm5-io-base-b.htm) | ~$24 | M.2 M-key | Credit-card sized. 2×USB3.2 Gen1 + 2×USB2, dual HDMI, RTC, microSD, 40-pin, onboard EEPROM + ATSHA204 crypto chip | | [Waveshare CM5-IO-BASE-A](https://www.waveshare.com/cm5-io-base-a.htm) | ~$22 | M.2 M-key | Same idea as B, without the EEPROM/crypto chip | | [Seeed CM5 MINIMA](https://www.seeedstudio.com/CM5-MINIMA-p-6485.html) | ~$65 | M.2 2242 | 61×61mm — exactly CM5-sized. Open source. USB-C PD, GbE, HDMI, CSI/DSI. Takes a Hailo AI module instead of an SSD if wanted | | [Geekworm X1502](https://geekworm.com/products/x1502) | ~$60+ | **4× M.2** | 1GbE + 2.5GbE. Up to 4×4TB. All four share the single Gen2 lane | | [Pineboards Modulo5 IO PoE+](https://pineboards.io/products/modulo5-io-poe) | ~€47 | M.2 2280 | Official IO board layout + UK-made PoE+ (25W continuous / 30W peak) | | [Pineboards Modulo5 Basic](https://pineboards.io/products/modulo5-basic) | ~€35 | via PCIe HAT | Turns CM5 into a **Pi 5 form-factor board** with a PCIe FFC connector — NVMe comes from a HAT, not onboard | | [Waveshare CM5-PoE-BASE-A](https://www.waveshare.com/cm5-poe-base-a.htm) | ~$38 | M.2 2230–2280 | 802.3af/at PoE, dual HDMI, USB 3.2, microSD | | [Waveshare CM5-DUAL-ETH-BASE](https://www.waveshare.com/cm5-dual-eth-base.htm) | ~$55 | M.2 M-key | 1GbE + 2.5GbE, dual 4K HDMI, dual MIPI, 40-pin. Router/firewall candidate | | [Waveshare CM5-DUAL-ETH-4G/5G-BASE](https://www.waveshare.com/cm5-dual-eth-4g-5g-base.htm) | ~$70 | M.2 SSD + M.2 WWAN | Adds a second M.2 for a 4G/5G modem | ## The module itself - [Seeed — CM5002000 (2GB / no wireless / Lite)](https://www.seeedstudio.com/Raspberry-Pi-Compute-Module-CM5002000-p-6271.html) — ~$34 - [Seeed — CM5 IO Board](https://www.seeedstudio.com/Raspberry-Pi-Compute-Module-5-IO-Board-p-6303.html) — $20, bundled as an add-on on the module page - [Seeed — CM5 IO Case](https://www.seeedstudio.com/Raspberry-Pi-Compute-Module-5-IO-Case-p-6302.html) — $15 - [Seeed — CM5 Passive Cooler](https://www.seeedstudio.com/Raspberry-Pi-Compute-Module-5-Passive-Cooler-p-6312.html) — $5 ## US / UK resellers - [PiShop US — Waveshare Mini Base Board (A)](https://www.pishop.us/product/mini-base-board-a-for-raspberry-pi-compute-module-5/) - [PiShop US — Waveshare Mini Base Board (B)](https://www.pishop.us/product/mini-base-board-b-designed-for-raspberry-pi-cm5-onboard-eeprom-encryption-chip/) - [The Pi Hut — Mini Base Board (B) for CM5](https://thepihut.com/products/mini-base-board-b-for-cm5) ## Documentation - [CM5 IO Board datasheet (PDF)](https://datasheets.raspberrypi.com/cm5/cm5io-datasheet.pdf) - [CM5 IO Board product brief (PDF)](https://datasheets.raspberrypi.com/cm5/cm5io-product-brief.pdf) - [CM5 module datasheet (PDF)](https://datasheets.raspberrypi.com/cm5/cm5-datasheet.pdf) - [Waveshare CM5-IO-BASE-B wiki](https://www.waveshare.com/wiki/CM5-IO-BASE-B) — best step-by-step for NVMe partition/mount/boot - [RPi Compute Module hardware docs](https://www.raspberrypi.com/documentation/computers/compute-module.html) - [Raspberry Pi PCIe Database — CM5 boards](https://pipci.jeffgeerling.com/boards_cm/) - [Bootloader BOOT_ORDER reference](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-bootloader-configuration) # Decisions - **Default pick: official CM5 IO Board.** $20, best documented, guaranteed production through 2036, full-size M.2 up to 2280, microSD for Lite bootstrapping. Hard to justify anything else for a first build. - **If space matters: Waveshare CM5-IO-BASE-B** at ~$24 — credit-card footprint with the same NVMe capability plus RTC. - **If Pi 5 accessory compatibility matters:** Pineboards Modulo5 Basic gives the Pi 5 footprint and PCIe HAT connector, but NVMe then costs an extra HAT. The Waveshare Mini Base boards keep NVMe onboard but cap at 2242. - **Skip the multi-slot boards** unless the goal is raw capacity — they don't add bandwidth. - **PoE variants** only earn their premium if the deployment location has no convenient power. # Configuration ## Enable PCIe / NVMe ```bash sudo nano /boot/firmware/config.txt ``` ```ini # Enable the PCIe x1 lane (some carriers need this explicitly) dtparam=pciex1 # Optional: force Gen 3 (~900 MB/s). Unofficial but generally stable. dtparam=pciex1_gen=3 ``` Reboot, then confirm the drive appears: ```bash lsblk sudo fdisk -l ``` ## Boot from NVMe on a Lite module 1. Boot from microSD first and verify the SSD is detected. 2. Flash Raspberry Pi OS to the NVMe (Imager, or `dd` from the running system). 3. Set the boot order — either via `sudo raspi-config` → Boot Options, or directly: ```bash sudo rpi-eeprom-config --edit # change BOOT_ORDER=0xf41 to BOOT_ORDER=0xf416 ``` 4. Reboot, then pull the microSD card. ## Notes - CM5 requires Raspberry Pi OS **Bookworm 2024-11-19 or later**. Older images will not boot. - Waveshare boards limit total USB output to **2A** across all ports. # TODO - ==Decide between official CM5 IO Board (full-size, 2280) and CM5-IO-BASE-B (compact, RTC) — depends on whether this ends up rack-mounted or on a shelf== - ==Confirm which NVMe drive to pair — 2242 vs 2280 decision is locked in by the board choice== - ==2GB RAM is the low end; verify it's enough for the intended workload before ordering== - ==No onboard WiFi on this SKU — confirm wired Ethernet is available at the deployment location== - ==pipci lists a "Waveshare CM5 Base A/B" in Pi model B footprint that doesn't appear under that name in Waveshare's own catalog. Likely the same product as the "Mini Base Board" listings at PiShop/Pi Hut — verify before ordering== # References - [Raspberry Pi PCIe Database (geerlingguy)](https://pipci.jeffgeerling.com/) - [CNX Software — CM5 PoE carrier boards](https://www.cnx-software.com/2024/12/17/raspberry-pi-cm5-gets-carrier-boards-poe-poe-plus/) - [CNX Software — CM5 MINIMA](https://www.cnx-software.com/2025/07/31/cm5-minima-raspberry-pi-cm5-carrier-board-features-m-2-2230-2242-socket-for-hailo-ai-accelerator-or-nvme-ssd/) - [Pineboards — Introducing the Modulo series](https://pineboards.io/blogs/news/introducing-the-modulo-series-our-compute-module-carrier-boards) - [Electromaker — Which CM5 variant should you buy?](https://www.electromaker.io/blog/article/raspberry-pi-compute-module-5-cm5-which-variant-should-you-buy) - [bret.dk — CM5 review](https://bret.dk/raspberry-pi-compute-module-5-review-cooler-faster-better/)