Sign up

Jeff Geerling

Not verified No WebSub updates No webmention support Not yet validated

Recent content on Jeff Geerling

Managing Editor
Jeff Geerling
Webmaster
Jeff Geerling
Generator
Hugo
Rights
Jeff Geerling
Public lists
davewiner/hackerNewsStars
Fetched

Jeff Geerling
• Jeff Geerling

Not all OCuLink eGPU docks are created equal

Not all OCuLink eGPU docks are created equal

I recently tried using the Minisforum DEG1 GPU Dock with a Raspberry Pi 500+, using an M.2 to OCuLink adapter, and this chenyang SFF-8611 Cable.

After figuring out there's a power button on the DEG1 (which needs to be turned on), and after fiddling around with the switches on the PCB (hidden under the large metal plate on the bottom; TGX to OFF was the most important setting), I was able to get the Raspberry Pi's PCIe bus to at least tell the graphics card installed in the eGPU dock to spin up its fans and initialize.

But I wasn't able to get any output from the card (using this Linux kernel patch), and lspci did not show it. (Nor were there any logs showing errors in dmesg).

Jeff Geerling

Jeff Geerling
• Jeff Geerling

Testing the Raspberry Pi 500+'s new mechanical keyboard

Testing the Raspberry Pi 500+'s new mechanical keyboard

Raspberry Pi 500+ typing on keyboard rainbow LED backlight

Instead of a traditional review of a new Pi product, I thought I'd split things up on my blog, and write two separate posts; this one about the Pi 500+'s new mechanical keyboard, and a separate post about hacking in an eGPU on the Pi 500+, for a massive uplift in gaming performance and local LLMs.

The Raspberry Pi 500+ was announced today, sells for $200, and adds on the following over what was present in the regular Pi 500:

Jeff Geerling

Jeff Geerling
• Jeff Geerling

Full eGPU acceleration on the Pi 500+ with a 15-line patch

Full eGPU acceleration on the Pi 500+ with a 15-line patch

Raspberry Pi 500+ eGPU setup on Desk

Instead of a traditional review of a new Pi product, I thought I'd split things up on my blog, and write two separate posts; this one about hacking in an eGPU on the Pi 500+, for a massive uplift in gaming performance and local LLMs, and a separate post about the Pi 500+'s new mechanical keyboard.

The Raspberry Pi 500+ was announced today, sells for $200, and adds on the following over what was present in the regular Pi 500:

Jeff Geerling

Jeff Geerling
• Jeff Geerling

You can finally manage Macs with FileVault remotely in Tahoe

You can finally manage Macs with FileVault remotely in Tahoe

For years, I've had a couple Macs running at home and at my studio, which I use to remotely manage my video projects or some coding project.

M4 Mac mini workbench powering on

It's nice to have a workstation set up that you can access anywhere via Screen Sharing to check on progress, jot down a note, etc.—and not be tied to a web app or some cloud service.

I run a Wireguard VPN at home and at my studio, so I can remotely log into any of my infrastructure through the VPN—Macs included.

Jeff Geerling

Jeff Geerling
• Jeff Geerling

I regret building this $3000 Pi AI cluster

I regret building this $3000 Pi AI cluster

Raspberry Pi AI 10 node compute blade server

I ordered a set of 10 Compute Blades in April 2023 (two years ago), and they just arrived a few weeks ago. In that time Raspberry Pi upgraded the CM4 to a CM5, so I ordered a set of 10 16GB CM5 Lite modules for my blade cluster. That should give me 160 GB of total RAM to play with.

This was the biggest Pi cluster I've built, and it set me back around $3,000, shipping included:

Jeff Geerling

Jeff Geerling
• Jeff Geerling

Save video still frames from QuickTime Player with a shortcut

Save video still frames from QuickTime Player with a shortcut

Almost 15 years ago, I wrote Grab a Single Frame from a Video in QuickTime X. And for many years since, I slightly modified that workflow. Instead of using Preview, I would use pngpaste, and paste the copied frame from QuickTime player into a file.

For example:

  1. Open a video in QuickTime and scrub to the frame you would like to save as an image.
  2. Press Command-C
  3. Switch to Terminal
  4. Run pngpaste image-name-here.jpg
  5. Profit!

However, there are two problems with that workflow:

Jeff Geerling

Jeff Geerling
• Jeff Geerling

Digging deeper into YouTube's view count discrepancy

Digging deeper into YouTube's view count discrepancy

For a great many tech YouTube channels, views have been markedly down from desktop ("computer") users since August 10th (or so).

This month-long event has kicked up some dust—enough that two British YouTubers, Spiffing Brit and Josh Strife Hayes are having a very British argument1 over who's right about the root cause.

Spiffing Brit argued it's a mix of YouTube's seasonality (it's back to school season) and channels falling off, or as TechLinked puts it, "git gud", while Josh Strife Hayes points out the massive number of channels which identified a historic shift down in desktop views (compared to mobile, tablet, and TV) starting after August 10. This data was corroborated by this Moist Critical video as well.

Jeff Geerling

Jeff Geerling
• Jeff Geerling

CubeSats are fascinating learning tools for space

CubeSats are fascinating learning tools for space

Cubesats together

These are CubeSats. Satellites that are going to space—or at least, the ones I have here are prototypes. But these have one thing in common: they're all powered by either a Raspberry Pi, or a microcontroller.

Jeff Geerling

Jeff Geerling
• Jeff Geerling

YouTube views are down (don't panic)

YouTube views are down (don't panic)

Many YouTube content creators, myself included, noticed something in early to mid-August: views were down.

After being on the platform since 2006 (though for me, not being a 'professional' YouTuber until about 5 years ago), I'm used to seasonal dips, adjustments after new tweaks to the algorithm or layout/design changes.

But this was substantial.

YouTube Jeff Geerling views down

I had 4 10/10 videos in a row, which is unprecedented. I mean, my content could just be terrible all the sudden, and I've lost all but my core audience. But there are other explanations. Especially when the exact same thing happened to a large number of my peers on YouTube.

Jeff Geerling

Jeff Geerling
• Jeff Geerling

I bought the cheapest EV (a used Nissan Leaf)

I bought the cheapest EV (a used Nissan Leaf)

Jeff Geerling with Nissan Leaf SV Plus at Dealership

I bought a used 2023 Nissan Leaf in 2025, my first 'new' car in 15 years. The above photo was taken by the dealership; apparently their social media team likes to post photos of all purchasers.

I test drove a Tesla in 2012, and quickly realized my mistake. No gasoline-powered car (outside of supercars, maybe? Never drove one of those) could match the feel of pressing the throttle on an electric.

I started out with a used minivan, which I drove into the ground. Then I bought a used Olds that I drove into the ground. Then I bought a used Camry that I bought before we had kids, when I had a 16 mile commute.

Jeff Geerling

Jeff Geerling
• Jeff Geerling

How to install TrueNAS on a Raspberry Pi

How to install TrueNAS on a Raspberry Pi

Now that Joel0 in the TrueNAS community has created a fork of TrueNAS that runs on Arm, I thought I'd give it a spin—on a Raspberry Pi.

Raspberry Pi 5 with Hard Drives

I currently run an Ampere Arm server in my rack with Linux and ZFS as my primary storage server, and a Raspberry Pi with four SATA SSDs and ZFS as backup replica in my studio. My configuration for these Arm NASes is up on GitHub.

Jeff Geerling

Jeff Geerling
• Jeff Geerling

Reverse Engineering ALL the Raspberry Pis

Reverse Engineering ALL the Raspberry Pis

Earlier this month I covered Jonathan Clark's effort to reverse-engineer the Pi Zero 2 W, and just yesterday, I discovered TubeTime reverse-engineered the Compute Module 5.

i reverse-engineered the Raspberry Pi Compute Module 5! check it out at github.com/schlae/cm5-r...

[image or embed]

Jeff Geerling

Jeff Geerling
• Jeff Geerling

TrueNAS on Arm is finally a thing

TrueNAS on Arm is finally a thing

A few years ago, I admit it was rare to find someone running Arm hardware more powerful than a Raspberry Pi in a homelab (or more serious) setting, outside of cloud providers running Ampere or custom Arm CPUs.

Radxa Penta SATA HAT on Pi 5

But as Pis and Rockchip boards have become more powerful (and efficient), and Apple's M-series silicon has become more interesting (the M4 mini being an excellent value proposition for a quiet, tiny server), and even Ampere Altra pricing coming down a bit since it's an 'old' server CPU now, still offering 64 or 128 lanes of PCIe Gen 4... I don't think I'm weird in suggesting Arm is a viable platform for reliable, even powerful servers.

Even for storage.

Jeff Geerling

Jeff Geerling
• Jeff Geerling

Build log: Macintosh Classic

Build log: Macintosh Classic

Continuing the retro computer series, I've recently completed the first part of a restoration of my Aunt's old Macintosh Classic.

Macintosh Classic on desk

This Classic was handed to me alongside my Uncle Mark's Apple II, which I'll probably cover later (we've played a game of whack-a-mole with issues on that machine! Well worth it but I haven't hit a point where enough things are working to cover it well, heh).

The Classic is a strange Mac—it was introduced in 1990 as a budget version of the 1986 Macintosh Plus, with a 68000 CPU in an era when the 68030 was the new hotness.

Jeff Geerling

Jeff Geerling
• Jeff Geerling

Jellyfin on macOS for a quick self-hosted media library

Jellyfin on macOS for a quick self-hosted media library I forgot to bring my portable Pi media server running Jellyfin on a family trip, but had a small selection of my ripped movie and TV show library on my portable SSD. One dreaded part of choosing a movie o...

Jeff Geerling
• Jeff Geerling

Reverse Engineering the Raspberry Pi Zero 2W

Reverse Engineering the Raspberry Pi Zero 2W

Raspberry Pi not Pico by Jonathan Clark

This is not a Raspberry Pi Pico. Despite it's tiny size and castellated edges, this is actually a full Raspberry Pi Zero 2W.

Well, sorta. At Open Sauce, probably the most interesting encounter I had was with Jonathan Clark.

You see, I was on a Reverse Engineering panel at Open Sauce, but I mentioned on Twitter, I wouldn't call myself a reverse engineer, more like a 'guy who breaks things sometimes taking them apart, and learns many ways to not break things, sometimes.'

Jeff Geerling

Jeff Geerling
• Jeff Geerling

Increasing the VRAM allocation on AMD AI APUs under Linux

Increasing the VRAM allocation on AMD AI APUs under Linux Since I saw some posts calling out the old (now deprecated) way to increase GTT memory allocations for the iGPU on AMD APUs (like the AI Max+ 395 / Strix Halo I am testing in the Framework Mainboard AI C...

Jeff Geerling
• Jeff Geerling

I clustered four Framework Mainboards to test huge LLMs

I clustered four Framework Mainboards to test huge LLMs

Framework Mainboard mini rack cluster on desk

Framework casually mentioned they were testing a mini-rack AI cluster in their Framework Desktop presentation back in March.

Imagine my surprise when Nirav Patel, Framework's founder and CEO, was at Open Sauce a couple weeks ago, and wanted to talk! He said they had seen my Project Mini Rack posts earlier this year and thought it was the perfect application to try out their new AMD Ryzen AI Max+ 395-powered Mainboard, as it's mini ITX dimensions fit inside a 10" rack.

Jeff Geerling

Jeff Geerling
• Jeff Geerling

Decoding Meshtastic with GNURadio on a Raspberry Pi

Decoding Meshtastic with GNURadio on a Raspberry Pi

I've been playing with Meshtastic a lot, since learning about it at Open Sauce last year. I'm up to 5 little LoRa radios now, and I'm working on a couple nicer antenna placements, so I can hopefully help shore up some of the north-south connections on the MeshSTL map.

To better understand the protocol, I wanted to visualize Meshtastic communications using SDR (Software Defined Radio). I can do it on a Mac or PC, just setting GQRX, SDR++, or SDR#, and watching the LongFast frequency centered on 902.125 MHz:

Jeff Geerling

Jeff Geerling
• Jeff Geerling

Recording vintage CRTs with a modern Sony mirrorless camera

Recording vintage CRTs with a modern Sony mirrorless camera

Growing up, I remember recording CRTs with any camera was an exercise in frustration. You would either get a black bar that goes across everything, a slowly moving 'shutter' of darkness over the screen, black frame flickering, or even a variety of bright artifacts, especially when moving the camera around.

Mac Classic CRT with flicker line

Just setting your camera's shutter speed to match the refresh rate somewhat closely is usually enough to make it at least bearable (I start at 1/60th and see what looks least annoying).

But I recently discovered, while recording an old Macintosh Classic's CRT, that my Sony A7CII has a built-in anti-flicker feature that's... actually amazing.

Jeff Geerling

Jeff Geerling
• Jeff Geerling

Open Sauce is a confoundingly brilliant Bay Area event

Open Sauce is a confoundingly brilliant Bay Area event

Joe and Jeff Geerling at Open Sauce 2025

This is the second year I brought my Dad (a now-retired radio engineer and co-host of Geerling Engineering) to Open Sauce, a Bay Area maker faire-like event, dreamed up by William Osman and featuring hundreds of exhibits ranging from mad science, to vintage electronics, to games, to world-record-breaking Rubik's Cube solvers:

Jeff Geerling

Jeff Geerling
• Jeff Geerling

Adding GPS and off-grid maps to my Meshtastic T-Deck

Adding GPS and off-grid maps to my Meshtastic T-Deck

Meshtastic is still a bit touch-and-go sometimes, but the St. Louis area Mesh has grown quite a bit, to the point I can regularly mesh with 10-30 other nodes. So far we can't quite get the entire metro covered wirelessly, but there are a few gaps MQTT is connecting currently.

Meshmap.net - St. Louis Missouri

One thing I hadn't really thought about—but can be useful, especially for visualizing the mesh—is GPS positioning on the mesh node itself.

Jeff Geerling

Jeff Geerling
• Jeff Geerling

Upgrading an M4 Pro Mac mini's storage for half the price

Upgrading an M4 Pro Mac mini's storage for half the price

A few months ago, I upgraded my M4 Mac mini from 1 to 2 TB of internal storage, using a then-$269 DIY upgrade kit from ExpandMacMini.

At the time, there was no option for upgrading the M4 Pro Mac mini, despite it also using a user-replaceable, socketed storage drive.

M4 Pro Mac mini guts with M4-SSD 4TB Upgrade Installed

But the folks at M4-SSD reached out and asked if I'd be willing to test out one of their new M4 Pro upgrades, in this case, upgrading the mini I use at the studio for editing from a stock 512 GB SSD to 4 TB.

Jeff Geerling

Jeff Geerling
• Jeff Geerling

Mini NASes marry NVMe to Intel's efficient chip

Mini NASes marry NVMe to Intel's efficient chip

Mini NAS lineup with Coffee Mug

I'm in the process of rebuilding my homelab from the ground up, moving from a 24U full-size 4-post rack to a mini rack.

One of the most difficult devices to downsize (especially economically) is a NAS. But as my needs have changed, I'm bucking the trend of all datahoarders and I need less storage than the 120 TB (80 TB usable) I currently have.

Jeff Geerling

Jeff Geerling
• Jeff Geerling

You will own nothing and be happy (Stop Killing Games)

You will own nothing and be happy (Stop Killing Games)

tl;dr: If you're an EU citizen, sign the Stop Killing Games initiative here. Or, if you're in the UK, sign this petition.

A month ago, I had a second video on self-hosting taken down. YouTube said it was 'harmful or dangerous content'. I appealed that, but my appeal was rejected.

Luckily, I have enough reach I was able to get a second chance. Most content creators aren't so lucky, and content about tools like Jellyfin and LibreELEC get buried over time.

But it's not just self-hosting.

Note: This blog post is a lightly edited transcript of my most recent YouTube video, You will own NOTHING and be HAPPY (SKG).

Jeff Geerling July 2, 2025

Jeff Geerling
• Jeff Geerling

Getting weather data from my Acurite sensors was shockingly easy

Getting weather data from my Acurite sensors was shockingly easy

I've had a Pi and SDR earmarked for 'getting weather data from my weather station' for a long time now. I don't know why I waited so long, because it was shockingly easy.

I have a Acurite 5-in-1 weather station (with separate lightning detector) mounted about 15' in the air in my back yard. It comes with a fancy little LCD display to show all the stats it transmits over the 433 MHz wireless frequency.

But I want to ingest that data into my Home Assistant installation, so I can have better access to historical data, set up alerts (like if wind speed is above 50 mph, or there's lightnining less than 10 miles away), etc.

I'll work on the HA integration later, likely using MQTT. But for now, just getting the data to decode on a Raspberry Pi 5 was quick:

Jeff Geerling June 27, 2025

Jeff Geerling
• Jeff Geerling

Setting up an Ubuntu Desktop installation for SSH, quickly

Setting up an Ubuntu Desktop installation for SSH, quickly I've enjoyed using Ubuntu Server's GitHub SSH pubkey importer for a long time, it's a quick and easy way when doing an interactive server installation to get the built-in OpenSSH server configured for re...

Jeff Geerling
• Jeff Geerling

How I make thumbnails for YouTube

How I make thumbnails for YouTube Over on the 2nd channel, I posted a video detailing my process for making thumbnails for my YouTube channel: .embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed...

Jeff Geerling
• Jeff Geerling

How I monitor and control all my powered devices (Zigbee + HA)

How I monitor and control all my powered devices (Zigbee + HA)

Any time I show power consumption graphs for the SBCs, computers, and servers I test, I get a number of comments asking for more details about the setup.

It's quite simple, really: using my Home Assistant Yellow's built-in Zigbee radio, I connect a number of ThirdReality Zigbee Smart Outlets to it, and then I use ApexCharts Cards to add graphs of power consumption over time on my Home Assistant dashboards.

Jeff Geerling June 14, 2025

Jeff Geerling
• Jeff Geerling

Sipeed NanoCluster fits 7-node Pi cluster in 6cm

Sipeed NanoCluster fits 7-node Pi cluster in 6cm

Sipeed's NanoCluster is a tiny compute module clusterboard with room for up to 7 tiny computers.

Each slot has two inline M.2 (NGFF) slots which accept either a custom-designed SoM (System on Module) or an adapter board to adapt a standard Compute Module form-factor board into the slot (as pictured above).

One end has a large fan for cooling, and the other end has power and IO. You can power the board via either PoE++ (60W) or through USB-C PD (65W). Or both, with redundant power fail-over.

Jeff Geerling June 6, 2025