I have to make a confession: as much as I love messing around with computers and technology, I have a love-hate kind of relationship with Linux and open source software and hardware at large. Yes, having a rather extensive collection of software is cool, but at the same time that same software isn’t very user-friendly and requires lots of manual configuration, taking away a lot of the enjoyment that comes from using it. Yes, the concept of a single board computer not bigger than a credit card, that is capable of running quite an extensive range of applications and that costs 40 € (provided that you can find it for that price) is very neat in theory, but actually using it for something useful clashes spectacularly with the platform’s limitations stemming from its design philosophies. Every single time I plug one of my 4 Raspberry Pi devices (yes, I have four) I end up giving up when it becomes apparent that the processor isn’t powerful enough, or I don’t have enough RAM, or the Ethernet interface is too slow, or it can’t power more than one USB hard drive, or that the USB 2.0 ports on it bottleneck hard drive performance to unreasonable levels. It’s infuriating how the limitations of this admittedly interesting piece of hardware make me crave for more in an upcoming theoretical Raspberry Pi 4. But what I would like to see isn’t going to happen.
The Raspberry Pi phylosophy
The Raspberry Pi foundation is a charity based in the United Kingdom whose aim is to provide an educational tool for children who are learning computing and giving hobbyists an open platform to experiment with. I can certainly appreciate their effort and the mere fact that they were able to deliver on that promise, keep the price reasonable (although you’re almost guaranteed not to find the product at MSRP, especially if you take shipping costs into account) and creating a large, active and helpful community around it is in and on itself quite an achievement. But at the same time, these very same design philosophies are what prevent future Raspberry Pi products to go beyond what the charity is currently offering.
Being based in the UK, the founders of the Raspberry Pi foundation could not not be influenced by the computers they were accustomed to when they were growing up in the 1980s, most notably the BBC Micro, whose aim was to educate young British citizens in computing (although it was regarded as a video game machine more than anything). I’m not going to reiterate on the BBC Micro’s history because, quite frankly, other people have discussed that in more detail than I could hope to, so I’ll just redirect to this video by Cliff Basinger and this one by Peter Leigh if you’re interested in finding out more. I will, however, highlight a few notable similarities between the BBC Micro’s and the Raspberry Pi’s designs and phylosophies.
First, both were spurn out of the need for creating an educational platform to teach children in schools basic programming skills. To that end, the BBC Micro came with the BASIC programming language stored in the machine’s ROM chip which, although limited, had the merit of introducing children to computer programming for the first time. Similarly, the Raspberry Pi supports many different programming languages, some specifically engineered to make learning easier, like Scratch, a language spearheaded by the MIT which aims to teach kids the basics of programming by allowing them to create their own stories featuring colorful characters and a simplified interface.
Another similarity is that neither the BBC Micro, nor the Raspberry Pi have a power switch. This is probably one of my biggest gripes with the Pi, since you can still shutdown it manually, either through the
shutdown command or the GUI, but in order to turn it back on you’ll need to plug it off and on, making for some really awkward gymnastics to reach for the power strip. Yes, it’s a minor annoyance, but it gets old rather quickly. And yes, I’m aware there are a few solutions to this, but they come at a premium I’m not really comfortable paying for.
Where the Raspberry Pi fails me
Now, despite acknowledging what a great platform the Raspberry Pi represents for students and electronics enthusiasts, I must point out that it’s not ideal for my use cases. You see, I’m neither a student, nor a hacker: I just like messing around with technology and, as such, I’m not necessarily looking for a small computer to use as the basis for a robotics project or what have you. What I use the Raspberry Pi for is practicing with Linux systems and, possibly, not having to rely on a bigger and more expensive x86-based computer. I know that, to some in the Raspberry Pi community, that takes me outside of the intended audience for the device, and in a way I can even understand why they think so, but at the same time, I can’t help but feel like the Raspberry Pi is incomplete in achieving what the foundation wants it to simply because this device is not a viable option as a replacement for a general-purpose computer.
So, let me tell you what my first experiments with the Raspberry Pi were like. I wanted to have a low-power, low-cost computer to use as a NAS device, so that I could store my backups in a computer that wasn’t my main PC. Now, installing and setting everything up was straightforward for those who are already versed in Linux, whereas those who aren’t are going to have to follow one of the multiple guides available online. And that’s fine, really. However, once you get everything set up (or rather, even before you end setting it up), you quickly discover that there are a few Achilles’ heels in the Raspberry Pi.
The first thing you’ll notice is that it does not support SATA. At first that will not look like that big of a deal, since you could add an external hard drive connected through USB. And sure, it works well enough, but you run across two other issues. First, adding an external hard drive to the Pi adds more cables to your workbench or desk, making it look messier than it already is. Secondly, the Raspberry Pi 2 simply isn’t able to deliver enough power to keep a hard drive spinning, whereas the newer Raspberry Pi 3 can power one, but that’s about it: you won’t be able to add a second one, for it won’t even power on. The only way to get around this is using a powered USB hub, which draws power for the mains, but this adds even more cable clutter to your desk. It’s a vicious circle, really.
But let’s say that you’re content with using just one hard drive and cable clutter doesn’t bother you. In order to use the Raspberry Pi as a NAS, you’ll need to plug it into your router or Ethernet switch (wireless connectivity just won’t cut it). Unfortunately, its Ethernet port only supports transfers up to 100 megabit per seconds, which equal to around 10 to 11 megabytes per second in the real world, which is simply too slow to use a a backup solution. Sure, it may be enough to just share Word documents or pictures with all your devices, but other uses are out of the picture here.
Going back to hard drives for a second, another really big annoyance is that those are USB 2 ports, which will bottleneck your hard drive speed to about 40 MB/s, which is in the same performance ballpark as disks manufactured around 2008-2009. Not that it matters that much, since even that speed is enough to saturate the Ethernet interface.
What about desktop performance?
Yeah, what about it? The short answer to that question is “its combination of underpowered CPU and paltry amount of RAM just can’t handle that”. Sure, you could use the Pixel desktop environment that the Raspberry Pi Foundation suggests using, but no matter how lean the desktop environment is, the Pi is not powerful enough to be used as a replacement for a low-specced desktop computer. Multi-tabbed browsing is unbearably slow, Youtube videos will run like a slog and most video formats at 1080p won’t even play correctly due to the lack of codecs (which have to be purchased separately).
What I want in the Raspberry Pi 4
As I said at the beginning, I know that these features will never be available in the Raspberry Pi, not in the 4th revision, not in the 100th, so take this list more like as a letter to Santa Claus than anything else.
- At least one or two USB 3.0 ports, which are fundamental to get acceptable hard drive performance out of the Pi. And who knows? Maybe they might even make using an SSD as an operating system drive worthwhile;
- A Gigabit Ethernet port in order to make it a decent NAS even for backups;
- One or two SATA ports. Although not the highest priority in my wish list, they’d be nice to have. And yes, I’m aware that such an addition will necessarily make the board bigger, although not extremely so. There already are single board computers that do, like the upcoming UDOO x86;
- As a plus feature, I’d like to see a decent enclosure where I could put at least two hard drives and the Raspberry Pi in. At the time of this writing, the only Raspberry Pi enclosure I like is the WD PiDrive Enclosure Square, which only supports a single hard disk.