Blog

Raspberry Pi 5 *can* overclock to 3.14 GHz

...and it's not just for Pi Day.

Raspberry Pi 5 with THRML tower cooler

After posting my deep-dive into the Pi 5's new BCM2712 and RP1 silicon this morning, someone linked me to this GitHub issue: Raspberry Pi 5 cannot overclock beyond 3.0GHz due to firmware limit(?).

For the past few weeks, a few blog readers (most notably, tkaiser—thanks!) commented on PLLs, OPP tables, and DVFS and how something seemed a little off with the 3.0 GHz CPU limit—which was apparently recommended by Broadcom, according to that GitHub issue.

But today, @popcornmix generated a test firmware revision without the 3.0 GHz limit, and zealous overclockers can get to pushing the clocks higher.

Die shots and transistor-level debugging on Raspberry Pi 5

Ever since I X-rayed the Raspberry Pi 5 to see inside the BCM2712 and RP1 chip packages, I've wanted die shots of both chips. Why? Mostly out of curiosity, since I'm not a silicon expert by any means.

I also ran into some weird overclocking issues after writing about my experience overclocking and underclocking the Raspberry Pi 5, and probably spent an unhealthy amount of time (and money) to learn about the clocks, PLLs, and chips on the latest version of everyone's favorite Single Board Computer.

Raspberry Pi 5 BCM2712 fragment (Some Raspberry Pi 5s were harmed in the making of this blog post.)

An important consideration about Pi 5 overclocking

Silicon lottery.

Now that the Raspberry Pi 5s been readily available (at least in most regions) for a few months, more people started messing with clocks, trying to get the most speed possible out of their Pi 5s.

Argon THRML Tower Cooler installed on Raspberry Pi 5 for Overclocking test

Unlike the Pi 4, the Pi 5 is typically comfortable at 2.6 or even 2.8 GHz, and some Pi 5s can hit 3.0 GHz (but no higher—more on why tomorrow well... this limit may be able to be lifted).

After some testing, I found the default 2.4 GHz clock on the Pi 5 is pretty much the efficiency sweet spot, and after a lot more testing recently, I can confirm that's still the case, testing a number of Pi 5 samples.

Fixing nginx Error: Undefined constant PDO::MYSQL_ATTR_USE_BUFFERED_QUERY

I install a lot of Drupal sites day to day, especially when I'm doing dev work.

In the course of doing that, sometimes I'll be working on infrastructure—whether that's an Ansible playbook to configure a Docker container, or testing something on a fresh server or VM.

In any case, I run into the following error every so often in my Nginx error.log:

"php-fpm" nginx Error: Undefined constant PDO::MYSQL_ATTR_USE_BUFFERED_QUERY

The funny thing is, I don't have that error when I'm running CLI commands, like vendor/bin/drush, and can even install and manage the Drupal site and database on the CLI.

The problem, in my case, was that I had applied php-fpm configs using Ansible, but in my playbook I hadn't restarted php-fpm (in my case, on Ubuntu 22.04, php8.3-fpm) after doing so. So FPM was running with outdated config and didn't know that the MySQL/MariaDB drivers were even present on the system.

Set a static IP address with nmtui on Raspberry Pi OS 12 'Bookworm'

Old advice for setting a Raspberry Pi IP address to a static IP on the Pi itself said to edit the /etc/dhcpcd.conf file, and add it there.

But on Raspberry Pi OS 12 and later, dhcpcd is no longer used, everything goes through Network Manager, which is configured via nmcli or nmtui. If you're booting into the Pi OS desktop environment, editing the IP settings there is pretty easy.

But setting a static IP via the command line is a little different.

First, get the interface information—you can get a list of all interfaces with nmcli device status:

$ nmcli device status
DEVICE         TYPE      STATE                   CONNECTION         
eth0           ethernet  connected               Wired connection 1 
lo             loopback  connected (externally)  lo                 
wlan0          wifi      disconnected            --                 

In my case, I want to set an IP on eth0, the built-in Ethernet.

Getting files to and from a PowerBook 3400c with hfsutils

PowerBook 3400c booting Mac OS 8.6

There are about a dozen ways to get files to and from an older Mac like my PowerBook 3400c, but right now (at least until I figure out a good way to get my NAS -> an AppleTalk server -> 3400c working), my preferred method is via a CF card—I pop the CF card into a CF-to-PCMCIA adapter, then insert that into one of my PowerBook 3400's PC card slots, and bingo: removable flash storage on a 1990s laptop!

I still have a few CF cards kicking around (I used them with my old Nikon D700 camera), and you can buy a 4GB SanDisk Ultra CF card new from Amazon still—albeit for the price of $35... Sometimes the smaller/older cards work better with old Macs, and most of the files I deal with are well under a few MB anyways.