Tom's Hardware Verdict
A great first step for native NVMe on the Raspberry Pi, the software installation needs to be refined, but this is out of Pineberry Pi’s hands for now.
Pros
- +
Easy to connect
- +
Fast data transfer speeds
- +
Doesn’t get in the way of the GPIO
Cons
- -
Drive compatibility
Why you can trust Tom's Hardware
While Raspberry Pi is still working on its M.2 HAT, makers from the wider Raspberry Pi community are already hard at work on their own M.2 SSD boards. One of which is Pineberry Pi who released Hat Drive Top and Bottom.
Hat Drive Top retails for €20 ($21) while Bottom comes in at €25.99 ($28). The key difference between the two boards is that Top is designed to fit on top of the Raspberry Pi 5, just like the best HATs and uses M.2 2230 and 2242 drives. Bottom is designed to fit under the Raspberry Pi 5, affording us M.2 2280 and 2242 compatibility.
The Raspberry Pi 5 is the newest and fastest Raspberry Pi to date. But it also provides a PCIe interface for the traditional form factor. The PCIe interface is located where the original display (DSI) connection would be.
Using this interface we can connect PCIe devices. Pineberry Pi’s boards are primarily used for NVMe SSDs, but there is also a version for Coral TPU devices, useful in machine learning and AI projects. Intrepid hackers like Jeff Geerling are also using the interface for GPU experiments.
Do we need SSDs for our Raspberry Pi 5? Of course we do, but are Pineberry Pi’s Hat Drives the way forward? To understand this we need to get hands on and put them through their paces.
Hat Drive Specifications
Header Cell - Column 0 | HatDrive! Top | HatDrive! Bottom |
---|---|---|
PCIe Interface | PCIe x1 supporting Gen 2 and Gen3 | PCIe x1 supporting Gen 2 and Gen3 |
M.2 Support | NVMe 2230 and 2242 | NVMe 2242, 2280 |
Power | Via FPC ribbon or via GPIO | Via FPC ribbon or via external source |
Price | €20 ($21) | €25.99 ($28) |
Installing Hat Drive
Installation is straightforward, there is a connection from the PCIe interface of the Raspberry Pi 5 and stand-offs used to keep the drive away from the Pi. Hat Drive Top has an additional passthrough for the 40-pin GPIO, although it doesn’t use it. This passthrough is solely there to provide access to the GPIO, and eventually to use the best HATs.
The FPC ribbon cable is available in either 40 or 100 mm lengths, and each has an arrow to indicate orientation in the HAT drive, something that the Raspberry Pi 5 does not have (the black tab should face the USB ports on the Pi 5). The cables are held firmly in place using plastic locks, similar to those used for the official camera and display. Our review units had pre-release cables, final retail versions will differ to our review units.
The Hat Drive Top board is made for 2230 and 2242 NVMe drives, common in slim laptops and devices such as Valve’s Steam Deck (which uses a 2230). These drives come in smaller capacities than 2280, and sometimes run at lower speeds, but they are more than enough for the Raspberry Pi 5. The Hat Drive Top board has plenty of clearance for the active cooler, but it does noticeably increase the fan noise. The Hat Drive Bottom board may be a better option overall.
If you want to use 2280 drives then you will need the Hat Drive Bottom which is a larger board than the Top. The reason for the difference is that the Hat Drive Top board sticks with the HAT specification, meaning that it needs to match M2.5 mounting holes and fit the GPIO.
Software installation isn’t straightforward right now. This isn’t the fault of Pineberry Pi, rather the spec is still mercurial. The official spec for using M.2 NVMe SSDs on the Raspberry Pi 5 is still under wraps, with release expected imminently and we hope that news of the official M.2 HATs will follow shortly after.
Back to the software installation and we first had to edit /boot/config.txt to use an NVMe drive. In the configuration file we can set the PCIe Gen from 1 to 3, with 2 being the officially supported option. Next, we updated the firmware to set the Pi to first look for a bootable NVMe drive.
We powered down, installed the Hat Drive Top with a spare Western Digital 2242 NVMe SSD and then powered up. Opening a terminal and running lsblk, we expected to see the NVMe drive, but alas, nothing. We opened gparted, a partition manager, nothing. File manager, nothing.
It took a fair amount of head-scratching and conversations to find the cause. It turned out the issue was “Add PCIE_PROBE=1 to the EEPROM config for custom PCIe expansion designs that do not support the upcoming HAT spec. This gives similar behaviour to CM4 where PCIe x1 is enumerated to discover NVMe devices.”
In other words, we needed to add PCIE_PROBE=1 to /boot/config.txt. We did so, rebooted and our WD drive was still not detected. It turns out that the firmware is not 100% there yet, and this causes compatibility issues with drives. We’re working with pre-release official firmware and so there are bound to be issues. After some tweaking and testing we found two drives that worked: a 128GB Cytron Makerdisk 2242 NVMe SSD and a 4TB Lexar NM790. These drives became our test drives.
How fast can the fastest Raspberry Pi go?
The Raspberry Pi 5 introduced a faster micro SD card interface for compatible SDR104 cards. But even the best microSD card cannot compete with an NVMe SSD and here we see both Hat Drives absolutely destroy micro SD card performance on the Raspberry Pi 5, but there is one thing that doesn’t see much of an improvement.
Boot times are faster with an NVMe drive, but don’t expect massive gains. Our baseline is a micro SD card boot time of 21.28 seconds. The fastest boot time was 16.56 seconds, achieved using Makerdisk 128GB at PCIe Gen 3 speeds. At the officially supported Gen 2 speeds we saw 16.78 for the same drive. At Gen 2 speeds that is a 4.5 seconds saving (21% off the boot time), not to be sniffed at but would we notice it in day-to-day operation?
Where we see the biggest speed boost is in general operations. At an OS level, opening apps and using the Raspberry Pi 5 like a desktop computer, we can enjoy a significant speed boost. Chromium loads instantly and web pages feel more responsive.
For the read tests we used dd to read the contents of the drive and write to /dev/null. This gives us a raw speed value. For write speeds we used Raspberry Pi diagnostics to provide us with the sequential write speeds.
The humble micro SD card managed 90.5 MB/s read, and 30.8MB/s sequential write. That is our baseline. Obviously the fastest speeds came from the 2280 at PCIe Gen 3 speeds. We saw reads of 863 MB/s and writes of 719 MB/s. Both are massive improvements on micro SD.
At PCIe Gen 2 speeds we saw the 2280 perform 469 MB/s reads and 383.2 MB/s writes. Again, that’s a significant improvement over microSD. The final test was at PCIe Gen 1 speeds, below the official spec for the Raspberry Pi 5 PCIe connector, but still faster than microSD. At PCIe Gen 1, the 2280 drive managed 235 MB/s read and 194.5 MB/s write.
Header Cell - Column 0 | Hat Drive Top (2242) | Hat Drive Bottom (2280) |
---|---|---|
PCIe Gen 1 Read | 225 MB/s | 235 MB/s |
PCIe Gen 1 Write | 192.7 MB/s | 194.5 MB/s |
PCIe Gen 2 Read | 448 MB/s | 469 MB/s |
PCIe Gen 2 Write | 378.7 MB/s | 383.2 MB/s |
PCIe Gen 3 Read | 828 MB/s | 863 MB/s |
PCIe Gen 3 Write | 571.4 MB/s | 719.1 MB/s |
Micro SD Read | 90.5 MB/s | Row 6 - Cell 2 |
Micro SD Write | 30.8 MB/s | Row 7 - Cell 2 |
The take-away from these tests is that the 2242 and 2280 drives are much faster than micro SD; that much was a given. Performance can differ between all models of drives.Our 2242 drive saw writes of 571.4 MB/s, while the 2280 writes at 719.1 MB/s. This is more down to the make and model of the SSD, rather than the Hat Drives. The PCIe interface is only x1 and so we will never achieve the max speed for any drive.
Bottom Line
Both boards are great. The Hat Drive Top is a great way to add NVMe without adding too much to the Raspberry Pi footprint. The Bottom board is bigger, it needs to be for 2280 drives. If you aren’t using a case, or plan to build something around the Pi, then the bottom board is a better investment. It affords us more NVMe SSD drive choices. 2280 Drives are commonly used in desktops and that means they can be bought cheaply.
The biggest issue right now is compatibility. We’ve spoken to Pineberry Pi and we have been informed that there will be an online resource to identify compatible drives. We’re not sure if this compatibility issue also impacts other NVMe SSD boards for the Raspberry Pi 5. We have yet to receive an official board from Raspberry Pi, but we do have a Pimoroni NVMe Base heading our way. Once we have these boards to test, we will update this review with our general findings.
Pineberry Pi’s Hat Drives are the first of their kind to hit the market, and after overcoming the initial issues, they performed remarkably well. Their low price and flexibility means we have an affordable means to add fast and plentiful storage to our Raspberry Pi 5. Check your SSD compatibility before purchase and you will have a great experience.
Les Pounder is an associate editor at Tom's Hardware. He is a creative technologist and for seven years has created projects to educate and inspire minds both young and old. He has worked with the Raspberry Pi Foundation to write and deliver their teacher training program "Picademy".
-
TRBSNT I got the HatDrive Bottom. And it seem like my NVMe drive doesn't get enough power through the PCIe cable. Can anyone identify the type of connector the 5V IN connector is?Reply -
MondogoFromSouthAmerica @TRBSNT I'm still waiting for the oficial Raspberry Pi 5 27W (which is meant to be able to cope with the HatDrive! Bottom) to arrive so, in the mean time, I'm using a Lenovo 65W charger that seems to be coping fine, nvme is performing well and no issues for the time being. Im currently running latest raspbian os lite x64 + miniDLNA + samba and the nvme is more than happy with the 65W even tho it does 5v@3a.Reply
here a link to the charger
https://www.trademe.co.nz/a/marketplace/computers/laptops/power-adaptors/ibm-lenovo/listing/4492417011