My desktop machine, which I (used to) run 24/7, is powered by an Intel i5 CPU and has several harddisks. The power supply is rated for 300W — obviously the machine is mostly idle, but there is a constant power draw, even when idling. I was wondering if I could do something about that, and perhaps downsize. After all, all I’m doing on that machine is a bit of browsing and writing, nothing that requires the power of an i5.
And then I noticed several articles pointing out that the latest model of the Raspberry Pi, the 4B model, which comes with up to 8GB of RAM, should be powerful enough for those kinds of computing needs. It has very modest power needs, so I was intrigued and did some further research.
It turns out that there are quite a few cases for the Pi 4B to turn it into a desktop machine, but not all of those were readily available — chip shortages and the global logistics tangle means that there is little supply. But I found a Dutch webshop that carried the Argon ONE M.2 case, which suits my needs. It’s a neat aerodynamic design with some cool features. Foremost is the support for M2 SSD drives: you can just plug those into a special adapter board that converts the M2 interface to USB3, and a ‘dongle’ hooks it up to the Pi. It’s also convenient that a little extra board converts the Pi 4’s mini HDMI sockets into full-size HDMI ports — saves me from having to buy new cables to hook it up to my monitors. The only drawback is that the micro SD card slot is not accessible within the case, so if you want to swap that out, you need to completely open up the case to do so. But since you want to boot off the SSD, that’s not too much of a problem, since you’ll be using the Pi without any SD card!
The extra power draw of the SSD does mean that you need a larger power supply than the Pi normally needs. Based on this guide I bought a 3.5A power supply to power the whole thing. I had to order from three separate webshops, because none had all the things I needed in stock, but all three packages came in on the same day, so that wasn’t too bad!
It took me a while to set it up, because I kept trying to do something that turned out to not work. In the end, I used this guide from Ubuntu to put Ubuntu on the machine (because it’s what I use on all my machines, so I’m used to its particular quirks). Everything went smoothly, but I just could not get the system on the SD card (which you set up at first run) transferred to the SSD so that the Pi could boot into an Ubuntu instance that had already been set up. I followed a few different guides, but it just didn’t work out.
So I just followed the whole guide (I had already done everything up to and including ‘USB Boot’), and just downloaded the Pi Imager onto the SD card and imaged the Ubuntu Pi image onto the SSD. Then remove the SD card, and boot into the now pristine Ubuntu install on the SSD. Yes, you have to set up everything twice, but it’s not that bad — certainly faster than spending two evenings on procedures that turned out to not work!
The machine is kind of underpowered: if you visit heavy websites, it takes a while for the page to load, and multitasking is not that fast. But writing this post is fine: it’s just me typing into a web form, after all — and that’s not a heavy draw on computing power. I now have a full desktop machine (with two screens!) running on under 17W — that’s pretty good. The case itself gets toasty, as it acts as a heatsink, but it’s not that bad.
One drawback that I have discovered is that some applications are not available for the architecture of the Pi — PCs and laptops use the amd64 architecture, but the Pi uses an ARM chip. That’s not a big problem if the source of the application is available — then you’d just recompile it for the ARM platform. But if that package is provided on a closed-source basis, then you’re out of luck if there is no package for ARM available. For me, the big one in that category is the Discord desktop app — usually I use Discord through a browser tab, but when I’m playing an RPG over Discord, then I want push-to-talk available — and you need the desktop app for that. So for RPG sessions I see myself turning on the ‘old’ desktop for the foreseeable future…