Blog

Pi modder successfully adds M.2 slot to Pi 500

As I briefly mentioned yesterday, someone mentioned in this blog's comments a successful M.2 socket installation on the empty header on the Pi 500 (something I attempted, rather poorly!). With a few added components, and 3.3V supplied to a pad on the bottom via a bench power supply, the M.2 slot works just fine, allowing the use of NVMe SSDs or other PCIe devices.

Pi 500 NVMe dmesg boot info

Indeed, this person emailed me further proof, along with notes for anyone wishing to follow in their footsteps.

First, solder on four minuscule capacitors (rating may be gleaned off the CM5 IO Board schematics, I think?) on the PCIe lines heading to the NVMe slot. These are incredibly small, so a good microscope and decent SMD soldering skills are pretty necessary.

Raspberry Pi 500 uses QMK Firmware for built-in keyboard

I mentioned in my Pi 500 review Raspberry Pi is dogfooding their own microcontroller in the new Pi 500. An RP2040 sits next to the keyboard ribbon cable connector, and interfaces it through a USB port directly into the RP1 chip:

Raspberry Pi 500 PCB with RP2040 for keyboard input

In good news for keyboarding enthusiasts, the RP2040 seems to be flashed with the open-source QMK ('Quantum Mechanical Keyboard') Firmware. Thanks to a reader, 'M', who figured that out!

System76 Launch keyboard with RP2040 inside

The Pi 500 is much faster, but lacks M.2

Raspberry Pi this morning launched the Pi 500 and a new 15.6" Pi Monitor, for $90 and $100, respectively.

Pi 500 setup with monitor on desk

They're also selling a Pi 500 Kit, complete with a Power Supply, Mouse, and micro HDMI to HDMI cable, for $120. This is the first time Raspberry Pi is selling a complete package, where every part of a desktop computer could be Pi-branded—and makes me wonder if uniting all these parts into one could result in an eventual Pi Laptop...

Before we get too deep, no, the Pi 500 does not include a built-in M.2 slot. Sort-of.

Pi 500 PCB top side

AmpereOne: Cores are the new MHz

Cores are the new megahertz, at least for enterprise servers. We've gone quickly from 32, to 64, to 80, to 128, and now to 192-cores on a single CPU socket!

AmpereOne A192-32X open

Amazon built Graviton 4, Google built Axiom, but if you want your own massive Arm server, Ampere's the only game in town. And fastest Arm CPU in the world is inside the box pictured above.

It has 192 custom Arm cores running at 3.2 Gigahertz, and in some benchmarks, it stays in the ring with AMD's fastest EPYC chip, the 9965 "Turin Dense", which also has 192 cores.

High-core-count servers are the cutting edge in datacenters, and they're so insane, most software doesn't even know how to handle it. btop has to go full screen on the CPU graph just to fit all the cores:

Raspberry Pi boosts Pi 5 performance with SDRAM tuning

tl;dr Raspberry Pi engineers tweaked SDRAM timings and other memory settings on the Pi, resulting in a 10-20% speed boost at the default 2.4 GHz clock. I of course had to test overclocking, which got me a 32% speedup at 3.2 GHz! Changes may roll out in a firmware update for all Pi 5 and Pi 4 users soon.

Raspberry Pi 5 with SDRAM tweaks applied on desk

My quest for the world record Geekbench 6 score on a Pi 5 continues, as a couple months ago Martin Rowan used cooling and NUMA emulation tricks to beat my then-record score.

Home Assistant Yellow - instant 2x IoT speedup with CM5

In a win for modular, private, local IoT, I just upgraded my Home Assistant Yellow from a Raspberry Pi Compute Module 4 to a Compute Module 5 this morning, and got an instant 2x speed boost.

Home Assistant Yellow upgraded to Pi CM5

I first posted about the Yellow in 2022, and walked through my smart-but-private HA Yellow setup in my Studio in a video last year.

Because I was running an eMMC CM4 in the Yellow before, I ran a full backup (and downloaded it), yanked the CM4, flashed HAOS to a new NVMe SSD, and plugged that and the CM5 into my Yellow. After running a Restore (it's a handy option right on the first page that appears when you access homeassistant.local), I was up and running like there was no difference at all—just everything was a little more snappy.