In today’s video we’re going to talk about the Raspberry Pi platform and some of the things they got wrong.

 

Intro

 

Hey guys its Josh with the WL Tech Blog, and today I’m going to talk about some of the ways the Raspberry Pi kind of sucks.

 

When the first Pi launched, it was a huge deal. It had a good combination of size, performance, and price that was impossible to beat at the time. Other small computing devices were expensive, other fast computing devices were big, and other cheap devices were slow. Outside of industrial control systems you weren’t really going to find an accessible small form factor device, you had things like PC/104 with little square devices but these were mostly expensive, 10 year outdated tech with stackable peripheral boards for basic IO and not really aimed towards the hobbyist. The Pi gave you a combination of useful performance and features that made sense at the time, like 1080p hdmi video output with hardware accelerated video decoding. A million of these ended up being used as media players or running retro gaming emulation systems.

 

But it wasn’t all roses and sunshine. A big problem a lot of people had was the Pi’s sensitivity to its power supply. Part of that was the absolute flood of cheap USB chargers on the market that could supply either the voltage on the label or the amperage on the label, but not both at the same time. USB is a 5v technology, but most devices are fine if it drops to 4.5v under load, but not the Pi. They claimed a range of 4.75 to 5.25v, but in practice I’m not sure they achieved it. There’s plenty of blame to go around here and while I”m not excusing the billions of cheap usb adapters that sag lower than that as the amps go up, but you won’t really find a long list of other devices that would crash when it happened. This situation has evolved over time, we’ll get to that.

 

A different problem that hasn’t changed is the Pi’s lack of 5v tolerance for their GPIO interface. All these IO pins made the Pi look like a more powerful alternative to the arduino platform, but a $3 Arduino can handle 3.3 and 5v accessories without needing to add level shifters to keep from letting the smoke out.

 

But you know what, the original Pi was still a breakthrough so we’re happy to excuse some of these faults, I mean there were literally no alternatives available.

 

The original Pi had a stripped down A version as well as the full featured B version, and then they had a + iteration where they doubled the onboard memory to 512MB, making it suitable for a much wider range of applications without a price increase, that was nice.

 

The second Pi came out a couple years later, again increasing the memory but also bringing a quad core processor. This was a nice boost in computational power, and they would again have a second revision that replaced the quad core 32 bit processor with a quad core 64 bit one, although the 64 bit support would never mature to the point of being relevant. We unfortunately still had the same problems with power supplies, which got even worse as the new boards were more power hungry than the originals, and the Pi foundation would offer their own official power supply with beefed up specs that should solve all the problems people had with the piles of adapters they already had. At least until you started plugging in USB devices such as external hard drives and wifi adapters, at which point you really needed a powered USB hub as well or you’d come back to a dead Pi. The U in USB is Universal, but that’s not how it felt.

Also, by now the Pi series have been out for a while, and people were discovering that their SD cards were failing at a very high rate, especially if they were having these power related crashes. It wasn’t just corrupting the filesystem, the sd cards themselves were toast. It didn’t seem to matter what brand or model you had, either. Since you could only boot from the SD card, people started doing things like mounting their root filesystem from a USB drive or a network share, which could also be a bit of a performance boost but was impractical and a real pain in the ass. Another fun fact about the Pi 2 was that you could crash it with flashes of light, or by pointing a red laser pointer at one of the chips, and the recommended solution was to cover that chip with tape. 

 

A year later the Model 3 would launch, with higher clocked version of the same quad core, 64 bit processor, but the big notable change was the addition of wifi and bluetooth to the board. Now you wouldn’t need to plug in with a cable or attach an annoying USB wifi adapter to be online, or at least that was the claim. They would also start the process of adding USB boot capability but this would take a very long time to mature. When the second revision of the Model 3 was introduced, they upgraded the wifi to include 5ghz bands and upgraded the onboard ethernet to a gigabit port, although still limited by the USB 2.0 bus it was internally connected to. It was a nice increase over the 100 megabit it replaced but was only about twice as fast instead of 10x. In reality, the new wireless capability was plagued with bugs. There were dozens of well supported wifi and bluetooth chipsets at the time, but they went with some crap broadcom had laying around that just wasn’t well supported. I personally had a ton of frustration with them, especially when I got the brilliant idea that a bluetooth serial console would simplify my life. It turned out that doing bluetooth and wifi at the same time was a sure way to crash both of them, and the bug reports on these issues are still open. Wasn’t long before Broadcom sold their wifi branch to Cypress, who was a lot less responsive to issues being had by hobbyists.

 

Did I mention that Raspberry Pi has extremely strong ties to broadcom? Not surprising as the founders were ex-employees and had the almost magical ability to get a great deal on some old tech that nobody else could buy. Decide for yourself how important this tidbit is.

 

Back to the Pi 3, we started to see some improvement in the 64 bit support. Now when you hear the term 64 bit, the obvious thing that comes to mind is being able to access way more memory. And a Pi with only 1 gigabyte doesn’t have that problem, it fits easily in the 32 bit space. But that difference doesn’t stand on its own, it’s a major overhaul of the entire ARM architecture, from version 7 to version 8, version 7 dating back to 1993! For contrast, imagine if Intel had spent the last 30 years just incrementally boosting clock speed on their 80486, and we never got the Pentium, Pentium 2, 3, and 4, Athlon, Athlon 64, etc.  In my own testing, running a 64 bit kernel and applications on the Pi with no other changes was worth 40 to 50% increase in performance, and some workloads like encryption were far far higher than that. Over the neat year or two that 64 bit support would improve, but it was all done by third parties. The Raspberry PI OS remained 32 bit.

 

A few years later and the Pi 4 has launched. Seemingly the biggest upgrade to date in both hardware and software, really upping the bar for Pi, at least on paper. The obvious changes are a new much more powerful cpu, USB3 ports on the back and supporting the ethernet and upgraded wifi chipset, memory options up to 8GB, and the power input was now USB-C and using an in-house power regulator chip, which solves all those old power problems of the past. Oh, and the announcement of the 64 bit version of Raspberry PI OS.

 

While this really was a major upgrade in performance, it was also quite painful for users. USB-C is a great standard with the ability to move far more power than previous versions, but the Pi was not compliant and most higher end power supplies didn’t work at all. This would later be fixed in a revised board but nobody was happy about being told they needed a special power supply from Raspberry Pi when their Nintendo Switch or Macbook cord was far better yet completely unusable.  The 64 bit version of Raspberry PI OS was launched as a beta in 2020 and only came out of beta 2 years later…And 2 more years later they are still recommending the 32 bit for new installs. And the driver for making this video is having wasted almost a week testing various combinations to figure out why my Pi 4 was benchmarking about half the speed of others, hey turns out it didn’t mind my power supply but it didn’t like my USB C cable. But even these problems are minor compared to the big one: availability.

 

It’s easy to blame the pandemic, but that’s a cop-out. Raspberry pi 4 boards were hard to get at launch, mostly because they were new and still filling inventories. With all the big improvements they were hot sellers and didn’t stay on shelves very long. But then we had a global pandemic and all the normal rules were out. Raspberry Pi seemingly struggled to produce any Pi 4 boards at all, and those that did make it to retail were frequently being scalped by ebay and amazon sellers asking outrageous amounts of money for them. It got so bad that even Pi 3 boards were being scooped up and re-sold, you just couldn’t get them.

 

But whatever, I mean you can’t blame the Pi foundation for supply chain problems, that would be unfair.

 

Except we haven’t talked about the compute module. Kind of a tangent from the main Pi series, the compute module was essentially a raspberry pi on a card, without its io ports, made to slot into a carrier board that would provide those interfaces. Not very interesting to a hobbyist, but very very interesting to commercial and industrial users. It turned out, when the first Pi launched, it wasn’t just us nerds who noticed, they were quickly picked up in the commercial space as affordable alternatives to those embedded x86 systems. There are dozens of open source projects using compute modules to do cool projects, but the real momentum wasn’t for us.

 

Now to be clear, the compute module is 95% the same as the raspberry pi, actually using fewer components since it doesn’t need its own ports, and of course a different circuit board. And the thing is, the compute module was still easy to get and in plentiful supply. It got so bad that people were designing carrier boards to provide exactly the same features as the Pi 4 B, because that was the only reasonable way to get one. How could this be real?

 

It wasn’t just luck. Raspberry Pi gave preferential manufacturing to compute modules, because they cared more about their industrial customers than the rest of us. They would admit this in April of 2022, and this would continue well past the end of the pandemic and really only change with the introduction of the Pi 5.

 

So let’s talk about the Pi 5. Credit where it’s due, the Pi 5 is another huge upgrade over the previous generation, with a new cpu showing 2-3x faster performance, pcie io giving massive gains for storage, networking, and usb connectivity, and more. You can see some good hands on reviews on Youtube, unfortunately despite being released nearly 3 months ago, you still can’t actually get them. And if you do see one briefly in stock, they’ve changed the layout enough to require a new case, and while they’re still using USB-C, the new model’s increased power requirements mean you need to buy another official power supply.

 

So why are we all still so excited about the raspberry pi? I’ve talked a bit on this channel in previous videos about the strength of the competition in this space. Some of them have been outperforming the new Pi 5 well before its launch, and not suffering from availability issues. I’ve got one of those alternatives on my desk right now and you’ll see a video about it very soon… but the arguments for the Pi are failing.

 

When Pi was new, it was unique in the market. Today there are dozens of alternatives. It was cheap, but the prices are risen. It was small yet capable, but today you can get even smaller yet still capable devices easily. It was open source, well actually that’s just false, the Pi is gradually getting closer to that goal but you’re not using a Pi without proprietary pieces. Education friendly? Tell that to 2 school years of kids who couldn’t get them because they needed the chips for restaurant menu board screens. It was cool because it was ARM-based, well everything is ARM based now, the cool kids are all messing with risc-v.

 

The PI 5 is interesting, and heck I might buy one at some point so i can cover it with my own impressions and testing, but maybe its time to move on.

 

What do you think? Is there a killer feature of the Pi that will keep you coming back? Am I being unfair to the Pi corporation and broadcom? I’d love to hear your opinions in the comments, or over on the discord channel you can find down below. Make sure to subscribe to see the next video and share with your friends if you enjoyed this video, if not put your flames in the comments! Be safe this holiday season and we’ll see you soon.