raspberry pi

External graphics cards work on the Raspberry Pi

AMD Radeon HD 7450 Graphics card with Raspberry Pi Compute Module 4

In October 2020, after Raspberry Pi introduced the Compute Module 4, I started out on a journey to get an external graphics card working on the Pi.

At the time, it'd been over a decade since the last time I'd built a PC, and I had a lot to learn about PCI Express, the state of graphics card drivers in Linux, and PCI Express support on various ARM SoCs.

8 New Compute Module 4 boards for Spring 2022

It's been a busy start to the year on my Raspberry Pi PCIe Devices website. Not only have we finally made some significant progress learning about the BCM2711's PCIe bus (both good and bad), I've also added a few dozen new Raspberry Pi CM4-based boards to the site.

In my YouTube video today, I go through four of them in depth, showing how they're built and what they're used for.

The four projects I cover in depth are:

  1. Bigtreetech's Raspberry Pad 5
  2. Seeed Studio's reTerminal
  3. Waveshare's Dual Ethernet 5G/4G base board
  4. Ab-log's RPi4-RTC-PoE DIN rail computer

And there are some other projects I'm watching closely as they journey down the road towards production:

New Raspberry Pi: Compute Module 4S

Update: The Compute Module 4S is now listed on Raspberry Pi's website. But they state it "is not for general sale."

Strange times beget strange things.

And that's an apt description of the new Raspberry Pi Compute Module 4S:

Raspberry Pi Compute Module 3+ to 4S Differences

The above chart is from Revolution Pi's page announcing the RevPi S and SE, which are updates to their popular CM3+-based industrial DIN rail computers.

Playing sounds with Python on a Raspberry Pi

Today I needed to play back an MP3 or WAV file through a USB audio device on a Raspberry Pi, in a Python script. "Should be easy!" I thought!

Clarence the Raspberry Pi Bell Slapper with USB audio output and speaker

Well, a couple hours later I decided to write this blog post to document the easiest way to do it, since I had to take quite a journey to get to the point where sound actually plays through the USB audio output.

The problem is most guides, like this simple one from Raspberry Pi's project site, assume two things:

Top 10 Pi Projects for Raspberry Pi's 10th Birthday

Original Raspberry Pi model B and Pi 4 model B with old Pis in background

In case you didn't know, the Raspberry Pi turns 10 today!

That's right—the Raspberry Pi model B (pictured above, front left) was launched on February 29th, 2012. And it sold out immediately.

That seems to have become a theme with every Pi model, but for anyone who does have a Pi kicking around in a box somewhere—or if you're lucky enough to find a Pi in stock—check out my latest video, where I go through my top 10 Raspberry Pi projects (all of which I've built, and most of which I'm still running today!):

Building a desktop Pi PC with Axzez's Interceptor

A couple months ago, Axzez reached out and asked if I'd like to test out the Interceptor—an ATX-style mini motherboard for the Raspberry Pi Compute Module 4, complete with 5 SATA ports.

Axzez Interceptor Carrier Board for Compute Module 4

The board is meant to be used as an NVR (Network Video Recorder): You pop a Raspberry Pi Compute Module 4 on top, you plug in up to 5 SATA hard drives for storage, and then you plug IP cameras into the 3 extra LAN ports (via an RTL8367RB switch) on the back, and you can store IP camera footage on the drives, and access it over the network.

Gaming at 1080p and 120 Hz on a Raspberry Pi 4

I often like exploring what's possible on a Raspberry Pi (or other low-end hardware). One area I haven't explored much is GPU performance. I typically run my Pi's headless, and have only dabbled in embedded machine vision with Pi cameras, so most of my experience is on the programming / software side.

But seeing Apple's 120 Hz 'ProMotion', and ever-higher refresh rates in the enthusiast gaming realm (we may hit 480 Hz soon!), I wanted to see how a tiny Raspberry Pi could perform in this realm.

The Pi's VideoCore GPU can output 1080p at refresh rates up to 120 Hz—at least there's a setting for it. But I'd never tried it. The hardest I pushed a Pi was 4K at 60 Hz for my Pi 4 a Day challenge, and that didn't go as well as I'd hoped.

How to update the Raspberry Pi Compute Module 4 Bootloader / EEPROM

The Raspberry Pi 4 and Pi 400 share the same Broadcom BCM2711 SoC with the Compute Module 4. All three devices also share an SPI EEPROM flash chip, which stores the Raspberry Pi's bootloader.

SPI EEPROM Flash bootloader chip on Raspberry Pi 4 model B

But the Compute Module 4 differs in how you update the bootloader. With the Pi 4 or Pi 400, you can use Raspberry Pi imager to write a utility image to a microSD card to update the bootloader. You put in the card, power on the Pi, and the bootloader is updated.

On the Compute Module 4, because it may be used in remote or embedded environments, its bootloader can actually be hardware write-protected!

BliKVM - a PiKVM (KVM over IP) box based on the Compute Module 4

I received a couple BliKVM units recently, and since I don't have as much of a need (my only 'remote' PC is about 2' away from my desk...), I brought them to my Dad's radio station, and we set it up in their main on-air PC so operators could access the PC and fix problems at home, instead of driving in!

Check out our video on this board on the new Geerling Engineering YouTube channel:

You can buy the BliKVM on AliExpress, and try your luck finding a CM4 to use in it!