Pi modder successfully adds M.2 slot to Pi 500

As I briefly mentioned yesterday, someone mentioned in this blog's comments a successful M.2 socket installation on the empty header on the Pi 500 (something I attempted, rather poorly!). With a few added components, and 3.3V supplied to a pad on the bottom via a bench power supply, the M.2 slot works just fine, allowing the use of NVMe SSDs or other PCIe devices.

Pi 500 NVMe dmesg boot info

Indeed, this person emailed me further proof, along with notes for anyone wishing to follow in their footsteps.

First, solder on four minuscule capacitors (rating may be gleaned off the CM5 IO Board schematics, I think?) on the PCIe lines heading to the NVMe slot. These are incredibly small, so a good microscope and decent SMD soldering skills are pretty necessary.

Pi 500 NVMe capacitors PCIe data lines

The M.2 socket is comparatively easy—though that didn't stop me from making a mess of mine, which did not look nearly as nice as the one above!

Then, using a bench power supply, apply +3.3V to the indicated pad in red, and ground to the pad in blue, and boot up the Pi 500.

Pi 500 SSD power pads bottom

If you don't see the device right away, you may need to enable the PCIe connection and set it to Gen 3 speed in your boot config.

Regarding the ICs required to get this working without a bench power supply:

Now I need to figure out which DC/DC converter they used on the backside of the PCB. It needs to be something with 3.3V and ENABLE functionality, because they need to disable power to ssd during Pi500 power down.

Maybe something could be gleaned from the CM5 IO Board Design Files? According to Bluesky user @eliasrm.bsky.social‬, it could be a AP3441SHE-7B. I also bought this M.2 socket, not sure on the other tiny components required but please feel free to post in the comments!

Update: X user @ChoptecOfficial put the whole circuit together, and can run it all of the Pi 500's internal power supply.

And the post from yesterday concluded with:

I intend to use it as a second linux PC, NVMe SSD is a must!

Indeed. I think for most of us, seeing the pads there, but unpopulated, was a giant head-scratcher. The Pi 500 would've been more of a slam-dunk win with the slot in place, even if empty.

Comments

I agree having an unpopulated m.2 would make the Pi500 that much more appealing. I understand the accessibility reasons for keeping the Pi’s on microSD, but giving this extra option to encourage people to “open up” their PCs seems like a no-brainer.

It was a stupid choice to leave it unpopulated. The HDMI converter I can live with but I see no use for a SD-only Pi500.

Might it be that adding those components makes the thing fail EMC, which could be why RPL haven't shipped it with the slot working as they wouldn't be legally allowed to sell it ?

He said it in his video review, they claim they made the PCB re-usable for different products and felt they had the right configuration for this product.

Is it possible that they left it unpopulated because they plan to have a more "premium" or "pro" version down the line with 16GB of ram? If so that seems a pretty poor excuse as 8GB is more than enough currently for a lightweight Linux system. Knowing that the lines are connected and working does make me more likely to buy this now though. Still don't like the keyboard though!

I feel like the Raspberry Pi foundation was kind of asking for the things people said about them in the comments section of the Raspberry Pi news forum, and it was kind of strange seeing an the spot for an M.2 slot but no slot and no provisions for it. If you're not interested in speeds, is it really worth switching to the Pi 500?

I worry unpopulating the M.2 socket is the first example of many in the profit-chasing downward spiral they might be falling into after the IPO.

I imagine, previously, there would be a post from them describing how they re-route the board 7th time and managed to save few cents somehow, how their CNC friend over somewhere managed to design a clever door for NVMe SSD, and have the socket from day one.

Personally, this is the first Pi I'm going to skip as I believe they will add the socket later (and in a more expensive version of 500, unfortunately).

While I appreciate the conciliatory tone of your blog posts, this is a much bigger deal imho. The fact that almost everything is on the board already, even leaving a dud connector and the M.2 mounting holes, reeks of the type of stuff a profits-hungry corporation would do, upselling you later on a "Pro" version that they produce at almost identical price.
Yes, I understand they are a business and they need to make money to survive, but come on.

This guy gets it. This decision was purely about making sure the Pi 500 was out by Xmas 2024. I am willing to bet, either to supply or due to production, having the Pi 500 ship with a working M.2 slot would’ve meant January or February release.

Yes, but looking at the comments on the Raspberry Pi news, they would've made way more money adding an M.2 slot.

I suspect the fact that some SSDs are power hungry and most are thermally limited on writes, that cooling in plastic shell could be a concern, if we ignore the problem of whether there’s enough DC-DC converter capacity.

Maybe they found instability and deleted the socket and other parts rather than deal with a recall.

Power-hungry SSDs shouldn't be an issue in most use cases; just don't use them. You've only got one PCIe lane at either Gen2 (default) or Gen3 (overclocked) speed, so you don't need a high end SSD for your Pi 500 or Pi 5. The only exception I can imagine is if you want to use a super high write endurance enterprise-grade SSD, but you're not going to do that very often on a Pi.

Assuming this is used as a typical desktop, how much slower will the system run without the SSD?

The ground you used here is signal ground, for power use the top left pin.

The other unpopulated parts are an inductor and a few capacitors.

It is pretty much a reference implementation from the datasheet, I'm not sure what the components are that connect to the FB pin on the top right. Probably one capacitor to ground with two resistors.

Certainly these should have been populated from the factory, whomever thought it was a good idea to omit a few parts should really be questioned.