Add two M.2 NVMe SSDs to Raspberry Pi 5 with Geekworm X1004 HAT+

We’ve seen a range of PCIe HAT(+) for the Raspberry Pi 5 taking one NVMe SSD, but Geekworm X1004 is different as it can take up to two standard M.2 2280 SSDs over the Pi 5’s PCIe connector and 40-pin GPIO header.

The official Raspberry Pi 5 M.2 HAT+ is not available yet, but we already have an embarrassment of choice with products such as the PineBerry Pi HatDrive, Waveshare PCIe To M.2 HAT+, Pimoroni NVMe Base, and the Geekworm X1003. The latest X1004 adds even more options with support for two M.2 SSDs for up to 8TB storage, although this may not make that much sense on the Pi 5 as we’ll discuss further below.

Raspberry Pi 5 Dual NVMe SSDs

Geekworm X1004 specifications:

  • Supported SBC – Raspberry Pi 5 only
  • Chipset – ASMedia ASM1182e PCI express packet switch with 1x PCIe x1 Gen2 upstream port and 2x PCIe x 1 Gen2 downstream ports
  • 2x M.2 sockets for up to 8TB storage capacity (4TB+4TB) with M.2 NVMe solid-state drives (2280 size only)
  • Max data transfers – Up to 5 Gbps PCIe 2.0, up to 8Gbps with PCIe 3.0 (note: this seems impossible with the ASM1182e)
  • Host interface – Raspberry Pi 5 PCIe FFC connector (30mm FFC cable provided) and 40-pin GPIO header
  • Power Management
    • 5V DC via 40-pin GPIO header
    • 2x DC/DC step-down converters delivering a maximum of 3.5A+3.5A to power SSDs
    • compatible with the HAT+ standby power state, automatically turning off when the Raspberry Pi 5 shuts down.
  • Dimensions – 87mm x 57mm

SupTronics RPi5-PIP NVMe Shield X1004

The Geekworm X1004 HAT+ expansion board looks to be made by SupTronics Technologies and is also called the “RPi5-PIP NVMe Shield X1004”. The PCIe switch is not named in the specifications provided by the company, but if I read that correctly that would be the ASM1182e PCIe 2.0 x1 switch. If the information on the website is correct then PCIe Gen 3 is not an option meaning the top speed should be limited to 5 Gbps, or in practical terms we would have 400MB/s shared between the two storage devices (200MB/s if both are used simultaneously).

Some people are using an SSD instead of a microSD card for booting the OS on the Raspberry Pi, but the ASM1182e is not supported by the Raspberry Pi 5 firmware at this time (and likely never will be), so you’d need a microSD card to boot Raspberry Pi OS, Ubuntu 23.10 or other supported OS, and the two SSDs can only be used for storage as highlighted on Geekworm’s wiki. You might as well connect a cheaper 8TB USB 3.0 hard drive that should deliver acceptable sequential read and write speed (e.g. 160 MB/s for a Seagate Desktop Drive), although I reckon random I/O will be much slower, most people won’t care for storing data, as opposed to running the OS from there.

Geekworm X1004 dual NVMe SSD HAT plus boardIf despite the caveats mentioned above, you’d still think it’s something you’d like to try, the Geekworm X1004 can be purchased on Aliexpress for $42.99 plus shipping, and should soon be offered on Amazon with the other M.2 NVMe HAT+ boards. It’s quite more expensive than other SSD HAT+ for the Raspberry Pi due to the PCIe switch.

Via Liliputing and MiniMachines

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard

9 Replies to “Add two M.2 NVMe SSDs to Raspberry Pi 5 with Geekworm X1004 HAT+”

  1. At first I didn’t understand why you said the chip was not supported by the Pi5 firmware, since it’s just a bridge and doesn’t require drivers, but in fact it’s likely just that the current firmware doesn’t support enumerating NVME devices behind a bridge. I find it odd not to support bridges when you bring a single PCIe lane, as it’s definitely expected that almost anything will be placed behind a bridge.

    Also I noticed that the product vendor suggests 5G/8G for the transfer speeds, but it’s clear that ASM1182e is only gen2 and 5G. Unfortunately Asmedia doesn’t seem to provide single-lane chips for PCIe gen3, but that could be very useful!

    1. >  it’s likely just that the current firmware doesn’t support enumerating NVME devices behind a bridge

      Exactly. The excuse with CM4 was lack of space in the proprietary bootloader, the RPi 5 excuse is still waiting to be announced:

      But maybe it’s just market segmentation since an upcoming CM5 might expose another externally available PCIe lane…

  2. The x1003 from Geekworm has a few reviews about it simply not working, so perhaps wait for some third party reviews to see if this works at all.

    1. Some vendors seem to be in the “throw things at the wall and see what sticks” stage. One thing I’ve noticed is many vendors are building products with simple/cheap FFC cables, which are prone to errors with many devices (most notably, the Coral TPU requires extremely strict PCIe timing, and those cables are terrible for that).

      I’ve been slow to recommend new boards, even though they’ve been coming out at a fever pitch lately, mostly because I can’t recommend one to someone if I haven’t personally verified the thing works!

    1. I think the hole in the PCB may be to allow airflow, I have seen it done on a few of these NVME boards now that mount on top. The hole and space under the NVME drive might provide enough airflow for the pi5.

  3. Hello friend, I’m new to rapsberry pi, so I apologize for the question. I bought a pi5 and needed to add an m2 SSD and a google coral to run the home assistant. The idea is the SSD to boost the system and Google Coral on the m2 to also run cameras on the frigate. Would this card work?

    1. Yes, it should work as long as you use an NVMe 2280 SSD and a Google Coral “B+M” key module since the “A+E” key module won’t fit.

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC