What’s wrong with the Raspberry Pi

The Raspberry Pi is an incredibly popular device that has a well deserved fame for its affordability, versatility, possibilities and vibrant community. It is easy to find fan projects and publications praising it, but most people are not aware of its weak points until they suffer them and come across the information on the forums.

I will try to explain some of the personal problems that I have with the Pi, as well as some of the issues people have all the time, most often without realizing it, and finally why I do not recommend it for some applications, specifically NAS kind of services such as NextCloudPi and Open Media Vault. Hopefully this will save me time in order to avoid repeating myself all over the forums.

I have had many Raspberry Pis and I have been using them for many years. When the first model came up in 2012, it was a huge milestone for the hobbyist SBC market. Even though there were already some nice boards around, such as the Beagleboard and the Odroid, these were quite pricey and only hardcore hobbyists could understand what they could offer and justify the investment.

The Pi though, came with a very affordable price tag. It was not that powerful compared to what we already had, but it was so cheap that it exploded in popularity. Blogs, shields and extensions, people sharing their projects, tons of libraries… the Raspberry Pi was the first one to achieve all that and to this day a thriving community is the biggest reason why I would understand people getting a Pi over other boards.

But this is 2019 now, so we can have another look around. In my opinion there is better quality and more open alternatives for the same price. I will try to explain.


The Raspberry managed to be that affordable by cutting some corners. The result is a board that is underpowered for some tasks compared to its competition. In particular, it performs poorly in terms of both network and USB functionality.

The device uses a SMSC LAN9514 chip that connects to the SoC via a single USB channel, acting as a USB-to-Ethernet adaptor and USB hub at the same time. This implies that Ethernet and USB are shared and are competing with each other, which ruins the typical NAS use case of uploading something over the network and storing it to a USB drive, let alone adding RAID to the mix.

For this same reason, even when last year they finally provided a model with Gigabit Ethernet, the real network performance of the device is nowhere close to real Gigabit performance, but around 40MB/s maximum in sheer networking speed, 20MB/s maximum if we are transfering to a USB device. There have been affordable boards with real Gigabit Ethernet and USB3 for a while.

Actually Wi-Fi doesn’t go through the SMSC, but is connected to the BCM4343 chip through SDIO instead, so this bottleneck could somehow be avoided by using Wi-Fi. In any the wireless chip is not great either and would have to compete with other interfering devices in the surroundings for airtime anyway so it’s not a great alternative.

For the reasons stated above I would not recommend the pi to be used in a NAS kind of scenario, be it Open Media Vault or Nextcloud.

The real brain of the Pi is not open source

If you have been around software freedom discussions, the number one concern in our Linux systems is the presence of closed source binary blobs. I won’t go into details here but the concern is that those parts of your system can’t be audited and have access to everything that is going on in our devices. This has led to great efforts by the community, such as the Android Replicant to free our systems from any binary blobs, which is a painful, tedious and slow process.

We are in a similar situation with the Raspberry Pi. The CPU and the GPU are embedded in the same BCM2837B0 chip. The CPU is a 1400 MHz 64-bit quad core ARM A53 (in the Pi3B), and the GPU is a dual core 32-bit VideoCore IV running at 400MHz. This is common in the mobile device SoC world as saves cost and power and everything is embedded in the same chip. NXP iMX and Allwinner are competitors using a similar approach.

So we have six cores in the latest Pi, but only four of them are ARM. Linux runs on that ARM CPU, we know that, but we might be surprised to learn that Linux on this device is only a second class citizen. The GPU cores run a real time operating system called ThreadX. This operating system is closed source and rules the system without the open source Linux Kernel being aware of it.

When the Raspberry Pi starts booting the CPU is completely disconnected (technically in reset state) and the GPU is the one that starts the system. You can have a look at the `/boot` folder and you will see some of the binary blobs used by the GPU to both start the CPU and run its own ThreadX OS (bootcode.bin and start.elf). You can learn more details about the boot process here.

It is the GPU who mounts the SDcard, gets those blobs and reads the configuration from that config.txt text file that we have to edit to configure video settings or overclocking the GPU. Linux is not involved in any of that.

After the GPU has the CPU load the Linux Kernel, it doesn’t just stay there waiting to act as a graphics-processing-unit. The GPU is still in charge. Have you ever thought about who is printing those logos when the Pi boots connected to HDMI? or those lightning or temperature symbols when there is throttling going on? Exactly, it is ThreadX on the GPU doing that. Linux is just not aware of this.

We cannot know everything the GPU is doing, but we do know some things that it is in charge of. The most relevant one for this discussion is that ThreadX monitors for undervoltage, which is a widespread issue as we will see next, and will underclock the CPU to prevent instructions failing and the CPU to hang, which results in people’s devices running at 600MHz instead of 1400MHz in the best case. This throttling starts happening at 4.65V and can also be triggered by temperature. Linux and its frequency governor still thinks that is happily running at full speed.

This is only what we can see. Because the main OS is closed source we have not way of knowing what else it is doing or is capable of doing which will always be a concern for privacy aware individuals.

There is at least one patent included in the closed source blob that will prevent it from being released until at least 2025, but we don’t know if there is any intention of doing so even then. There have been attempts at reverse engineering the VideoCore IV and generating open source firmware for the VideoCore IV, but unfortunately the project died before getting to produce anything useful. Just like with Android blobs, this is incredibly hard work.

Powering issues

This is not a technical fault of the Raspberry Pi, but more of a very typical user mistake.

The first model barely used 80 mA, but each new generation is more powerful than the previous one, and for that reason also more power hungry. On top of that, many users connect USB devices that also draw power, unless they come with their own power supply.

The microUSB connector was only originally designed to provide 1.8A, and even though that is an old standard and you can find chargers that perform just fine at more than that, so many people try to reuse old phone 1A chargers or buy cheap adaptors online to power their Raspberry Pis. The Pi is a computer, it requires a good quality, stable power supply that provides a stable 5V at the input and is capable of providing 2.5A. Not only the transformer needs to be decent, but also the connection needs to be good (or there will be a voltage drop) but more importantly, the cable needs to be good, or there will be a big drop along it. Bad cables are even more typical to find than unstable voltage supplies, so please, use a good cable, maybe a 20AWG or similar, or just get the official power supply. The take away is that not any USB charger is going to work properly, even if it is 2.5A 5V.

Add this to was we saw in the last section and we can begin to see the big picture. Most users are running their devices undervolted, and the GPU is hiding this from them, so they are actually running underclocked at 600MHz, almost as bad as the original ARMv6 pi.

In many cases not even the GPU efforts are enough and the system randomly fails or just hangs, possibly corrupting data or damaging the SD card. This mostly happens under load which is when the transistors require the most power. Then, the user goes to the forums and complaints: my power supply is just fine, I just ran this and that and it didn’t fail. Of course this is not true, but often they won’t believe it.

In my opinion this is what the Japanese would call Poka Yoke, in other words, we should design our systems in order to prevent the user to shoot itself in the foot, by design. Again, the official power supply is very good quality for the price and I highly recommend it.

I don’t like that they throttle the board silently outside of my control. I would rather have the system hang so I can realize what is going on and replace the PSU than to fool users and have them complaint in frustration all over the internet. It is hard to imagine a reason why the developers of the Pi would do this if it is not to hide the Poka Yoke issue.

Checking for power issues

It took too long, but we finally have this logged in the Linux Kernel. If you see in your system logs

kern  :crit  : [ 1701.464833    2.116656] Under-voltage detected! (0x00050005)
kern  :info  : [ 1707.668180    6.203347] Voltage normalised (0x00000000

, then you are suffering from undervoltage. It is nice that at least Linux logs this information now, but if we want to get more information, we have to access the GPU directly.

The vcgencmd command is able to communicate with the ThreadX firmware to get information about the system, or to change settings.

# vcgencmd get_config int

We can use the vcgencmd measure_clock arm and vcgencmd measure_volts commands to read the real frequency and voltage. This is an example output from a moritoring script by tkaiser.

# With a crappy PSU and/or Micro USB cable output looks like this
# on a RPi 3:
# 44.0'C  600 MHz 1010000000000000000 1.2V
# 44.5'C  600 MHz 1010000000000000000 1.2V
# 44.0'C  600 MHz 1010000000000000101 1.2V
# 44.0'C  600 MHz 1010000000000000101 1.2V
# 44.0'C  600 MHz 1010000000000000101 1.2V
# 44.5'C  600 MHz 1010000000000000000 1.2V
# 45.1'C  600 MHz 1010000000000000101 1.2V
# With an ok-ish cable it looks like this (when running cpuburn-a53):
# 48.3'C 1200 MHz 0000000000000000000 1.3312V
# 48.3'C 1200 MHz 0000000000000000000 1.3312V
# 48.3'C 1200 MHz 0000000000000000000 1.3312V
# 48.3'C 1200 MHz 0000000000000000000 1.3312V
# 50.5'C 1200 MHz 0000000000000000000 1.3312V
# 56.4'C  600 MHz 0000000000000000000 1.2V
# 54.8'C  600 MHz 1010000000000000101 1.2V
# 55.3'C  600 MHz 1010000000000000101 1.2V
# 55.8'C  600 MHz 1010000000000000101 1.3312V
# 53.7'C  600 MHz 1010000000000000101 1.2V
# 51.5'C  600 MHz 1010000000000000101 1.2V
# 51.0'C  600 MHz 1010000000000000101 1.2V
# And only by bypassing the crappy connector you can enjoy RPi 3
# performing as it should (please note, there's a heatsink on my RPi
# -- without throttling would start and then reported clockspeed
# numbers start to get funny):
# 75.2'C 1200 MHz 1010000000000000000 1.3250V
# 75.8'C 1200 MHz 1010000000000000000 1.3250V
# 75.8'C 1200 MHz 1010000000000000000 1.3250V
# 76.3'C 1200 MHz 1010000000000000000 1.3250V
# 76.3'C 1200 MHz 1010000000000000000 1.3250V
# 73.6'C 1200 MHz 1010000000000000000 1.3250V
# 72.0'C 1200 MHz 1010000000000000000 1.3250V
# 70.4'C 1200 MHz 1010000000000000000 1.3250V
# Now with a pillow on top for some throttling:
# 82.2'C 1200/ 947 MHz 1110000000000000010 1.3250V
# 82.7'C 1200/ 933 MHz 1110000000000000010 1.3250V
# 82.7'C 1200/ 931 MHz 1110000000000000010 1.3250V
# 82.7'C 1200/ 918 MHz 1110000000000000010 1.3250V
# 82.2'C 1200/ 935 MHz 1110000000000000010 1.3250V
# 79.9'C 1200/1163 MHz 1110000000000000000 1.3250V
# 75.8'C 1200 MHz 1110000000000000000 1.3250V
# And here on RPi 2 with crappy USB cable and some load
# 50.8'C  900 MHz 1010000000000000000 1.3125V
# 49.8'C  900 MHz 1010000000000000000 1.3125V
# 49.8'C  900/ 600 MHz 1010000000000000101 1.2V
# 49.8'C  900/ 600 MHz 1010000000000000101 1.2V
# 48.7'C  900/ 600 MHz 1010000000000000101 1.2V
# 49.2'C  900/ 600 MHz 1010000000000000101 1.2V
# 48.7'C  900 MHz 1010000000000000000 1.3125V
# 46.5'C  900 MHz 1010000000000000000 1.3125V
# The funny thing is that while the kernel thinks it's running
# with 900 MHz (performance governor) in reality the 'firmware'
# throttles down to 600 MHz but no one knows :)


I really think that the Raspberry Pi has been a very important event in the history of SBCs but today it falls behind in terms quality, performance and transparency. There are other affordable alternatives out there where developers have given more consideration to those issues.

Despite all this, I am using the Raspberry Pi as a means to reach my goal of helping people self host their personal cloud services, and given how popular this board is, it still makes sense for me to support it as long as it is useful towards that purpose.

Author: nachoparker

Humbly sharing things that I find useful [ github dockerhub ]


  1. One thing I was waiting to come out in this blog was a short part about what other options there are and what are your preferences

    1. So in my experience you can avoid these pitfalls via a few different approaches. You can modify the script in /boot/config.txt to manually overclock the cpu, the GPU, sdram, core freq, even the SD reader. Be careful as every board is unique and no two boards respond the same exact way. It may take trial, error, testing, and monitoring to achieve peak performance.

      You can also circumvent traditional booting protocol by performing a network driven PXE (pronounced ‘pixie’) boot or boot via USB channel and remove the SD card from the equation that way.

      Then theres the “buy a better board” option. I’ve been toying with Pis since its genesis years ago. I have at least one of every model ever made. I’ve also explored outside the fold for better options. First off no SBC has the support, community, or options that the Pi has. You may get better hardware but firmware, software, peripherals, support, forums/community will be lacking in comparrison. But if you want to get your hands on something different I have a few reccomendations. The Odroid XU4, HC1, and HC2 outperform the Pi across the board for NAS/personal cloud purposes.

      1. I agree with Mike Pinkerman. I recently got a Pi for the very reason that I don’t have the time to learn a lot of new things myself, and the large community, the software and the many devices existing for the Pi (or confirmed working with it) were the reason why I went with the Pi. I think that isn’t stressed enough in the article. In a certain way, it’s like JPG – you can do better, but everybody sticks with the established standard. And I think that’s a special feature of the Pi, that it’s easily accessible for non-power users. It seems also questionable whether it should be more powerful. This isn’t meant as a PC replacement. The 1400Mhz of the RPi 3B+ could already be considered to be a waste of power, given the cheap tasks most people run on it. Personally, I am most annoyed by the low RAM and the lack of certain GPU feaures. Never had any trouble with the CPU.

  2. Please publish a review on alternatives and what hard and soft and IPR compromises they bring. I solve to make informed choices.

  3. Agree with Akseli. Otherwise an excellent and informative article. The section about a closed source OS in the GPU is scary. Is this an issue with the other boards?

  4. Very nice article, I have exactly same options after using RasPi since the beginning. Moreover I will add that you can’t safely use any Raspberry PI for product or industrial environnement because the design and the board are very ‘amateur’.
    I am still happy to use raspberry pi for for testing and developing and also for educational but for a real product to be sold I use since 2-3 years a much better solutions.

    1. Hi, i agree. We are in final evaluation stage based on pi0 & pi3. We are now looking for an industrial sbc to use in our final product, any recommendations from your experience? Id be very happy with an onboard flash memory (rather then SD card). Thanks!

  5. You left out the most important information!! — What’re the alternative boards available that are as cheap and versatile as the PI?

  6. the other thing would be: not only naming other options that would do a better job than the rpi AAAAAnnd: would ncp run on them as well?

    but thanks anyway for your critical remarks on the rpi. i really appreciate it

    1. Hi Jimmy, good to find you here

      I tried not to make this a publicity post, but to explain once and for all things that I find repeating myself over and over on the forums.

      It’s easy to go to nextcloudpi.com and find some supported alternatives 😉

  7. Excellent article, thank you for your time on this.

    This explains some of my frustrations, and now I have answers.

    Do you think some of the above is to keeping costs down?

    1. I am glad the article helped you.

      No doubt this was to keep costs down, and then also to keep backwards compatibility. To be fair the hardware engineering into the Pi is hard work, not trying to talk badly about it but to make people aware of the limitations.


  8. I think its mostly fun for students, programming schools often demands students buy one.
    In reality though in IOT things have to be done on PLC (if there are strong regulations), if not then its Arduino.
    And if it hast to be a computer, then in commercial IOT one buys a bit more decent industrial PC.
    The Rasberi Pi doesnt get out of hobby culture, where Arduino did got out, you’ll find arduino’s in printers, faxes 3d printers etc. The nice thing about Arduino i think once you upload the code into it, its relative save there, sinec it has no disc there is no easy ways to copy your code, that allows it for cheap semi industrial applications. with a Pi your at risk of reverse engineering.

  9. What are people exspecing for $35?

    Other boards are double the performance for three times the price and lack community support.

    1.4ghz, 1gb of RAM and 300Mbit eathernet it’s fine for almost any hobbyist job. It’s better than the first few PCs I owned in the 90s.

    If you want to emulate Dreamcast games, Host a website or mine bitcoin better off with a PC.

    1. That is not true. There are better boards for the same price. I tried hard not to mention any alternative, but if you do a little research you will see for yourself 😉

      1. It’s very expensive to buy board that are buggy and has no support.

        Pi is not perfect and there isn’t one that you could even recommend without reservation.

        While you points is valid pi is still the recommended SBC for everything that the others SBC are not.

        1. I have many blog posts and forum posts and if you investigate you will see what my preferences are. I just didn’t want to make this a publicity post, but just focus on things people should know about the pi, basically because I spend a lot of time repeating this when I am helping people online.

          Just do a little research, there are cheap boards that are good and have good support 😉


    2. The AtomicPi is the same price and seems to be much better. It is a Kickstarter, yes. But they committed to ship via 1/31/19 and they sent me the shipping confirmation number the same day. Arrival estimate is 2/4/19.

    3. Most of the alternatives, either have poor os support, or run old kernels (2.6), the pi I belive has the widest range of modern os support.

  10. I was waiting for you to talk about the possible SD card corruption if power is removed before shutting down. To me this is one of the biggest issues and certainly goes against the Poka Yoke principal.

    1. Thank you for the suggestion,

      I thought about that, but that is really solely the user’s fault. In this case, the RPi devs are not trying to hide this fact from the user. This is cheap hardware after all. I don’t think that this will be different with any other board.


  11. This is exactly why I have tried so many boards for making a NAS and finally, have found the Rock64.
    Rock64 in terms of performances (Real Ethernet, USB 3.0, eMMC, RAM, etc.), compatibility with NextcloudPi, and above all, Meltdown/Spectre resistant, is why I have choosen it. The only cons I have found so far :

    1- no possibility to use real-time document editing (Collabora Online) because of arm architecture
    2- I think its Rockchip RK3328 contains blob too (not sure), I don’t think such true open-source CPU exists today, which is too bad.

    Otherwise, this Rock64 is the best compromise, and I am really happy with it.

    1. Watch the space for completely open cource RISC-V architecture!
      SiFive is a company with some of the cores already available.

    2. Hi.

      Some questions about the Rock64 : how does it handle pictures thumbnail creation in NextcloudPi web page ?
      On my RasperyPi 3, with htop command, all 4 cores are at 100% when generating thumbnails. (Aren’t they generated once and stored on the server ?? if not so, this is dumb…)

      And what about slideshow ? I find going from one picture to another (manually) very slow to display the next one (shouldn’t be so CPU consuming to display picture at screen size…)

      One last question : did you migrate your setup (prefs files, database…) from the Pi to the Rock64 or did you start from scratch ?

      Thanks for your answers, I’m about to jump to the Rock64.

  12. Raspberrypi is not good for machine learning as well as deep learning projects………
    It will stuck or take longer time for processing ( you can’t imagine)

  13. Regarding the Cpu what about the new RISC cpu? Isn’t it all open source? Though would be an architectural change

  14. Hi! Very good article! I have been playing with RPis since the model one and never gave a thought about the power problems, taking aside how frequently the board hang and the SD card became corrupt. I bought the last two boards with 2.5A power supply and that really helped. About this, very insightful the comment about bypassing the connector; I will give it a try some day.
    Thank you!

  15. We actually use hundreds of pis in a production environment, as a replacement for thin clients in order to free up resources on the terminal servers. The software installed is bare bones, just raspbian lite, xorg, openbox, fbpanel, and chromium. Overall it works but even on the latest pis there is still too much lag. Sometimes you click a button on a website and the pi just sits and thinks for a couple minutes.

    Personally I think the ARM processor is complete garbage, but I was told “this is the amount of money we are willing to spend, make it work…”

    However, come this Monday, I will be testing a Zotac box. I think the difference will be night and day.

    1. Are you using a smart phone? 😉 They all use ARM..

      Did you trace where the wait was coming from? Wireshark is a good tool to start with, as it made it easy to find the timeline of exchanges with the web server. You don’t really know how much improvement you will get if you don’t know what the issue is.

      Which Zotac box? An Intel N3* CPU is not very fast either, other Zotac machines at 10 & plus times expensive.

      Overall I find the raspberry pi a nice board for it’s price: versatile and a rich ecosystem. It is very good at doing many satellite projects: I use it as Kodi box, water sprinkler controller, garage WiFi extender. I do not use it as a file server. For NAS, I would use the HC2 (the HC1 is reported to have power issues as well).

      I do have an old refurbished Zotac as file server: it has an esata interface. It is a low end AMD E1800 CPU, but is good enough. I found it for cheap an I had leftover RAM and 2.5 HDD from upgrades..

      1. I’m sorry it took me so long to reply to this. Yes of course I have a smart phone 😁 but I definitely don’t do much more than calling or texting with it.

        So we did use tcpdump to trace the packets. This particular internal application makes calls to two of our servers, but also make dns calls, etc. We found that when the pi would take its long “breaks” it was almost always waiting on a SYN ACK response on one of the two servers it is trying to establish a connection with. Doesn’t matter if it’s wired or wireless, same result. However if we set up a Windows box, run our app on chromium and these problems just don’t happen.

        The Zotac box we set up was a CI320 I believe, which has a Celeron processor. I installed Debian stretch with xorg, openbox, chromium, and fbpanel, so exactly the same way as the pis. Used the wireless connection. Like the windows boxes or the connections from the thin clients to the terminal servers, the problem just doesn’t happen on the Zotac either. Still scratching my head about what is going on with the pis.

        1. I want to update this story. So after a number of months I updated that Zotac box from Stretch to Buster. And guess what… Random network timeouts, tcpdump showed the exact same issue happening. So the problem never happened on kernel 4.9 (ARM or AMD) but it would happen on any kernel at or above 4.14 (ARM or AMD). At that point I ruled out the problem being the pis and started looking at sysctl settings. Eventually started investigating our load balancer.

          Turns out our Fortinet load balancer was either misconfigured or firmware was extremely outdated., And it somehow had some kind of issue with devices using Linux kernels 4.14 or newer. So when this problem would occur, clients would send a SYN packet but would never receive the return SYN ACK packet from the servers behind the load balancer. We set up another brand of load balancer for testing. On one of the pis with kernel 4.14 I set the hosts file to point to the “new” load balancer rather than the current one. Could not reproduce the problem. Eventually replaced the Fortinet load balancer and now our pis are connecting to our internal apps flawlessly with kernel 4.19 and all the latest updates.

  16. A barrel connector like some chinese boards use and a updated SoC (internal eth MAC and perhaps usb3) would go a long way of making rpi a very usable machine.

    1. I agree, I am running into all sorts of devices failing due to the micro USB connector (Phones, tablets, mp3 players, etc). I’m not sure if it’s due to people connecting devices to cheap cables or a durability issue. Barrel Jacks have been around much longer and other than the occasional repair from people tripping over cords or using the wrong size plug, I have not had any where near as many issues with them. The fact that devices may also be acting flakey due to under voltage is all the more reason we need to have the standard changed or improved for micro USB connectors.

  17. Another problem that many new users run into is the micro SD. Apparently, the RasPi doesn’t like some of the Kingston cards.. These are quite often provided with the starter kits. I solved a lot of weird problems after I replaced mine. The one in my kit wasn’t on the list of recommended cards.

  18. I agree with some of this article, although as an owner of some 14 Pi’s of varying models I’m a bit biased. I set them up for a variety of useful tasks, and even now, my low-traffic web sure is happily running on a Pi 3B. The main issue seems to be that people want to use them as normal, but cheap servers, and realistically it ain’t gonna work. Accept the inbuilt limitations and you can have a *lot* of fun and save a *lot* of money on power bills too.

    Corrupt SDHC cards? Don’t be cheap – seriously, buy decent ones and above all get a decent power supply. I use an Anker 6-way that allegedly puts out 5 amps continuous current and I believe this has been instrumental in running my Pi stack for over 3 years now.

    The power requirement thing is a *major* bugbear though and the alleged 3.5 amp requirement makes powering a Pi stack effectively a big problem, I also have an Odroid XU4 that apparently needs 4amps so a creative solution is required.

    1. Hi Pete, thanks for dropping by

      My point is that you don’t need to accept the limitations just because it’s cheap… because you have similarly cheap boards without those limitations.

      I agree with the SD card issue. To me it looks like it’s the user fault… and it’s also related to the powering issue. A flaky power supply will likely corrupt your SD card.

  19. High speed interfacing is, in general, not really supported. Whether its USB, ethernet, or the IO port, you hit a wall when things get serious.
    For NAS, you need at least 2 SATA ports and preferably 4 [or more]. If you need a cluster of Pi nodes, the speed they can talk to each other is critical. We’re talking multi-gigabit data rates, and a 40 pin DIP header isn’t going to cut it.
    FPGAs use FMC [FPGA Mezzanine Connector]. PCs use PCI Express. The Pi needs something similar, in order to compete.

  20. To call it garbage is to much. It costs 30$ all together. That said In my opinion it works fine. If I need performance I get somthing else.

      1. Brian said that the ARM processor is garbage. (Yeah, I know; I’m late to the party)
        Thanks for the article. 🙂

  21. It is slow doing NAS, correct but it is cheap and thats the cause number one for home-based storages.
    20# wires dirrctly soldered to my pi pcb, then after 10 cm it turns 10# for 1.5meter. Power supply is chinese industrial 40Amperes. Excellent work.

  22. > Freescale IMX and Allwinner are competitors using a similar approach

    FYI Freescale no longer exists and term NXP iMX would be correct.

  23. My main concern about any other board is support. Somehow I think that the Raspberry is the lowest risk of running into problems with either nextcloudpi no longer supporting a SBC or the SBC’s supplier not updating their software stack, shutting down their company respectively.

  24. Not even the official power supply is good enough for the RPi 3 B and RPi 3 B+.
    It underclock it to 600 MHz and 1.2v.

    1. Hello,

      Yes, ThreadX code is available, but we don’t know what stuff is installed in that OS. We don’t have the source code of the stuff running on that OS. You can run open source in a closed source OS or closed source on an open source OS, the problem remains.

      Also the Intel ME is an unfortunate example, as is probably the worst security and privacy concern at the moment.

  25. Just of note here is that Raspberry have stated the v3 is the end of the road for that architecture (from their blogs/forums) and this brilliant article explains the problems they have to deal with for an amazingly cheap board. They are already working on a brand new completely different board, which I would not be surprised to hear is not 100% backward compatible, whereas to-date everything has been.

    1. Thanks for the info. I think this article proves though that this isn’t an amazingly cheap board. There are much smaller companies putting out higher performing boards for the same price or cheaper. Combine that with the fact its impossible to get a raspberry pi without getting gouged on the shipping. Then you need to be sure to get a high quality power supply and cable which adds to the cost. When the Rpi came out I think it was probably pretty revolutionary at its price point. Now though it feels kind of like the Apple of SBCs; Overpriced, lacking features, but with good software support, and a group that seems to ignore the shortcomings or makes excuses for them.

  26. hey guys, interesting thread.

    I’m not a RaspPi user, but like many I try to keep current with what else is out there.
    I offer some alternatives of what I’ve found and used recently. Yes these all cost way more than $35, but with all your accessories and HATs and mezzanine boards and you already have, too.

    1) The Android TV Box
    HW specs of a AndroidTV Box are pleasant, where you get a rk3288 cpu (ARMv7l) with 4GB of RAM and a 64GB eMMC storage, with your familiar HMDI 1.4 -out for like $76 US.
    Yes at this price you are still stuck with 100Mbps ethernet and 65Mbps wifi, but at least I get a finished case, LED faceplate, power supply, IR remote/mouse, and SDCard slot.
    Yeah it’s running Android not Linux… so I went the route of many Chromebook/Crouton -type users where I ignore the base OS and just let it do it’s job and hey that’s great, audio, suspend/resume, wifi all that works if you dont whack/overwrite the base OS.

    So I use and recommend Termux https://termux.com/
    to give a usable and extensible linux OS living like a baby kangaroo inside mama Android’s pouch.
    You install a docker-lite layer which lets you have your familar (in my case Fedora 29 for ARM, but I see Arch & our other linux friends like Debian/Ubuntu work too )
    It works GREAT as I now have python, youtube-dl, openssh, nginx, rsync, and the 54,000 other rpms spewing out of fedora modular repo, don’t have to screw with or worry about the hardware/driver layer.

    The budget version of this same deployment is just to buy or inherit or find an old discarded Samsung Galaxy S4. You get a 2560×1600 4.9 inch capacitive touch console display “for free” ~ whereas I see the RaspPi crowd paying an $30 for a 5inch __800x400__ display?
    The S4’s 2GB of RAM runs Termux just fine too, and for $3 US I use and recommend FX Explorer webDAV/ssh/sftp/smb app: http://www.nextapp.com/fx/ It turned my S4 from “old phone gathering dust in my workshop drawer” into “hey that’s my silent fanless upstairs server. 5.5 x 2.5 x 0.25 inches? Rich fools in San Francisco would stand in line to pay $549 for a ‘Apple iPAD Mini 5’ like that.

    2) upgraded Android TV Box
    found a twice as expensive _rk3399_ -based Android TV Box with better (hexacore) aarch ARMv8 cpu + Mali 860 GPU + 4k HDMI 2.0 + native gigabit ethernet + 802.11ac wireless. Of course I said this time I’m not doing Termux I’m doing fedora for ARM/aarch64 or Ubuntu 18 from one of those Armbian distros on bare metal. Lemme Etcher all over your eMMC babygirl, since I can’t seem to make you boot off your SDCard?… umm yeah I bricked it. I DONT recommend doing this unless you have true TTL-USB/UART serial port.

    3) openWRT on ARMv7l
    on a device such as, the Linksys WRT32x or WRT3200ACM – which has a Marvell-based wifi & switch & 5 gigE ports. Yes – it only has 512MB RAM but it is just really well thought-out with DUAL/ALTERNATING boot partitions and a serial port to recover from guys like me bricking the hardware. it’s 5,999 opkg repo seems dwarfed by fedora dnf’s but I seem to find everything I need in there so far. I get 939Mbit on those gigE ethernet ports all day e’rryday, so I feel bad for you RaspPi folks struggling with such poor network & USB 3.0 performance in the year 2019.

    Anyways, have fun out there whatever you’re using. I think we are living a great time of free and open software and sharing. We’ll purge the closed-source binary blobs and stupid-ass-UEFI bootloaders in due time! Long live the GNU!

  27. Very interesting article.

    I do have a couple of comments.

    Firstly, in my opinion the power supply part of the RPi (and similar) is made completely wrong – as there already is some power regulation circuits on board, they should have made it more versatile, so instead of supply through the crappy micro usb connector, they should have used a 5,5×2,1 mm dc connector, AND made it accepting an unregulated input in a range like eg. 7-15 V.

    This is the way it is done on several Cisco routers, and then its is up to the internal circuitry to ensure the correct voltages for the CPU.

    This does also make it much more simple to use a battery backup, and monitor the voltage, so there can be an automatic shutdown, if the voltage drops below at predetermined value.

    Secondly I see a lot of problems with SD card corruption, not only caused by incorrectly shutdown, but also due to other write errors, so much more focus should be put into solving these problems – also the total lack of an on/off button does not help to make it better.

    We must remember that foundation and its congregations love to tell the rest of the world that they only do it for the children, but in that case I think they have totally misunderstood who the audience is, because kids do not necessarily think much about proper shutdown.

    It would be very nice if it was possible to flash a read only OS to the Pi, so it could be used headless without risk of corruption – as soon as I can find a truly open alternative that can do this, uses less power (performance is no that important, one core can do it), and with a decent size community, it is bye bye Pi.

    Lastly it worries me to see that the Linux actually only is a second class part of the Pi, and that makes me think about this problem that I have seen, especially on the 3+, namely that after I have experienced a crash, then the next boot with a totally fresh SD card in several occasions also crashes – so does the Pi hide something behind my back?

    1. “It would be very nice if it was possible to flash a read only OS to the Pi, so it could be used headless without risk of corruption ”

      And in the meantime I have found it, the Alpine Linux, very recommendable:


      Runs 100% out of RAM, is very fast, and easy to configure.

      1. alpine linux is cool, its like the most common linux container in Docker/podman -world.
        ‘docker pull alpine’ and you got it, 5.5MB in size. But it cant do much until you start adding layers to the docker image and bind-mount’ing the Docker host’s /usr filesystem.

        I use and recommend the fedora 30 aarch64 container image for my Docker containers, the most basic version runs about 45MB.

        Has anybody purchased a FriendlyArm M4V2? for $70/base+$25 daughterboard, you get M.2 NVME slot OR 4 port SATA board:

  28. Interesting that most of the concern here is about performance, and not security or privacy.

    Spend another twenty or thirty bucks and you’ll get much better throughput. But spend another one or two hundred and you could still be exposing your data to ???

  29. In any the wireless chip is not great either and would have to compete with other interfering devices in the surroundings for airtime anyway so it’s not a great alternative.

  30. One problem with raspberry pi is raspberry pi forum. Forum admins tend to become easily offended by minor things.

    Forum admins pressure linux users to use raspbian. When I talked about raspberry pi’s linux kernel, forum admins told me to just use raspbian and stop thinking about raspberry pi linux kernel. They often got pissed off by technical side of raspberry pi.

    They also warn about or delete posts that talk about other single board computers such as Orange Pi. Some forum admins say talking about Orange Pi is abusive on Raspberry Pi Forum.

    Raspberry pi documentation is far more helpful than raspberry pi forum. Raspberry Pi Forum was one of the major reasons that I stopped using Raspberry Pi.

  31. What logos do you mean by
    > Have you ever thought about who is printing those logos when the Pi boots connected to HDMI?
    If you mean the four logos printed in the upper left corner, I think these logos are printed by the kernel, they can be changed back to Tux if you compile your own kernel

  32. I’m pretty sure I heard the Raspberry Pi wasn’t the best value for money when it was new. It certainly wasn’t the most open and secure then or now. Also, the hobbyist community could have been built up without being centered around any one board. However, there is one incontestable point in the Pi’s favour: international availability. There are countries where the Pi is the only thing available with GPIO pins. This, I think, helps excuse the price; the paperwork for getting new hardware into many countries is insane! There’s no EU common market for selling electronics; a separate mountain of paperwork has to be done for each country.

Leave a Reply to svrocket Cancel reply

Your email address will not be published. Required fields are marked *