Raspberry Pi 400 review—the under-$100 desktop PC you didn’t know you needed

Late Friday afternoon, I got an exciting SMS notification—my review sample of the new Raspberry Pi 400 had arrived. I learned of the new Pi model last week while interviewing Raspberry Pi founder Eben Upton and Canonical desktop engineering director Martin Wimpress about Ubuntu 20.10’s newly improved desktop support for the Pi hardware family.

In brief, the Pi 400 is a slightly faster version of the 4GiB Pi 4 which ships preassembled in a small, wedge-shaped chassis with integrated keyboard. The new model directly targets desktop replacement use and can be purchased solo for $70 or as a full kit (as seen above) for $100.

The new form factor—which has apparently been in the works ever since the introduction of the official Raspberry Pi keyboard—addresses and enthusiastically supports the Pi 4’s growing use case as a replacement or alternative for the traditional desktop PC. Upton told Ars that the Pi 400 is about 20 percent faster than the Pi 4; it has largely the same components under the hood but on a differently laid-out board, and its BCM2711 CPU is clocked a touch higher than the BCM2711 in the Pi 4.

Unboxed and plugged in, the Pi 400 is functional but not particularly lovely. On the plus side, the integrated keyboard means one fewer cable to deal with. Unfortunately, the remaining cables are unusually likely to snarl and look a bit feral. They are both stiffer and shorter than I’d prefer in an ideal world, making it difficult-to-impossible to end up with a setup that doesn’t look like a rat’s nest. The red cable for the mouse clashes pretty violently with the off-white cables for USB-C power and micro-HDMI out, which doesn’t help any.

That said, it’s important to remember that the entire kit retails for $100. Within the limits of the Pi 400’s very generous price, it’s not really fair to complain too hard about a few aesthetic gaffes here and there! Consumers with a few extra dollars to spend might want to consider replacing the Pi 400’s mouse with something a bit more functional, though… and a full-sized keyboard might not be a bad idea while you’re at it.

The integrated keyboard is functional but noticeably narrower than a standard keyboard. I’m not generally sensitive to variations in keyboard layout due to a long career involving Other People’s Computers in large numbers, but I was plagued with constant mistyping problems the entire time I tested the Pi 400.

It’s also worth noting that, while the Pi 400 supports dual displays, it does so with micro-HDMI ports, not full-sized ones—and it ships with a single cable. You’ll need an extra cable if you want to use your Pi 400 with dual displays—and since it ships with a micro-HDMI to HDMI cable, not an adapter, things will get complicated if you want to use it with, e.g., portable LED displays that have off-sized ports themselves.

Finally, there’s no 3.5mm audio jack on the Pi—if you’ve got it hooked to a television or a monitor with speakers, it can deliver audio over HDMI; otherwise you’ll need a supported USB audio device. I tested with an inexpensive USB gaming headset, which worked fine.

Impressions—Raspberry Pi OS

I began testing the Pi 400 using its native Raspberry Pi OS Linux distribution—which is basically Debian with XFCE4 and a lot of middleware optimizing it for the Pi. Unfortunately, there’s almost nothing in the way of standard benchmarking utilities which run on ARM Linux—all I could find was the Phoronix Test Suite, which would have required more time to run than I had to test the device in total. So for the most part, I’m going to talk about my subjective experience, rather than hard numbers.

The good news about the Pi 400 is that it does make a credible desktop PC, in the sense that, yes, you can totally use it without things breaking. With that said, you’re unlikely to forget that you’re using a very inexpensive ARM device. Much like the Pinebook Pro, the Pi 400 exhibits heavy latency when opening applications that’s perhaps possible to live with but impossible not to notice.

Also like the Pinebook Pro, once the applications are actually open, they generally run smoothly enough—although we did find the Pinebook Pro’s hex-core 2.0GHz big / 1.5GHz little CPU noticeably punchier than the Pi 400’s straight 1.8GHz quad-core. The biggest problem I had was with high-resolution, high-frames-per-second YouTube videos.

I only tested the Pi 400 with a 1080p monitor, so I can’t speak to its chops with 4K videos—but it’s absolutely not capable of handling the Costa Rica in 4K 60 fps HDR video without visible frame drop, even at 720p. The major issue here appears to be the 60 fps rate, not the 720p resolution. I also tested the “Forests” episode of Netflix’s docu-series Our Planet on YouTube at 1080p, and that video played back flawlessly.

Examining CPU utilization during playback of the 60 fps Costa Rica video, we can see the little 1.8GHz Broadcom quad-core CPU struggling—it’s at its limits, with CPU utilization for all cores at more than 90 percent. Although the BCM2711 supports hardware offload of video decoding—without which, this video would be playing in seconds per frame, rather than just dropping frames a bit—the hardware offload can only do so much, and the CPU is being asked to take on more than it can handle in software.

This effect is even more visible when entering or leaving full-screen playback. On a standard desktop PC, that operation takes perhaps 100-150ms. On the Pi 400, it frequently takes as much as three or four full seconds, during which the video itself tends to keep playing, but the surrounding controls and framework only partially render / stop rendering while the shift finishes taking place.

Getting audio out of the Pi 400 was a bit of a challenge; it defaulted to attempting to deliver audio over HDMI, and Raspberry Pi OS’s audio control dialog isn’t the best. Even after changing the output device to USB Audio (my gaming headset), YouTube wasn’t producing audio—and there’s no “test” button I could find in Pi OS, like the one in Ubuntu’s audio-control dialog. Closing and reopening the browser entirely after changing the output device resolved the issue, and audio played from the headset fine afterward.

All of these quibbles aside, I again have to make note of the sheer inexpensiveness of the Pi 400—it’s only $70 for the device itself or $100 for a kit which includes a mouse, SD card, micro-HDMI to HDMI cable, USB-C power supply, and 247-page full-color guide packed chock-full of tips and projects.

At $100 or less for a functional, reliable, well-packaged, and integrated desktop computing device, I’m not going to get mad about YouTube looking funny and hanging for a few seconds when it shifts back and forth from full-screen. Yes, Walmart’s $350 Gateway laptop is considerably more powerful, and it includes a screen, battery, and much better keyboard… but that $350 would buy five Raspberry Pi 400s.

Ubuntu 20.10 “Groovy Gorilla”

I also tested the Pi 400 under Ubuntu 20.10, which was preflashed on a second SD card that the Pi Foundation shipped specially to us along with the Pi 400 kit. The Ubuntu image is actually an installer itself, not a fully installed OS; on first boot, it walks the user through a few basic questions prior to running the actual installation process, which also goes to the SD card.

In general, Ubuntu 20.20 is exactly as desktop engineering director Martin Wimpress promised me—a fully functional distribution ready-to-go with the Pi 400, without any quibbles about things that don’t work here or there. If you’re familiar with Ubuntu Desktop, you’ll be familiar with Ubuntu on the Pi 400—it just works, and it looks exactly the same as it would on a traditional x86 system.

With that said, it is significantly slower than Raspberry Pi OS, and for the moment, I wouldn’t particularly recommend it on the Pi 400 yet. It’s noticeably slower to boot, slower to open applications, and the 60 fps YouTube video that dropped frames here and there under Raspberry Pi OS only renders a frame here or there under Ubuntu.

We suspect that most of the people who are habituated to Ubuntu’s Gnome3-based desktop will find it easier to adapt to Raspberry Pi OS’s functional XFCE-based desktop than to deal with the lower performance Groovy Gorilla offers right now.

I suspect this will change in the future, as Canonical and the Pi Foundation continue working hand-in-hand to improve Ubuntu’s integration on the Pi—but Raspberry Pi OS, like Ubuntu, is for the most part just Debian under the hood. I think it’s probably better, for now, for Ubuntu users to adapt to using Pi OS rather than adapting to Ubuntu’s lower performance on the Pi.

Performance and reliability analysis

The best news about the Pi 400’s performance and reliability is that the device doesn’t seem to share the Pi 4’s predilection for overheating. Despite having no active cooling, the Pi 400 never got within 30°C of its thermal limits in my testing—even during a 10-minute-long CPU stress test, using stress-ng. My office was at 28°C during testing; the Pi 400 idled at about 32°C and peaked at 52°C—and it’s rated for unthrottled operation up to 85°C.

Moving on from the thermals, I wanted to get a little more detail about what’s happening when the Pi 400 opens applications sluggishly and plays back video less-than-smoothly. A lot of readers got excited about Ubuntu’s new firmware which allows USB booting, potentially overcoming SD card I/O limitations—so I particularly wanted to look for spikes in CPU iowait (time the processor spends waiting for data to come back from storage).

Although there is an occasional large spike in iowait (magenta areas on the graph)—like the one visible on CPU3 at about 16:52:40—they’re uncommon. For the most part, what I’m seeing here is just plain not enough CPU to get transient, high-demand tasks done as quickly as x86 users are accustomed to getting them done. Opening applications is hard work—significantly harder, in many cases, than actually running those applications—and the lack of grunt in the BCM2711 is readily apparent there.

We can also see that lack of CPU firepower readily in the Netdata graphs when shifting the Costa Rica video from 480p/30 fps to 720p/60 fps. At 480p/30 fps, the CPU spends most of its time beneath 50 percent CPU utilization, with frequent but narrow spikes up to 80 percent or higher. But when we try to render 60 fps video, the CPU spends almost all of its time at 80 percent or higher, on all four cores—making it effectively saturated, with the result of rendering video in seconds-per-frame rather than the other way around.

It certainly can’t hurt to replace the onboard SD card with a high-performance USB3 solid-state drive—but I don’t believe it will really solve the underlying issue that the Pi 400 is still a Pi, with a passively cooled CPU that just doesn’t stack up to actively cooled x86 CPUs in standard desktops and laptops.

Disassembly

There’s not a whole lot of reason to crack open the Pi 400, apart from sheer curiosity—what little is on the board at all is soldered down, and with the entire device only costing $70, we’re not sure there will ever be much market for replacing the motherboard in an existing chassis.

If you decide to break open a Pi 400 anyway, you’ll need a spudger—the chassis isn’t held together with any screws at all, so don’t bother peeling the feet off the underside. Instead, take a fine-edged spudger and gently work it into the seam—eventually, you’ll expose one of many little rectangular cutouts that allow further prying. At each one, gently work the spudger a little bit deeper, then just continue to slide it across the device inside the seam.

The clips on the chassis are tight, so we really do not recommend substituting a knife blade for a proper spudger here—if you do, you’ll at the very least leave obvious chewed-up marks on the case, and quite likely you’ll accidentally break one or more clips and leave things an ugly mess.

Once inside, you can lift the black plastic clip holding down the keyboard’s ribbon cable and slide the cable out of its receptacle—there is no pinned connector here; the little black clip directly pins the conductors on the cable to their mates on the mainboard. With the keyboard disconnected, you can then remove the four screws which mate the heat spreader to the mainboard—they look pretty funky, but a small Phillips-head screwdriver fit them well enough.

Have I said “gently” yet?

After the screws are out, you’ll need to pry the heat spreader gently from the mainboard—it’s still held on, in this case by a small square of double-sided thermal tape mating it to the BCM2711 CPU. Be very careful here; if you damage the thermal tape and don’t properly repair it afterward, you could end up with an overheating Pi.

Once you’ve ooh-ed and aah-ed at the bare internals of your Pi 400, thread the keyboard cable back through its cutout in the heat spreader, slide the cable into its dock on the board, and pin it in place with the little black clip. Next, fasten the screws back into the spreader after—again, carefully—pressing it firmly back into contact with the CPU by way of its small patch of thermal tape.

With that done, the halves of the chassis can be snapped back together, using gentle pressure while working your way all around its edges.

Conclusions

If the Raspberry Pi 400 cost as much as, for example, Gateway’s Ryzen 3200U-powered laptop—or even a low-end Chromebook—I’d probably be panning it. Although the 1.8GHz quad-core BCM2711 CPU is powerful for a Raspberry Pi, it’s distinctly on the anemic side for a general-purpose desktop computer.

With that said, it is functional—especially when using Raspberry Pi OS rather than Ubuntu—with hardware offload capability for video playback alleviating the worst of the problems a typical user might otherwise have with the underpowered system. I can imagine getting the majority of my work done on a Pi 400 if I needed to, even if I wouldn’t particularly want to. And it doesn’t cost as much as a cheap laptop, or even a Chromebook—you’d be hard-pressed to find a current-model low-end Chromebook for three times the asking price for an entire Pi 400 kit, let alone the standalone device.

Although I didn’t review that part of the device, it’s also important to note that the Pi 400 is still a Pi in the good ways, not just the inconvenient ways. While the integrated keyboard and largish chassis might not lend themselves as well to the typical maker projects as a standard Pi’s smaller, blockier form factor, there is still a 40-pin GPIO header, and it still can do all the things it would on a “normal” Pi.

I suspect that many schoolchildren will be introduced to desktop computing early on the Pi 400—and the more technically fascinated kids will likely use it as both gadget and PC, with the GPIO header making it possible to play around with hats and gadgets for one-off, just-for-fun projects not too different in scope from the vintage 100-in-one project kits I played and learned with as a child many years ago.

The Good

  • It’s hard to argue with a usable desktop computer for $100 + monitor
  • It’s still a Pi, too—with full support for hats and gadgets driven via 40-pin GPIO header
  • Full support for Ubuntu Desktop, beginning with 20.10 Groovy Gorilla
  • The 247-page 4th Edition Beginner’s Guide is a treasure trove for tinkerers young and old alike
  • Both Raspberry Pi OS and Ubuntu are full-fledged, “real” Linux—not toy distros missing functionality
  • Easy and fun to switch OSes at the drop of a hat, just by ejecting and swapping SD cards
  • New firmware allows USB booting, potentially bypassing SD cards entirely for those who wish to
  • Raspberry on the Super key, instead of a Windows logo

The Bad

  • Performance is still anemic by desktop standards
  • The official mouse has a cord that’s shorter and stiffer than we’d prefer
  • Keyboard is far better suited to small hands than large ones
  • No 8GiB RAM version yet, and no way to upgrade the 4GiB version
  • Micro-HDMI ports are a bit inconvenient
  • No 3.5mm audio

The Ugly

  • Trying to effectively benchmark a generic ARM Linux device is still nearly impossible

Listing image by Jim Salter

Latest posts