George Smart Won't Wait for the Raspberry Pi 5 NVMe HAT, So Reverse Engineers the PCIe Connector

Tested with three full-size PCIe cards, this reverse-engineered schematic can get you up and running now — with a little effort.

Gareth Halfacree
2 years agoHW101

George Smart, doctor of electronic engineering, has put his skills to deciphering how the new PCI Express (PCIe) flexible printed circuit (FPC) connector on the Raspberry Pi 5 works — getting it up and running with a homebrew adapter ahead of the launch of an official Hardware Attached on Top (HAT) board.

The Raspberry Pi 5 launched last month with a new and considerably more powerful system-on-chip, the Broadcom BCM2712, and Raspberry Pi's in-house RP1 southbridge chip. Perhaps the most eagerly-awaited feature on the board, though, is its support for external hardware over a high-speed PCI Express connection — something which previously required either a Raspberry Pi Compute Module 4 or the desoldering of the USB 3.0 controller on the Raspberry Pi 4 Model B.

If you, like George Smart, can't wait for the Raspberry Pi 5 NVMe HAT, there's always the brute-force approach. (📹: George Smart)

Raspberry Pi has promised to release a HAT accessory for the Raspberry Pi 5 which will connect to the free PCIe lane to make it available for high-speed Non-Volatile Memory Express (NVMe) storage on an M.2 slot. Until that's out, though, it's playing its cards close to its chest — which leaves people like Smart, who want to get started with the PCIe capabilities sooner rather than later, with only one option: reverse engineering.

"Over the last, I guess, 12 or so hours I've been reverse engineering the PCIe connector on the Raspberry Pi 5," Smart says in the introduction to his video on the project, brought to our attention by Adafruit. "So this is a reverse engineering, is the first thing to say — so it's not official at all. I've been playing around with it, but I have got it to work um only at Gen. 1."

Officially, the PCIe lane on the Raspberry Pi 5 is a Gen. 2 lane — though, unofficially, it can be boosted to Gen. 3 speeds. Gen. 1 is a significant step down from both, but perhaps unavoidable: while the official HAT design is likely to include carefully-tweaked shielded cabling and potentially some form of filter to reject noise, Smart's work saw the FPC connector removed entirely and replaced with flying wires connecting to an off-the-shelf angled PCIe adapter.

Perhaps surprisingly, though, the adapter does work — and allows full-size PCIe cards to be connected to the Raspberry Pi 5, though whether they're available to use is heavily depended on the existence of compatible drivers. While Smart has made his findings public, he does have some advice for those thinking of following in his footsteps: "please wait for/use the official Raspberry Pi documentation when using the PCIe FPC," he says — if for no other reason than you won't have to take a soldering iron to your new Raspberry Pi 5.

Smart's full video on the project is available on his YouTube channel, while the reverse-engineered schematics have been published to GitHub under the permissive MIT license.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Get our weekly newsletter when you join Hackster.
Latest articles
Read more
Related articles