🚀 Supercharge your Raspberry Pi 5 with NVMe speed – don’t get left behind!
The GeekwormX1001 PCIe to M.2 HAT is a precision-engineered expansion board designed exclusively for Raspberry Pi 5 models. It supports a wide range of M.2 Key-M NVMe SSDs (2230 to 2280 sizes), delivering PCIe Gen 3 x1 speeds via a direct FFC ribbon power connection. Lightweight and compact, it requires proper OS and firmware setup to unleash high-speed storage capabilities, making it the ultimate upgrade for Pi 5 enthusiasts seeking cutting-edge performance.
Brand | Geekworm |
Series | X1001 |
Item model number | X1001 |
Operating System | Raspberry Pi OS Bookworm |
Item Weight | 0.776 ounces |
Product Dimensions | 3.42 x 2.2 x 0.04 inches |
Item Dimensions LxWxH | 3.42 x 2.2 x 0.04 inches |
Color | Black |
Manufacturer | Geekworm |
ASIN | B0CPPGGDQT |
Country of Origin | China |
Date First Available | December 7, 2023 |
C**C
Working great with PCIe 4 NVME
Super solid, works great. As it's HAT+ specification you might not actually need to add to these lines to /boot/firmware/config.txt but I did anyways:# Enable the PCIe external connectordtparam=pciex1# Force Gen 3.0 speedsdtparam=pciex1_gen=3And what I'm getting with a Sabrent 1TB PCIe 4:jazzy@pi-five:~ $ sudo nvme listNode Generic SN Model Namespace Usage Format FW Rev--------------------- --------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------/dev/nvme0n1 /dev/ng0n1 48790459505660 Sabrent SB-ROCKET-NVMe4-1TB 1 1.00 TB / 1.00 TB 512 B + 0 B RKT4B5.1jazzy@pi-five:~ $ sudo hdparm -Tt /dev/nvme0n1p2/dev/nvme0n1p2:Timing cached reads: 4322 MB in 2.00 seconds = 2164.56 MB/secTiming buffered disk reads: 2244 MB in 3.00 seconds = 747.52 MB/secjazzy@pi-five:~ $ fio --name=writefile --size=1G --filesize=1G --filename=/tmp/fiotest.tmp --bs=1M --nrfiles=1 --direct=1 --sync=0 --randrepeat=0 --rw=write --refill_buffers --end_fsync=1 --iodepth=200 --ioengine=libaiowritefile: (g=0): rw=write, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=200fio-3.33Starting 1 processJobs: 1 (f=1)writefile: (groupid=0, jobs=1): err= 0: pid=3385: Sat Jan 20 22:33:28 2024write: IOPS=773, BW=774MiB/s (812MB/s)(1024MiB/1323msec); 0 zone resetsslat (usec): min=31, max=5255, avg=42.96, stdev=163.15clat (msec): min=54, max=512, avg=251.31, stdev=94.73lat (msec): min=54, max=512, avg=251.35, stdev=94.72clat percentiles (msec):| 1.00th=[ 55], 5.00th=[ 55], 10.00th=[ 104], 20.00th=[ 209],| 30.00th=[ 257], 40.00th=[ 257], 50.00th=[ 257], 60.00th=[ 257],| 70.00th=[ 257], 80.00th=[ 257], 90.00th=[ 380], 95.00th=[ 447],| 99.00th=[ 498], 99.50th=[ 506], 99.90th=[ 510], 99.95th=[ 514],| 99.99th=[ 514]bw ( KiB/s): min=790528, max=794624, per=100.00%, avg=792576.00, stdev=2896.31, samples=2iops : min= 772, max= 776, avg=774.00, stdev= 2.83, samples=2lat (msec) : 100=9.67%, 250=14.36%, 500=75.20%, 750=0.78%cpu : usr=18.15%, sys=3.10%, ctx=1033, majf=0, minf=8IO depths : 1=0.1%, 2=0.2%, 4=0.4%, 8=0.8%, 16=1.6%, 32=3.1%, >=64=93.8%submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%complete : 0=0.0%, 4=99.9%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1%issued rwts: total=0,1024,0,0 short=0,0,0,0 dropped=0,0,0,0latency : target=0, window=0, percentile=100.00%, depth=200Run status group 0 (all jobs):WRITE: bw=774MiB/s (812MB/s), 774MiB/s-774MiB/s (812MB/s-812MB/s), io=1024MiB (1074MB), run=1323-1323msecDisk stats (read/write):nvme0n1: ios=3/972, merge=30/0, ticks=16/217358, in_queue=217374, util=84.17%jazzy@pi-five:~ $ fio --name=readfile --size=1G --filesize=1G --filename=/tmp/fiotest.tmp --bs=1M --nrfiles=1 --direct=1 --sync=0 --randrepeat=0 --rw=read --refill_buffers --end_fsync=1 --iodepth=200 --ioengine=libaioreadfile: (g=0): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=200fio-3.33Starting 1 processJobs: 1 (f=1)readfile: (groupid=0, jobs=1): err= 0: pid=3392: Sat Jan 20 22:33:36 2024read: IOPS=828, BW=828MiB/s (869MB/s)(1024MiB/1236msec)slat (usec): min=21, max=532, avg=58.84, stdev=73.93clat (msec): min=35, max=476, avg=236.92, stdev=86.88lat (msec): min=35, max=476, avg=236.98, stdev=86.83clat percentiles (msec):| 1.00th=[ 37], 5.00th=[ 58], 10.00th=[ 109], 20.00th=[ 211],| 30.00th=[ 241], 40.00th=[ 241], 50.00th=[ 241], 60.00th=[ 241],| 70.00th=[ 241], 80.00th=[ 241], 90.00th=[ 355], 95.00th=[ 414],| 99.00th=[ 464], 99.50th=[ 472], 99.90th=[ 477], 99.95th=[ 477],| 99.99th=[ 477]bw ( KiB/s): min=839680, max=849920, per=99.58%, avg=844800.00, stdev=7240.77, samples=2iops : min= 820, max= 830, avg=825.00, stdev= 7.07, samples=2lat (msec) : 50=4.30%, 100=4.88%, 250=72.36%, 500=18.46%cpu : usr=0.00%, sys=5.43%, ctx=994, majf=0, minf=12808IO depths : 1=0.1%, 2=0.2%, 4=0.4%, 8=0.8%, 16=1.6%, 32=3.1%, >=64=93.8%submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%complete : 0=0.0%, 4=99.9%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1%issued rwts: total=1024,0,0,0 short=0,0,0,0 dropped=0,0,0,0latency : target=0, window=0, percentile=100.00%, depth=200Run status group 0 (all jobs):READ: bw=828MiB/s (869MB/s), 828MiB/s-828MiB/s (869MB/s-869MB/s), io=1024MiB (1074MB), run=1236-1236msecDisk stats (read/write):nvme0n1: ios=949/0, merge=0/0, ticks=200810/0, in_queue=200811, util=92.38%
P**.
Review of M.2 Hat on a Raspberry Pi5
Review of M.2 Hat on the Raspberry Pi5. All parts came carefully packaged, and the Hat was installed without any issues. But of note is that the standoffs used to hold the Hat (3) tie up the screw holes you'd normally use to hold the RPi5 in a case. So you'll have to consider how best to overcome this, either longer screws that pass through the case, or alternate method. You may also need to adjust or come up with an alternate case as the Hat adds to the overall height of the RPi5.
D**N
Great M.2 hat
It was easy to install I added a heat-sink to mine, since it was getting pretty warm when I used it! Less than 5 minutes to install. I cloned my SD Card and now boot from the M.2 SSD. It's faster than the SD card.
R**0
Fast, cheap, durable
Fantastic, easy to use, never using sd card w pi again!
J**I
Not bad! Not great... Not blazing fast, and also not "simple" to install.
If you are running an OS other than RaspberryOS, you will need help.I got this HAT to use an M.2 SSD with Kali. I did all of the directions and instructions provided by the Geekwork Wiki page, but I need help getting the SSD to be detected. So I swapped SD cards to my RaspbienOS install and THEN was able to update the EEPROM and THEN was able to get the SSD HAT to work and the drive to be recognized. I then used the Raspberry Pi Imager App to install Kali to the SSD, changed the boot settings, and was off to the races. Not an easy setup/install by any means, but you can get to where you want to go, if you take the right steps.
O**.
Easy Install
Easy fit. Cable was not difficult to install. Holds the 1TB SSD and easy to configure in the boot.config.Loaded the OS on it and made it the boot drive.
A**R
great performance
This really made a difference in my Raspberry Pi 5's performance! I saw my score jump from 2K all the way to 30K. Definitely worth it if you're looking to get more out of your Pi 5.
B**G
All good
Works great, leaves access to GPIO
Trustpilot
1 day ago
1 week ago