I’m fascinated by microcomputers, especially Raspberry Pi’s. Long awaited 5’th model came to me as a gift from my partner. I couldn’t wait to put my hands on it and some few months ago, at last I had it. But running OS from SD card is not what I wanted. Neither “hardcabeled” SSD. Microcomputer is micro for a reason and it should stay like this. There is a solution that suits my needs and… let’s say it: sense of style!
NVMe Base
Due to a very high demand it was almost impossible to buy an NVMe Base shortly after RPi’s release in October 2023. I had to wait few more weeks for it. And of course, as most of RPi addons, I chose one from well known brand Pimoroni – based in UK microcomputer addons manufacturer. If you don’t know them, check out their website, it’s fantastic!
Installation
Finally I got it after few weeks of waiting. Demand was so high that Pimoroni had to divide orders into groups and deliver NVMe Bases group by group. My order contained a base and NVMe drive Patriot P300.
Installation process is pretty straight forward. There is an assembly instruction on the website but if you know RPi’s system it shouldn’t be a problem to do it yourself. I had my 6 year old boy to help.
Software installation
There are couple of things that are necessary to do, before installing the system on NVMe drive.
- Boot RPi from SD card with Rasbpian image
- Format the NVMe drive using Raspberry Imager tool from the Raspian GUI
- In terminal run
sudo raspi-config
- Go to “Advanced” and choose your NVMe drive to boot from
- Reboot RPi
Activating PCIe 3 mode
Note that this mode is officially not supported but works, quite well as I can tell from my experience.
Make sure your system is up to date. In that case you might want to run
sudo apt-get update && sudo apt-get upgrade
in terminal.
- Edit: /boot/firmware/config.txt (using nano or vim, if you prefer)
- Add line in the bootom of the file:
[all]
dtparam=pciex1_gen=3 - Save, exit and reboot
Benchmarks
As your drive is working at it’s full possible speed it’s time to make measurements. There are some simple benchmarking tools in terminal that I will use.
systemd-analyze
This one will show boot time, both kernel and the whole system.
sudo hdparm -t --direct /dev/nvme0n1pl
where /dev/nvme0n1pl is the path to your drive mountpoint. Your drive propably will have different name – you can check it with
fsdisk -l
I did few runs to get sort of a medium score in MB/s. Read speed should oscillate around 800-820 MB/s.
Write speeds were tested using a script
sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh | sudo bash
Write speed was 436 MB/s. Really impressive! It leaves behind both SD cards (R/W ~ 70-90 MB/s) and USB3 SSD’s (R/W ~ 200 – 350 MB/s).
Conclusion
Benchmarks don’t leave any doubts – NVMe is the fastest memory technology on the market right now. If you want to use Raspberry PI 5 as I do for daily usage, such as internet browsing, LAN and servers management and even software development – which I do partially on RPi – NVMe drive is a way to take your raspberry to the next level!