Do you want to create a networked dudad that will flash an LED? Perhaps you could use a Raspberry Pi! After all, when you only have a hammer in your toolbox, it’s easy to see everything as a nail. But you shouldn’t, and here’s why.
Don’t Spend $40 on LED Flash Online
All too often we see relatively simple Internet of Things (IoT) electronics projects being done with the Raspberry Pi: a $35 mini computer that needs an SD card (another $5) and maybe a Wi-Fi dongle. You don’t really need the power of a Raspberry Pi to run simple embedded applications like an IoT sensor or a network-connected LED.
$5 NodeMCU Board which has built-in Wi-Fi, built-in flash, and is equally easy to program as the Pi, can handle this task elegantly. It includes a web server library if you really need it, or you can use a reduced protocol based on MQTT.
My point is that you should not automatically refer to the Raspberry Pi just because for your project thingamajig Internet connection required.
In some cases, you may find that your electronics project is limited due to the sheer amount of other things that need to work on the Pi. For example, Neopixels—individually controlled LED strings—require precise signal timing. Quadcopter drones are different. Motor speed changes must be made in a fraction of a second or they will just crash.
The Raspberry Pi needs to run a full operating system — which includes things like CPU multithreading, user processing, and file services — so it can struggle to push the bits out at the required speed. This means that it can sometimes pause top-level user applications when dealing with more urgent low-level processes. Development board like Arduino may be more limited in features (no GUI, for example), but it provides a much lower level, faster access to hardware, and only executes the code you tell it to.
In short, the Raspberry Pi cannot handle electronics projects, but in some cases it can be overkill and can cause complications.
It’s not enough for desktop use
Using the Pi as a Full desktop — even the most recent Model 3 — is incredibly frustrating. To begin with, it runs Linux, which has a steep learning curve and is not suitable for beginners. Linux enthusiasts constantly claim that this year is the year Linux will finally make headway in desktop computing for the average user — but that has never been and never will be.
Even with the performance boost the latest model has brought, you’ll still struggle with common tasks. This very short delay between pressing a key and having it appear on the screen will wear you down over time. Good luck with opening multiple web pages at once, or even one tab for smooth scrolling.
Don’t like the non-standard default browser and want to install Google Chrome? This is a minefield. You can’t just download Chrome — you need to install Chromium, the open source version… but the package names have changed so many of the instructions are out of date… and the version available in the Raspbian repository is out of date anyway, so you should probably just compile it’s yourself. Even then, some popular web services like Netflix still don’t support the platform at all.
Welcome to the wonderful world of desktop Linux, where nothing is easier.
If you thought the Raspberry Pi looked like a great way to introduce you to modern computing, stop. You really don’t want her first computer experience to be that awful. Yes, of course, it can handle text documents a bit in Open Office, but nowadays you can do it in literally any web browser via Google Docs. (Ironically, Google Docs is one of those things that will fight Pi.)
A budget Android tablet will likely make a better investment for your grandma, or even a used laptop you can get on eBay for $20 (and if you insist, you can still install Linux on it).
It’s dangerously insecure (in the wrong hands)
It’s very easy to move a web server to a Pi and then open your router to make it accessible from all over the world. Free website hosting, hooray!
But the moment you do that, your machine will be filled with automated hacker bots from all over the world systematically trying to break into your device through the known flaws of the old software. This is true for every website, no matter where it’s hosted, but it’s especially problematic on the Raspberry Pi, which is usually built by hobbyists who aren’t very familiar with security best practices.
Even worse: The Pi is usually running on the user’s home network. Once compromised, this bypasses any other protection an internet router can provide, leaving the hacker free to weed out the rest of the network devices.