JM Robles - Tech Consultant & Entrepreneur

Exponentially Increasing the Performance of Raspberry Pi 5 with NVME SSD

Introduction

One of the most anticipated features of the Raspberry Pi 5 was the availability of a PCI Express port. This port opens up a range of possibilities, and one of the most notable is the option to swap the less robust SD memory card, especially against unexpected shutdowns, for an NVME hard drive.

Preparation and SSD Choice

As soon as I knew I would receive the Raspberry Pi 5, I began searching for a good option to install an SSD. I found that Pimoroni is designing and offering a base on pre-order that allows the addition of an SSD up to 2280 size in a secure and elegant way. Of course, I pre-ordered and recently received my board.

Installation and Configuration

For the NVME SSD, I decided to go for a 1 TB Crucial. The installation is quite simple, although perhaps the most complicated part is threading the flexible data cable between the Raspberry Pi and the SSD board.

Once the physical part was finished, it was crucial to update the firmware of the Raspberry Pi. The version I had did not even show the SSD when I ran the “lspci” command. To prepare the disk, I connected it directly to the PC and with a USB adapter, I wrote the image on the SSD.

Finally, using “raspi-config”, I indicated that I wanted to boot from the NVME. Moreover, to get the most out of it, I added a flag in the /boot/config.txt file to indicate that we would be using PCIe generation 3, dtparam=pciex1_gen=3. After restarting, the improvement is impressive! The operating desktop loads in just over 3 seconds. Incredible!

SSD vs NVME

It’s worth clarifying that NVME (Non-Volatile Memory Express) hard drives are an evolution of SSDs and provide a significant increase in the speed and efficiency of reading and writing data. While an SSD might provide speeds of up to 600MB/s, an NVME can reach up to 3500MB/s. This is because NVMEs are connected directly to the motherboard through the PCIe bus, allowing faster communication with the CPU.

Next Steps

The next step will be to add this device to the Kubernetes cluster that I am setting up. The speed and performance offered by the NVME will be very useful for improving the performance of applications running on the cluster.

Raspberry Pi 5 with SSD NVME Raspberry Pi 5 setup