compute module

Controlling PWM fans with the Raspberry Pi CM4 IO Board's EMC2301

Noctua 120mm PWM fan connected to Raspberry Pi CM4 IO Board

When I initially reviewed the Compute Module 4 IO Board, I briefly mentioned there's a 4-pin fan connector. It's connected to the Pi's I2C bus using a little PWM chip, the EMC2301.

But wait... what's I2C, what's PWM, and what's so special about a 4-pin fan connector? I'm glad you asked—this post will answer that and show you how you can control a fan connected to the IO Board, like the quiet Noctua NF-P12 pictured above with my IO Board.

If you plug a fan like that into the CM4 IO Board, it will start running full blast, 24x7. If you need that much cooling, that's great, but a lot of times, I don't mind my Pi's CPU getting warmer if it means I can run the fan silent most of the time.

Kubesail's PiBox mini 2 - 16 TB of SSD storage on a Pi

Kubesail Raspberry PiBox mini 2 front side exposed

Many months ago, when I was first testing different SATA cards on the Raspberry Pi Compute Module 4, I started hearing from GitHub user PastuDan about his experiences testing a few different SATA interface chips on the CM4.

As it turns out, he was working on the design for the PiBox mini 2, a small two-drive NAS unit powered by a Compute Module 4 with 2 native SATA ports (providing data and power), 1 Gbps Ethernet, HDMI, USB 2, and a front-panel LCD for information display.

The Hardware

The PiBox mini 2 is powered by the Compute Module 4 on this interesting carrier board:

PiBox mini carrier board with Raspberry Pi Compute Module 4

Face detection for my leaf blower

In the class of 'out there' projects, I recently added a little AI to my leaf blower:

Leaf blower with Raspberry Pi on top for AI ML Machine Vision blasting

The short of it: I have a face detection algorithm running which, when a certain individual enters the field of the Pi's vision, triggers a servo that powers on the blower, releasing a powerful air blast.

Red Shirt Jeff gets blasted by air cannon

I've been wanting to play around with face detection on the Pi for some time, but the Pi Zero I use in most of my camera projects is seriously underpowered for this kind of work.

CM4Ext Nano

So when Harlab (Hardware Laboratory) told me they'd like to send me a CM4Ext Nano board for testing, I thought it'd be the perfect opportunity to play with machine vision on the Pi.

Raspberry Pi 4 model Bs arriving with newer 'C0' stepping

Owing to a mishap with the Pi 4 model B I use for testing—more on how Red Shirt Jeff ruined that board later this week—I had to go buy a new Pi 4 last week.

The local Micro Center only had the 8 GB model in stock, so I went a little over budget and bought it. When I arrived home, I checked the board, and noticed a bit of a difference on the Broadcom SoC:

Raspberry Pi 4 model B C0 stepping on BCM2711 SoC

Can you spot it? The model number of the BCM2711 chip on this board is 2711ZPKFSB06C0T, which is the same as the chip found on the Pi 400.

This is a newer stepping of the original Pi 4 model B chip, which has the model number 2711ZPKFSB06B0T. The difference is the third-to-last character, the C versus the B.

Uptime Lab's CM4 Blade adds NVMe, TPM 2.0 to Raspberry Pi

A few weeks ago, I received two early copies of Uptime.Lab's CM4 Blade.

Uptime Lab's Raspberry Pi CM4 Blade Computer with NVMe SSD

The Blade is built for the Raspberry Pi Compute Module 4, which has the same processor as the Pi 4 and Pi 400, but without any of the built-in IO ports. You plug the CM4 into the Blade, then the Blade breaks out the connections to add some interesting features.

A 1U rackmount enclosure is in the works, and 161 of these boards would deliver:

  • 64 ARM CPU cores
  • up to 128 GB of RAM
  • 16 TB+ of NVMe SSD storage

That's assuming you can find 8 GB Compute Modules—they've been out of stock since launch almost a year ago, and even smaller models are hard to come by. More realistically, with 4 GB models, you could cram in 64 GB of total RAM.

The Wiretrustee SATA Pi Board is a true SATA NAS

In my earlier posts about building a custom Raspberry Pi SATA NAS, and supercharging it with 2.5G networking and OMV, I noted that my builds were experimental only—they were a mess of cables and parts, with a hilariously-oversized 700W PC power supply.

I lamented the fact there was no simple "SATA backplane on a board" for the Raspberry Pi Compute Module 4. But no longer.

Wiretrustee SATA Board for Raspberry Pi OMV NAS

Wiretrustee's SATA Board integrates a SATA controller and data and power for up to four SATA drives with a Raspberry Pi Compute Module 4.

And their entire solution makes for a great little Raspberry Pi-based NAS, using software like OpenMediaVault.

Two Tiny Dual-Gigabit Raspberry Pi CM4 Routers

Since I started testing various PCI Express cards on the Raspberry Pi Compute Module 4, I've been excited to see what new kinds of custom networking devices people would come up with.

Well, after months of delays due to part shortages, both DFRobot and Seeed Studios have come out with their 2-port Gigabit router board designs, and I was happy to receive a sample of each for testing:

DFRobot and Seeed Studios Router Boards with Dual Gigabit Ethernet

The boards are tiny, and even with the Compute Module 4 installed, they are incredibly small—take a look at the entire assembled DFRobot unit, complete with a Raspberry Pi attached:

DFRobot CM4 IoT Router Board with Raspberry Pi CM4 and Quarter

Tried Nvidia's GTX 1080 - still no external GPU on a Pi

Earlier today I did a livestream on my YouTube channel to attempt using an Nvidia GeForce GTX 1080 on a Raspberry Pi Compute Module 4.

MSI Nvidia GeForce GTX 1080 Graphics Card GPU

As with all my testing, I'm documenting everything I learn in this GitHub issue, which is part of the Raspberry Pi PCI Express Card Database website.

It's only been a few hours, but I've already gotten good suggestions for better debugging than I was able to do on the stream. And someone pointed out it might be the case, due to 32-bit memory limitations on the BCM2711's PCIe bus, that no GPU with more than 4 GB of onboard RAM could work. Though it's hard to confirm there'd be no software workaround—even 1 and 2 GB graphics cards (AMD and Nvidia) are crashing the kernel in similar ways.

The full livestream is available on replay and is embedded below:

Three more graphics cards on the Raspberry Pi CM4

Last year I tested two older graphics cards—a Radeon 5450 and a GeForce GT710—on a Raspberry Pi Compute Module 4.

Jeff Geerling holds NVidia and ASRock Rack GPU and Raspberry Pi Compute Module 4 with quizzical look

This year, I've been testing three more graphics cards—a GeForce GTX 750 Ti, a Radeon RX 550, and the diminutive ASRock Rack M2_VGA.

The Compute Module 4, if you didn't know already, exposes the BCM2711's single PCI express lane, and the official IO Board has a nice, standard, 1x PCIe slot into which you can plug any PCI express device.

MirkoPC - a full-featured Raspberry Pi desktop computer

The MirkoPC is so far the closest thing to a full-fledged Raspberry Pi desktop computer:

MirkoPC with Raspberry Pi Compute Module 4

Based on the Compute Module 4, it has a full-size M.2 M-key slot, allowing the Pi to boot from reliable and fast NVMe SSD storage, a built-in headphone amp and line out, 4 USB 2.0 ports, gigabit Ethernet, two HDMI ports, and a number of other neat little features.

Video

I also have a video review of this board here: