dummy-friendly micro-computers

[or] how not to overkill

2020/03/09

Tags: code diy electronics

<tl;dr>

You should not think of Raspberry as a reliable desktop alternative (just yet), but rather as a powerful tool for DIY fantasies. However, keep in mind that for the vast majority (like 99%) of DIY projects (weather station, lightweight rest API, LED controller, motor controller, robot,… name it) an Arduino chip is more than enough, and any Raspberry (even the smallest one) is a tremendous overkill. Sure RPi is easier, since you don’t write a C++ code, but… c’mon… for an extra $5-10 you could have already learned to code.

</ tl;dr>

In the future I might write about some cool stuff you can do with Raspberries and Arduinos (I actually had a few tutorials on Arduinos earlier), but in this post I wanted to outline a few precautions on Raspberries, what they can and cannot do, and how to use them properly. These are gonna debunks of some of the most popular misconceptions about Raspberries (which I found online myself and was pissed off when figured they’re actually bullshit). So… here we go.

  1. Raspberry Pi is not even close to being a good desktop computer option. Even the most powerful one (Pi 4, 4GB) even overclocked to extreme frequencies (2.15 GHz), even with high GPU memory allocated (although there’s actually no reason for this, as the allocation is dynamic anyway), even with the best cooling case and heatsinks sticked all over.

    Once you open anything RAM-demanding, (like a 720p60fps video in Chromium) it becomes no better than your tamagotchi from childhood. I mean, sure if you need a computer for typewriting purposes – you’re good. In fact, in that case you’ll probably be ok with just a pen and a paper. Here’s an example where I’m running a 720@60 youtube video (for sports you really do need a 60fps), it drops every 3rd frame which is super uncool, 1080p is ofc way worse even for 30 fps.

    youtube on rpi

    I was actually surprised, because RPi4 is advertised as a dual monitor and up to 4k streaming setup. But don’t get fooled. That’s not nearly the case.

  2. Software on Raspberry sucks. And… I mean it. Raspbian OS, while being constantly updated and “optimized” precisely for the Raspberry family of ARM processors, still doesn’t provide a smooth user experience. All other Linux distros (Mint, Kali, Arch and even Ubuntu) suck even worse as I would imagine they’re not precisely designed for that purposes (although Ubuntu is pushing in that direction).

    Remember, that ARM cpus require completely different compilation procedure, so you can’t just take an app compiled on a regular architecture and easily port it. There is a variation of the standard apt-get, it has lots of the most common apps, but it’s pretty limited and for anything non-standard you’re gonna be in trouble. Some of the python and npm packages also don’t work properly, and you have to either find alternatives created by rare enthusiasts or hack around on your own (I don’t recommend that). Hell even an idle flask server eats a good 400 MB of RAM for no obvious reason.

  3. You do NOT need a Pi-Hole. Sure it blocks some trackers, but most of the ads pass through anyway (including on all pirate streaming websites, youtube, etc), so you’ll still need an in-browser adblocker anyway. Just set up a decent DNS server (like AdGuard or something) and you’ll be fine. You can even do that globally on your router. Fun fact: most of what my Pi-Hole is blocking (see stats below) are actually Samsung trackers and ads on our TV.


This post wasn’t sponsored by any Raspberry competitors. So here are a few pros on the topic.

  1. The hardware capabilities are there. Let’s face it 2GHz with 4GB RAM is more than enough for a 4k streaming. In fact, if you try something like omxplayer which exploits hardware acceleration (or even VLC in full screen mode), you can really see it’s pretty smooth up to 4k! So I constantly watch movies/shows on VLC on my Raspberry, and it’s actually surprisingly smooth. Streams, however, are not nearly that good. So presumably, the software side still isn’t there to catch up with the hardware for the new RPi 4. But that will hopefully come over time.

  2. Actually, comparing RPi 4 with 3B+, thermal capabilities were improved massively! On 2.15 GHz heavy load my RPi4 barely goes over 60’C, while on 1.4 GHz 3B+ easily goes 75+ ‘C and then throttles clock down to 1.2 GHz. So… they’re growing. The pricetag also goes up for that matter.

  3. Cheap NAS might be a perfect project for a spare Raspberry Pi. You can even have a cartoon version with a hooked up HDD (I got one for 2TB) which you can freely access from your laptop/phone/tv using smb.

Few final thoughts.

  1. Don’t expect from a Raspberry what it is not. If you need a cheap computer just get a cheap regular computer. As of now, RPi is not a feasible alternative.

  2. I won’t recommend getting the latest version of Raspberry 4 for $70 to just control an LED strip or a step motor, or read temperature data from a sensor. It’s just a massive overkill, and it’s not worth it. You can get a Chinese “Arduino Nano” for $2 and get the job done. If you need a WiFi, get a NodeMCU for $3, or even a separate ESP8266 module less than a buck. There are now even great libraries that do FFT 32 kbps input on Arduino-like cheap chips. So I’d recommend getting Raspberry only if you really-really-really think you’ll be exploiting the whole capacity of its abilities.

  3. SD cards matter. Don’t cheap out and get the cheapest possible, some of the most memory-demanding tasks require a decent read/write speed between the OS and a physical drive. Having tried and tested 4-5 different ones, I would personally recommend the Samsung EVO Plus or SanDisk Extreme. There an easy speed test you can do with your SD card.

  4. Cases matter. Sometimes a bad 3d printed RPi case can make thermal properties even worse than no case at all. For example this piece of plastic shit. Heatsinks won’t help much. Either get a metal case, or the one with a fan. Especially for RPi 3 and older high temperatures can cause throttling in which case you’ll be losing some of your chips processing abilities. So, again, don’t cheap out, $6 vs $16 can really make a huge difference. Here’s a collection of stress-test data for different cases.

I’ve been using the Smraza case (the one for $16) on an overclocked(!) Raspberry Pi 4 and so far it has barely ever exceeded the 60’C mark. Here’s a stress test I ran.

Getting a decent case also matters for isolation purposes! Never ever work with a naked Raspberry chip (trust me, I’ve already burned 2 of them).

  1. Power adapters matter. Heavy tasks especially on RPi4 sometimes draw a lot of current, so getting 5+ A adapter is generally a good idea, sometimes they even come with the case itself.

  2. Overclock RPi4 up to 2.15 GHz, but be cautious. Even though 4-th gen Raspberries have an order of magnitude better thermal properties than the 3rd, if you don’t have a proper case with a fan and heatsinks, temperature might quickly become a problem (see the stress test above).

cd ~