Raspberry Pi Launches the M.2 HAT+, Improves NVMe Boot Support in the Raspberry Pi 5 Firmware

Officially rated only for PCI Express Gen. 2, the new Raspberry Pi M.2 HAT+ adds NVMe storage or PCIe accelerators to any Raspberry Pi 5.

Gareth Halfacree
14 days agoHW101

Raspberry Pi has officially launched the M.2 HAT+, its first official accessory to make use of the PCI Express lane available on the new Raspberry Pi 5 — while a firmware patch for the board brings initial support for booting from Non-Volatile Memory Express (NVMe) storage behind a PCI Express switch, as found on third-party PCIe add-on boards.

"The Raspberry Pi M.2 HAT+ enables you to connect M.2 M-key peripherals, such as NVMe drives and AI [Artificial Intelligence] accelerators, to your Raspberry Pi 5," explains Raspberry Pi's James Adams of the launch today. "It provides fast (up to 500MB/s) data transfer to and from these peripherals, and is available to buy today, from our network of Approved Resellers, priced at just $12."

Raspberry Pi announced the M.2 HAT+ at the same time as the Raspberry Pi 5 itself, making use of the first end-user accessible PCI Express lane on a mainstream Raspberry Pi model to offer high-speed high-capacity storage. While the Raspberry Pi 5 launched late last year, though, the M.2 HAT+ has taken a little longer to get ready — and, as a result, has been beaten to market by alternatives from companies including the company formerly known as Pineberry Pi, Pimoroni, SupTronics, 52Pi, and Waveshare.

Even with the Raspberry Pi M.2 HAT+ out, the third-party alternatives offer an added bonus over the official design: support for PCI Express Gen. 3, compared to a Gen. 2 limit on the official board. While this runs the Raspberry Pi 5's PCI Express lane outside its officially rated spec, it roughly doubles the throughput possible — taking it from the roughly 500MB/s possible on the official board to around 1GB/s.

"While in an ideal world we would have launched the M.2 HAT+ at the same time as Raspberry Pi 5, it was important not to rush things," Adams says of the board's late launch. "There were still a few unresolved questions, notably around the two 'spare' pins on the 16-pin FFC [Flat Flexible Circuit] connector. While these pins carried I2C signals in our earliest prototypes, in the end the Raspberry Pi PCIe Connector specification allocates them to fixed functions: one as a power enable for downstream device power, and one as a board detect and wake signal."

"And we wanted to make sure that our product really was a HAT+," Adams continues, "which in turn meant we had to resolve a few last wrinkles in the Raspberry Pi HAT+ specification. Raspberry Pi specifications, like our 40-pin GPIO [General-Purpose Input/Output] connector and our three-pin debug connector, often become de facto standards for the rest of the industry, and we have a responsibility to get them right first time."

The company hasn't just been working on the hardware, either: a firmware pull request merged this week adds initial support for using an M.2 NVMe drive as a boot device when it sits behind a PCI Express switch — as with third-party HATs that support two or more drives, or a single drive alongside another PCIe device like a network card or AI accelerator.

The Raspberry Pi M.2 HAT+ is available from all Raspberry Pi resellers now at $12, and supports M.2 M-key 2230 and 2242 drives. More information, including schematics for use as a reference design in building your own Raspberry Pi 5 PCIe HAT+ devices, is available on the Raspberry Pi website.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles