I can confirm it is possible to get a working NVME drive fairly simply (or was I lucky?)…
I bought a ‘skeleton’ USB to NVME adapter from Ebay a while ago as an alternative to getting a NVME case so I could test drives as if they were a giant USB stick. Worked fine in Windows of course.
I ordered a PI5 on ‘the big day’ but didn’t get it until close to Christmas and then the various bases were being demoed getting me interested so ordered a couple of Pimoroni NVME Bases (I’ve since got a second PI5 from CPC). Also checked the ‘drive compatibility’ list and ordered a Patriot P300 512GB from Amazon.
I put the Patriot drive onto my USB Adapter and put 64-bit PI-OS on it using the Raspberry Pi Imager from my iMac. Plugging the adapter into the lower USB3 socket on the PI5 I was delighted to see it working nicely on its own (no SD card). I was hoping this could speed up the installation process for when the Base arrived.
The Pimoroni bases arrived today. I removed the PI5’s SD card and followed the hardware assembly video linked-to in the product page being extra careful with the ribbon cable.
Then powered up only to be met with a looping boot screen.
I set up another USB memory stick with the Raspberry Pi imager and put that in the PI’s USB socket and it booted up fine and I could see the Patriot drive (twice!) but file manager couldn’t get in them claiming invalid volume?
Went back to the Base product page and followed the EEPROM instructions and updated the config and the boot sequence. At first it claimed there was no EEPROM ROM to save?
I didn’t try the Gen 3 setting - staying safe for now.
Anyways, I powered down, removed the USB stick, powered up again and bingo! the system I’d previously set up on the Patriot with a different wallpaper popped up quickly.
I’ve copied a bunch of YouTube videos and assorted pictures and video playback seems rock solid.
So it works for me … Thanks Pimoroni :)
For anyone considering a HAT version I managed to order a Waveshare PCIe to M.2 HAT before they sold out their first batch and it came today. A surprisingly affordable version.
This one comes with metal stand-offs and a short, straight connector ribbon and, being smaller can only accommodate 2230 and 2242 sizes of SSD. I bought an Integral 256GB 2242 SSD to try with it and as per above I pre-formatted and installed Raspberry PiOS using Pi imager from my iMAC using a USB adapter and using the same adapter plugged into my Pi5 tested it working.
Assembled the kit with PiOS on an SD card and made the config adjustments then rebooted with the SSD only fitted and like magic it’s up and running. NB I had to break off the 2230 embedded mounting nut as it fouled up with the 2242 SSD preventing it from screwing down flat.
Not tried Gen 3 setting - from what I’ve heard about the PCIe ribbon link connection the straight line type might not work at higher speeds?
Only problem is it still doesn’t fit in a standard Pi case as the stand-off screw heads under the Pi lift it too much though longer threaded bolts through the case holes might work - or it might not even need the lower bolts?
Update: removed the lower bolts but kept the stand-offs and it’s a snug but usable fit in a official Pi5 case. Can’t put the white cap on but that would block ventilation anyway. Ace!
FWIW, despite initial concerns about potential problems with the physical connection method (made me think of gamers stressing about a scratch on their PCIe video card gold contacts!), the Pimoroni NVME base and supplied Adata Legend 700 512GB card worked straight out-of-the-box for me.
Using hdparm, read speed: Timing cached reads: 4078 MB in 2.00 seconds = 2041.64 MB/sec
Using dd, write speed: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.04333 s, 525 MB/s
Is that what I should expect (in mode 3)?
Expert step-by-step guidance provided by ChatGPT-4:
My PIM700, NVMe Base + 500GB SSD, came with a Netac NV2000. With the default PCIe Gen 2 setting, the pibenchmarks.com score was 38313, and there were no error messages in dmesg. With the Gen 3 setting, the pibenchmarks.com score was 53008, but dmesg contained the following four lines multiple times:
These errors did not appear to downgrade performance, but for now I will stick with Gen 2. I used a Vilros Raspberry Pi 5 Active Cooler Compatible Case to build an open-sided stack: short screw - Vilros bottom - 6mm M-F standoff - Pimoroni Base - 1mm washer - 6mm M-F standoff - RPi5 + active cooler - 17mm M-M standoff - Vilros top - short screw.