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.
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
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.
If 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

Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress