The Geekworm X1003 is a well-designed PCIe to NVMe expansion board for the Raspberry Pi 5. It supports 2230 and 2242 SSDs with M.2 M-Key, does not interfere with the airflow when using the active cooler, and fits snugly within the official Pi 5 ABS case although you need to take out the fan layer from the top of the case.
We previously wrote about the low-cost Waveshare PCIe to M.2 adapter, but user Rex Tang highlighted a design flaw with its 2230 screw mount affecting 2242 SSDs that have chips on both sides of the module. Then, user PANiCnz recommended the X1003 with a compact design that doesn’t have the same issue. We also covered other PCIe to NVMe expansion boards such as Pimoroni NVMe Base and PineBerry Pi’s HatDrive, so feel free to check those out if interested.
Geekworm X1003 PCIe to NVMe adapter specifications:
- Compatible with Raspberry Pi 5 active cooler and Raspberry Pi 5 official case
- FFC cable is only 22mm in length.
- Supports installation of official active coolers
- Includes an M.2 disk activity LED. The LED stays on to indicate power is OK or on standby, and flashes during reading/writing activities.
- Supports 2230/2242 NVMe M.2 SSDs only.
- Supports additional GPIO power supply in addition to FPC power supply.
The company offers an installation guide on its wiki page. They ensure that their design follows the Raspberry Pi’s PCIe connector and cable guidelines ensuring long-term support through updates to the Raspberry Pi OS.
Geekworm advises not to use certain NVMe SSDs with a Phison controller because they don’t work well with their product. This includes the WD Blue SN550/SN580 series, WD Green SN350 series, WD Black SN850 series, and any other SSDs with the same controller. These models have known issues with the X10xx series NVMe shield. The company is hoping the Raspberry Pi Foundation will fix this problem soon.
The company points out that this product is only compatible with M.2 NVMe SSDs and doesn’t work with other types of M.2 SSDs. Older NVMe drives may perform poorly compared to newer ones. Also, new NVMe SSDs need to be partitioned and formatted before use with the Raspberry Pi.
The package for the X1003 V1.3 NVMe SSD Shield will contain the shield itself, a 22mm long PCIe FFC cable, an M2x13mm screw to attach the X1003 shield to the official Active cooler, and two M2x4mm screws for securing the NVMe M2 SSD in place.
The device is available for purchase at the company’s official store for $15.99 and on Amazon for $15.
Debashis Das is a technical content writer and embedded engineer with over five years of experience in the industry. With expertise in Embedded C, PCB Design, and SEO optimization, he effectively blends difficult technical topics with clear communication
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
jeff geerling needed one of these in his most recent youtube video, funny timing.
Is it just me or does each new solution look uglier than the previous ones due to the difficulties to make sure the fan continues to work ? I think it definitely shows how the RPi design team completely messed up with the thermal management and the board’s layout, because designing a board to receive so-called “hats” that will block the airflow from the critically needed fan is just a stupid failure. They need to either get rid of hte fan or to turn to a horizontal one on one edge of the heat sink
Since they broke enclosure compatibility now for the 2nd time between generations I wonder whether they’ve even considered putting the SoC for the 1st time on the lower PCB side?
And since RPi 5 isn’t vaporware any more I have one on order together with this passive cooling thingy (less than 10 bucks) just to test whether a fan is really needed or not…
Exactly!
Yes I agree. BTW, my RPi4 uses the same passive cooler and it’s sufficient.
Regarding the cooling by the PCB side, it’s even doable with current design: the PCB under an SoC has convection layers (ground planes etc) which conduct the heat pretty well on the other side, at least to reach the decoupling capacitors. I managed to cool one of my RK3288 boards using a very soft silicon thermal pad beneath the SoC, which was tightly compressed against a large alu heatsink, and it did work relatively well. Not as well as if it was the SoC itself of course, but well enough for the heat sink to be warm and the CPU not to hang.
BTW: my RPi 5 arrived now. Without any cooler the thing idled at above 45°C and started early to throttle even with the not so demanding 7-zip benchmark at close to 85°C. Ambient ~20°C.
The board is now sandwiched (used two additional thermal pads) and this way idle is below 31°C and even with the very demanding stockfish benchmark temps do not exceed 71°C. No fan needed.
https://i.postimg.cc/2SGR85N2/thermal-pads-klein.jpg
And by replacing the thermal pad that covers the SoC with a thin copper shim and some thermal paste, max temp when running the stockfish benchmark dropped from 71°C to 64.5°C:
https://i.postimg.cc/DZgyT93R/thermal-pad-replaced-by-copper-shim-klein.jpg
Always impressive how crappy most thermal pads are…
Who cares what it looks like it could be a spaghetti mess as long as it works
What a beauty!
I was disappointed I was required to supply my own hardware to mount my 2230 drive, as Geekworm does not supply the mounting screws/bolts/or anything at all to secure 2230 drives on both their 1000/1003 adapters.