The Pi 500 is much faster, but lacks M.2

Raspberry Pi this morning launched the Pi 500 and a new 15.6" Pi Monitor, for $90 and $100, respectively.

Pi 500 setup with monitor on desk

They're also selling a Pi 500 Kit, complete with a Power Supply, Mouse, and micro HDMI to HDMI cable, for $120. This is the first time Raspberry Pi is selling a complete package, where every part of a desktop computer could be Pi-branded—and makes me wonder if uniting all these parts into one could result in an eventual Pi Laptop...

Before we get too deep, no, the Pi 500 does not include a built-in M.2 slot. Sort-of.

Pi 500 PCB top side

I posted a full teardown of the Pi 500, alongside my full review of the Pi 500 and Pi Monitor. After popping the seam with a spudger, I was greeted by what looked like an M.2 slot... except it was missing an actual socket. It had pads for one, and indications for 2230, 2242, 2260, and 2280-sized NVMe SSDs... but the connector isn't present.

I quickly ordered some M.2 sockets from DigiKey and soldered one on—quite poorly, I may add.

Pi 500 M.2 socket installation

But that did not work. I realized after finishing up my work that none of the M.2 power circuit pads on the underside of the board are populated, thus the slot gets no power. There are also a couple missing capacitors on the matched PCIe traces coming from the BCM2712 SoC.

Also, if you peek at the left side of the Pi 500's PCB, there are a bunch of empty pads obviously meant for a PoE (Power over Ethernet) circuit!

It seems obvious this PCB was intended not only for the features delivered on the Pi 500, but maybe something more—a Pi 500 'Pro' (or maybe 'Pro Max', lol) with PoE and NVMe support. But why not populate M.2 circuits on the Pi 500 that's shipping now?

I asked, and Raspberry Pi responded:

Those features [PoE and M.2] are present to give us some flexibility to reuse the PCB in other contexts. We feel the feature set we've picked for the Pi 500 is the right one.

The Pi 500 also increased in price from the Pi 400—$90 versus $70—though it brings 2-3x faster speeds for nearly every feature, doubles the RAM to 8GB, and tacks on a 32GB A2 microSD card.

So as I mention in my video, it's not a bad value... but it's not quite the instant-buy it would be (despite the lack of an M.2 slot) if it remained at the $70 price point. The full 'Computer Kit' also had such a round price point of exactly $100.

Why do I care about the missing M.2 slot so much? Because I still believe microSD cards' SBC days are numbered. But as it is not present, I'll move on to reviewing what is present!

In lieu of the missing M.2, Raspberry Pi is including a 32 GB A2-class microSD card (with Pi OS pre-installed). Despite Raspberry Pi not supporting A2 features in the past, earlier this year they added support for A2 Command Queueing, vastly improving random IO performance.

It pales in comparison to NVMe performance (and high-capacity microSD cards are usually double the price of a much faster NVMe SSD...), but it's not nothing, I guess.

Pi 500 SoC BCM2712

Glancing at the other parts of the Pi 500's PCB, the whole middle section is nearly identical in layout to a Pi 5, probably saving on design costs, and then for the keyboard input, Raspberry Pi switched to using their own microcontroller, the RP2040. (RP2040 for peripheral support seems to be a trend, lately—I've spotted it on the MNT Reform trackball module, the Positron 3D printer control board, the System76 Launch keyboard, and even inside the System76 Thelio Astra I'm testing, on an IO/Fan controller!

Pi 500 Overview (and comparison to Pi 400)

Pi 400 Pi 500 Ports on back

Externally, at least on the rear, the ports are identical—save for the USB ports on the Pi 500 having independent USB 3.0 buses (for 2x5 Gbps, instead of a shared 5 Gbps of bandwidth). The layout is changed, but external I/O is the same (the Pi 400 is the red and white model in the picture above).

Pi 500 plugged in from above

Looking at the top, the keyboard layout and printing has changed a bit. The keyboard itself is a different design, with a slightly better feel (though 'feel' is somewhat subjective), but it's still a bit 'Chromebook' feeling (the key action has a midrange laptop feel). It's serviceable, and better than the Pi 400's keyboard, but not amazing.

The bigger improvement is the new dedicated power key, in the top right corner, where it should be. The Pi 400 had a strange setup where the function/power key was a couple over to the left, and I never got used to it.

Now, there's an LED that's green when the Pi 500 is on, and red when off. The power button works the same as the Pi 5 power button, with a long press forcing a shutdown.

After some exhaustive benchmarking, I found the Pi 500's performance to be within a margin of error from the Pi 5, at least for any normal benchmarking. Under extreme load for 30+ minutes, I didn't see any thermal throttling, but performance was slightly lower on the Pi 500 compared to my Pi 5 in that instance.

Pi 500 vs Pi 400 - Thermals

Thermally, the Pi 500 uses a large heatsink that also provides internal structure to the plastic case. It weighs nearly the same as the Pi 500, and I saw temperatures consistently 6-8°C warmer on the Pi 500's SoC, but the keys were never noticeably warm, even after a lot of benchmark runs:

Pi 500 thermals

The heatsink spread the heat out enough it didn't have a burn-your-fingers hot spot, like I remember back in the Intel MacBook days. But the passive heatsink can't keep up with 3.0 GHz overclocking. For that, you'd need to figure out custom active cooling, or a way to get more ventilation inside the plastic case. I was able to overclock to 2.8 GHz with moderate workloads, but 3.0 GHz resulted in severe thermal throttling after just a few minutes of benchmarking.

Compared to the Pi 400, the Pi 500 at its default 2.4 GHz clock is consistently 2-3x faster. The same speedup seen going from the Pi 4 to Pi 5, or CM4 to CM5:

Pi 500 vs Pi 400 HPL and Power Efficiency

Raspberry Pi also just released a software update to tweak SDRAM timings, resulting in an additional 6-18% speedup, depending on the workload (multi-core workloads benefit the most, alongside now-default NUMA emulation).

Pi Monitor

Raspberry Pi also launched a new $100 'Pi Monitor' today. It's a 15.6" IPS LCD, and it can be powered either directly off the Pi's USB port (at 60% brightness and 60% volume), or via an external USB-C charger (for 100%).

I measured the Pi Monitor's power draw (at the wall, using Raspberry Pi's own USB-C power adapter), and it seemed to pull between 5-5.5W while in use at 100% brightness, and 4-5W at 60% brightness. When the Pi 500 was powered off, the monitor didn't draw enough current to register on my ThirdReality Smart Outlet.

Pi Monitor buttons and LED on back

The hinge mechanism on the back offers a variety of viewing angles, and can even be flipped up to reveal nail mounts, if you want to just pop a couple nails in a wall and hang it on there!

But the back is also the location of all the controls and the power LED—an odd choice in the latter case, because I don't normally turn around my monitor to check if it's on or has power! (See above).

Luckily, the controls are intuitive, and easy to feel without looking—there's a large power button across the bottom, and then separate buttons for volume and brightness up and down.

The tiny built-in speakers are quite tinny, and only audible in a quiet place, but they'd do in a pinch. The better option is to plug headphones or speakers into the headphone jack on the back—it breaks the audio out from the Pi's HDMI output, which is handy for Pi 5 / Pi 400 / Pi 500 users especially, since those models have no analog audio jack!

Pi Monitor VESA mount dual setup portrait

The biggest gripe I have with the monitor (and it's a small one, in the grand scheme of things) is the VESA mount option. It's okay... but a mounting plate covers up the port area entirely, so if you ever need to change out a cable or plug in headphones, you have to remove the VESA mount entirely. It also makes installation more challenging, especially if your VESA mount stand doesn't have a detachable mounting plate!

Pi 500 Usage

Pi 500 and dual monitor portrait coding session setup

But because Raspberry Pi now makes all the hardware someone could conceivably require to build an all-Pi-battlestation, I asked if they'd send a second monitor.

I built a dual-monitor Pi workstation, with one monitor in portrait (it's easy enough using the Screen Configuration tool in Pi OS), and worked on updating the code on my Drupal website (the very one you're reading!).

The Pi 500 is snappy, and all the containers and tools I require for web development (Docker, Sublime Text, Firefox, PHP, MySQL, etc.) worked perfectly.

The 8 GB of RAM is slightly limiting, as running multiple containers and multiple apps can quickly load that up and hit swap—which is unbearably slow on the microSD card.

What I wonder, then, is if Raspberry Pi would be willing to build a "Pro" or "Pro Max" version of the Pi 500. Give us everything: an M.2 slot, easier opening of the case, a nicer keyboard, PoE+ support, and 16 GB of RAM (apparently a 16GB CM5 will come 'in 2025').

If they could keep the price down, that'd be a worthy first computer for a lot of aspiring developers—maybe this generation's Commodore 64. It still won't hold a candle to my Mac Studio, but I wasn't hampered at all, working on my Drupal codebase on the Pi 500. (Media work is different—I still can't do even the basics of my YouTube/photography work with any kind of speed on low-end Arm/Linux computers).

Of course, my Mac Studio doesn't fit inside a keyboard.

Benchmarks, Teardowns, and More...

As mentioned above, I made a series of videos; the main video with even more benchmarks and test data, is embedded below:

In addition, you can view my teardown of the Pi 500, or similarly, my teardown of the Pi Monitor.

Comments

Looks like the keyboard + RP2040 control is using the open source QMK firmware to manage keyboard input. (Thanks to viewer M for catching that!)

Omg why????? If the M2 was populated, I would buy in an eyeblick yet without the ability to install the nvme drive, the “all-in-one” potential is gone - it is going to be either the slow sd card or yet another usb to nvme dongle (which is imho pretty annoying in 2024). So yeah, nice to see RPI 500 yet unless there is the internal m2 fully populated (or RPI 500 pro / plus or whatsoever…), this is a missed potential of a truly all-in-one rpi powered device… what a shame :(

Excellent post Jeff, just what I wanted to know!

Honestly, without the M.2.. I wont buy it. I was really eager for the pi500, but this is very, very disappointing.

What do you use to code for this?
Kinda tough to get across what I'm trying to get across...

Imagine if Visual Basic 6 was still around, and a person was able to easily create 'windowed' type GUI programs, and it ran on Linux, and it allowed fairly easy access to the GPIO, and that's a lot of "AND"s in there.

What would a guy use?
(Make any sense? I've been out of the programming game for a few years now. Trying to get back into it. Last thing I did worth anything was back in 2015. youtube/skimask87, search POCASA)

Short answer: almost anything that runs on Linux can be made to run on the rPi OS and will absolutely run on Ubuntu on an rPi. If someone can code for Linux they can code for Pi. Python is pretty much required for everything I do but there are other options.

There are almost unlimited options in the Linux / UNIX ecosystem that allow programming almost anything you can imagine (and some things you can't). Visual Basic is heavy, bloated and cumbersome to use but at least it's huge. The tools that have survived are quite good and effective aand there are many Graphical SDEs that utilize the GNU ecosystem (which is exactly what Visual Basic is). A pretty picture sitting in front of a reasonably capable interpreter. Poke around under the Linux covers and you will find much better tools in Linux than in anything MS has ever made. I believe that MS C uses the GCC (GNU C Compiler) behind the curtain.

Complete misstep, not offering the Pi500 with an M2 slot. They went as far as making the PCB traces for it but save $5 dollars by not populating them with the connector and voltage handlers? Why not at least sell the a "Pro" version for $10 or $15 more with this functionality. The nerds will buy them!

Have you checked for 3.3V on the M.2 connector? Make sure to clean your soldering on the even pins (as that looked like a big blob from your video) as there are some control signals)

The moment I saw the Pi500 I rushed to buy it... then I stopped. So no PT keyboard layout - yet , ok because other layouts like US and UK are available first... then I've read... no M.2 ?!?! Well, I guess I'll be waiting for a Pi500+ or whatever. I can always build the not-so-compact Pi 5 in a case + pi keyboard (PT layout) + HAT+SSD. Everything can be hidden behind a monitor anyway. But I'm sad I can't just throw a new PI500 in my travel bag along with a Pi monitor and two power bricks.

Looks nice but lack of m2 is a deal-breaker for many enthusiasts, and non-enthusiasts wont be looking at rPi at all. I mean who wants to run their OS from an sd card? Nobody.

As for value, you can get an x86 micro for pretty cheap, especially if recycled government/enterprise from a couple of generations ago. You can get a base M4 mac mini for $599 that is light years better value than this. It includes an ssd for starters.

This decision further reinforces the reasons why desktop home users are moving on from rPi as a platform.

For simple things like hardware programming, (given the price point) would you recommend switching from the Pi 400 to the Pi 500? Is it worth it (comparing the price, the speed, and the extra features?)

Any thoughts on why they wouldn’t build these boards using a compute module? It would come with some storage without the need for an
unreliable mSD card?

First I thought that would be a good idea.
But:
a) connectors aren't for free
b) the CM is very dense, so I guess the used PCB technology is more expensive like the pi 500.
I think about via-in-pad, microvias, and low distance between PCB traces.
c) when designing a dedicated PCB, they have more flexibility. as you can see, the RP-1 chip is directly at the GPIO header and the ethernet PHY - with the CM, they would have to route all that from the connectors of the CM on.
d) the production is easier, just putting the assembled (and tested!) PCB into the housing and put the aluminium plate on it.

My experience says me it's not obvious, but I'm sure RPi thought about this as well and found out that the solution they have now is cheaper. :)

Regarding the storage: I'm pretty sure they will produce a variant with PoE and M.2. Just sit back and wait for it. :)

What's to stop us buying the rest of the missing components and getting m.2 support?

I thought about that as well, could be doable. I guess you could start just supplying the 3V3 voltage for the M.2 externally.
Jeff could you upload a picture from the backside? Maybe we could guess to find out which regulator is used and try to reverse-engineer that. :)

Also ... that "DIY Maker Pi500" , a homemade Pi500, has everything including M.2, but the official one fails to deliver this OBVIOUS feature ?! Like... damn...

I'm mostly confused as to why the 500's board isn't a CM board. Cost, probably?

I could understand the 400's custom board better since it used a slightly differently binned chip, but this doesn't seem to be the case for the 500. But a 500 line that was simply an IO board designed to fit the case, and which could ship with or without the CM5 onboard, would've been a killer.

Even cost seems a bit baffling, though. The CM5 dev kit is the IO board, 4GB CM5, heatsink, HDMI cables, case, external antenna PSU, and two HDMI cables at about US$10 more than the 500 kit that has an 8GB Pi 5 equivalent, keyboard case with internal antenna, and built-in 2040, but lacks M.2, PoE, and the second HDMI cable.

The folks who don't care what's inside still wouldn't have to care about what's inside a 500 powered by a module CM5. The folks who do would be jazzed at the possibilities. The ones that break would be repairable. And in any case (sorry) it'd still be significantly but not exorbitantly more expensive than the 400.

Why no screw fittings for a zero, pi3, pi4, pi5 or some kind of pi plate that would work that way ? It would make a nice all-in-one solution even without the 500

I was very intrigued with possibility to add M.2 slot to Pi500, so today I did it. I've fitted M.2 slot, 4 capacitors to PCIe lanes, and powered the SSD from bench supply via bottom of the PCB. It needs 3.3V on what is footprint for filtering cap. There are missing components on M.2 SUSCLK pin, which is 32.768 kHz for suspend functionality on some SSDs. Only official Raspberry M.2 HAT have this SUSCLK, and thus is more compatible with some SSDs. There is no 32.768 kHz clock on pad going somewhere to the board, so populating them is, for now, pointless on Pi500.

I can confirm that it is working in both Gen2 and Gen3 speeds in x1 mode. You only need to add dtparam=pciex1 and dtparam=pciex1_gen3 to enable SSD. You can also boot from it, if you add PCIE_PROBE=1 to eeprom config and enable nvme as boot device. So complete support is there.

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.

For whomever wish to try it, beware ! The PCIe capacitors are very small footprint, and good microscope and soldering skills are needed ! Adding M.2 slot on the other hand is very easy. Do not destroy your new fabulous Pi500 !

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

The PCIe capacitors are very small footprint, and good microscope and soldering skills are needed !

Hehe, yeah that's also part of why I gave up once I noticed the other power circuits were missing, I still don't have a good microscope, my tiny 'helping hands' magnifying glass just won't cut it.

Congrats on getting the thing working! Do you have a picture you could post to social media or somewhere (or email to me, or upload to a GitHub issue or something?), would love to highlight this as it's the first time I've heard someone get it working!

I've sent you e-mail with pictures of components, linux terminal output, and where to connect 3.3V power supply. I intend to complete the modification with adding proper DC/DC regulator, because I really want Pi500 form factor with nvme storage.

For this test, I desoldered nvme and four pcie caps from non-working trash notebook motherboard, to be sure it works on the pcie side. For the next step, I would need to order components from supplier - inductors, caps, resistors in proper packages, and the right regulator IC.

With the introduction of Raspberry Pi branded monitor, microSD, NVMe SSD... and the Pi500's keyboard being powered by RP2040 and programmed via QMK... it's got me thinking...

  • might we soon see an updated Raspberry Pi keyboard based on RP2040/RP2350, supporting same QMK firmware? (or maybe PIO-based pass-through for mouse USB using internal header?)
  • could there be update to Raspberry Pi mouse to be RP2040/RP2350-powered also? (and/or maybe official [panel-mounted] trackpad?)
  • CM4/CM5 footprint for adding CPU to official [Pro [Plus]] keyboard, possibly with internal USB header for optionally adding mouse?

I don't know what the marketing at Raspberry Pi are thinking but their recent Pi 500 is a total "swing and a miss" for the organization. The Pi 5 is a great step forward in many ways over the Pi 4 with a more capable cpu, improved physical layout and the NVME slot which can be used for advanced computing (HAILO 26 TOPS). To release a product like the 500 without the M.2 slot and POE populated and the try to lie to their customer base that the vestiges on the main board are for "flexability" going forward is ludicrous. The Pi community is largely made up of avid tinkerers and the presence of those unpopulated positions and their impact is an insult to your user base. This no longer 1985 where the computer industry can Bullshit their customers (look up RamSoft sometime) because there are a great many very sophisticated (electronics and software) user who crack the case open even before they power up the machine . Simply put, making your users wait 4 years for an update to the 400 and then to remove the one feature that makes the upgrade compelling make zero marketing sense. Who dreamed up this stupid approach? Both the M.2 and the POE are exactly what users are looking for . I will not buy this product just on principle. I am an electrical engineer and an avid Pi tinkerer since the ecosystem began but I am seriously considering other SBC solutions for my robotic designs. First major stumble Raspberry Pi, congrats!

@jeff: today's (dec13) blog page mis-redirects and returns an error (your entry about cucumber/carrot's results from populating the missing m.2 slot).

keep up the good work :),
Peter