Why the Raspberry Pi should be your next home server
If you want to build a home server, you might want to use a Raspberry Pi for it. A low price, a low-energy consumption with a reasonable performance, passive cooling, or its extensibility are different reasons why the popular single-board computer might be ideal for you. In this post, I compare the Raspberry Pi to the Intel NUC in different disciplines.
A home server
The reason for building a home server can be various. You might want to go into smart home and automation, or you would like to play around with different docker containers, or just use it as a synchronized storage that you own and is fully under your control. You might want to avoid expensive cloud services to run your own applications, or use it as a CI/CD build server as an alternative to a public cloud server. There are too many scenarios why one would like to own his personal home server to describe it here.
Further, I want to emphasize that this article reflects my opinion on running an own home server, which is strongly economic and minimalism driven. Usually, I don’t have workloads that are extremely CPU demanding or need a lot of graphics-processing power. I’m sure there are many people who have other needs for a homer server and do share the opinion that more power is always just better. I do fully respect these opinions, but again this blog post was written with a more minimalistic and economic thought in mind.
As the reasons to build a home server, so are the options numerous, and it could fill a whole series of blog posts to cover them all. The two options I would like to compare in this post are the Intel NUC and the Raspberry Pi. Since there is not just one Intel NUC or one Raspberry Pi, I focused my comparison on the Raspberry Pi 4 (4 GB) and an older NUC with i5 for the power comparison (only because this was the machine I had at hand), as well as the Raspberry Pi 4 (8 GB) and a more modern NUC with a low-end Intel Celeron CPU for the price comparison.
To compare these two devices (or let’s call them device classes) we will cover the following topics:
- Economy & Price
- Passive Cooling and Noise
- Help Sources
I know that comparing the Raspberry Pi directly to a computer like an Intel NUC is a little like comparing apples (not the computers) with bananas. Still, I think it is worth doing, since the Raspberry Pi is very well suited for a workload that would have needed at least a NUC or similar device if not even a PC.
Economy & Price
To compare the two devices fairly, I tried to find the cheapest Intel NUC with 8 GB of RAM and a 1 TB SSD. On the other hand, I took a Raspberry Pi 4 with 8 GB (which I know is extremely hard to get these days) with a reasonable case a power supply as well as an external 1 TB SSD. I was going for an SSD in this comparison, since you might not want to store all your precious data on a microSD card. Not that I want to say that microSD cards are any bad, but I have seen to many of them wearing off and the performance improvement we can get from an SSD can boost our projects quite a bit. Better safe than sorry.
The reflected prices are in Swiss Francs from a Swiss retailer. I assume that the prices act more or less proportional in other currencies and countries as well.
To start, with the Intel NUC, I was able to bring the price of the full setup down to about 300 Swiss Francs. I doubt that we can go any cheaper with the NUC. To be honest, if I was buying an Intel NUC, I would probably go for a more powerful model, which would skyrocket the price. But to keep the comparison as fair as possible, we will stick to this model.
Even though, the initial price of the Raspberry Pi seemed to be much cheaper, it adds up as you need to buy a case as well as a power supply separately. The external SSD, in this case, is a little more expensive as the internal one of the NUC. Nevertheless, we can clearly see that the price for the whole setup is still smaller by a bit with the Raspberry Pi.
Just to make sure, this is a Raspberry Pi setup with everything that is needed for proper home server operation. If you want to go cheap and just play around with a Raspberry Pi, we can easily adjust this to get to about a third of the price of the NUC.
In this budget scenario, we operate the Raspberry Pi without a case, what works perfectly fine. Only with higher CPU loads we might see some performance impact, since the Pi might lower its power throughput due to heat issues as the case might also act as a passive cooler. Further, as mentioned before, the microSD card will work perfectly fine, but the lifetime and performance of an SSD usually cannot be reached.
Regarding power consumption, it is already widely known, that ARM CPUs, as found in the Raspberry Pi, Smartphones, Tablets and all the modern Apple computers are much more energy efficient than their ADM64 and x86 counterparts.
Since I didn’t have access to an Intel NUC Celeron J4005, I used my older i5 NUC (D54250WKH to be precise) for the power measurements. To have a brief estimate on how those two different NUC compare to each other, I found two sites mentioning the power consumption in standby, idle and active. According to the referenced page, the older i5 NUC has 3W, 8W, and 24W (standby, idle, active) while the other reference mentions the newer Celeron J4005 with 0.8W, 3.9–8.4W, and 12.3–21.4W.
To get another reference, I measured the consumption of my i5 NUC (8 GB of RAM, 1 TB of SSD) in idle running a Linux and running an online CPU stress test to get the CPU busy. My values were 5.6–6W in idle and 12.6–13.7W with a busy CPU.
For the Raspberry Pi, I did a similar test in idle and with a tool called stressberry to get the CPU busy. Again here a little disclaimer, I did these tests on a 4 GB model of the Raspberry Pi 4, since I do not have an 8 GB model. We can assume that the power consumption of the 8 GB model is slightly higher. Nevertheless, I measured values of about 2.2 -2.9 W in idle and 5.3 W under full load, which is just about half of the Intel NUC.
What this means in terms of energy cost can be easily calculated. I took the local electricity price of 0.17 CHF/kWh and assumed the home server would run 24/7. The result of cost per year turned out as follows:
4.47–7.90 CHF (idle — busy) for the Raspberry Pi
8.35–18.78 CHF (idle — busy) for the NUC
To be clear, these measurements are not super precise and since I wasn’t running the same configuration in terms of RAM and SSD storage, as well as the same setup in terms of operating system and benchmarking tool. Still, I think it can give us a good estimate on how the two-different systems compare to each other in terms of power efficiency. Further, I would like to emphasize that these are the energy consumption measurements of low-end devices, as soon as you use a strong Intel or AMD computer as your home server, the values will skyrocket and so will your electricity bill.
I think in terms of performance, the Intel NUC can still deliver more. This is not because the Raspberry Pi uses an ARM CPU, but because its CPU is based on the already quite old ARM Cortex-A72, which was launched in 2016. We need to keep in mind that the Raspberry Pi was designed to be an affordable single-board computer for schools, makers and everyone. The history of the Raspberry Pi already showed us that the CPU was getting stronger from every model to the next one, so we will very likely see an even more capable CPU in the Raspberry Pi 5 once it is announced. Let’s also be clear that the performance of the current Raspberry Pi 4 is still sufficient for a lot of use cases. I think if you don’t really need a high-performance machine, you should at least give the Raspberry Pi a shot. You might be impressed what it can deliver.
Passive Cooling & Noise
While performance might not the strongest discipline of the Raspberry Pi, its energy-efficient CPU allows for something most Intel and AMD PCs are incapable of. Having the Raspberry Pi passively cooled is in my opinion one of the best arguments for using it as a home server. Especially if you don’t have a separate room or cellar to run your home server, it is wonderful being able to run it completely without the sound of a spinning fan. Even if we can run the Raspberry Pi completely without any cooling solution, it might be a good idea to use a case that at the same time can act as a passive heat sink. To find the right case and cooling solution, checkout my blog post.
Sure, the fan of the Intel NUC isn’t too loud in the most use cases, but it can get as loud as a jet engine (maybe not exactly as loud ;) ) in certain uses cases. Using the NUC as a GitLab runner was a remarkable example of how loud these small fans can get. At first, I didn’t realize where the high pitch sound of the fan came from and was confused later why the NUC suddenly became so loud. Finally, I figured out that multiple parallel builds were just too much for the laptop size fan in the NUC.
Both devices, the Raspberry Pi and the Intel NUC, have a bunch of USB Ports, an Ethernet port as well as two ports to connect to external displays. One thing that makes the Raspberry Pi more special than the Intel NUC is its GPIO pins. These General Purpose Input Output (GPIO) pins allow us to connect different kinds of so-called “hats” as well as directly connected sensors and actuators. A hat in terms of the Raspberry Pi is a circuit board that can be plugged onto the GPIO pins and sits on top of the Pi, extending it with various of different features and functionality.
Besides a hat, we can also directly control single pins to read or write input and output signals. Further, we can connect SPI (Serial Peripheral Interface), I2C (Inter-Integrated Circuit), and UART (Universal Asynchronous Receiver/Transmitter) devices, making the Raspberry Pi the ultimate interconnectivity home server. A very handy map of the different functionalities of the GPIO pins can be found at pinout.xyz.
Due to the fact that it was not created with a focus of being the main building block for various DIY projects, the Intel NUC offers nothing comparable to the Raspberry Pi’s GPIO.
Because of its popularity, there are a whole lot of different forums for the Raspberry Pi, making it even for beginner easy to find answers and help for problems and questions. Some of the more popular places to look for answers are raspberrypi.stackexchange.com and the official Raspberry Pi forum at forums.raspberrypi.com. I rarely come across an issue or problem for which I cannot find the answer within a few minutes. This makes working with the Raspberry Pi a breeze and increases the learning pace for beginners dramatically. I’m certain that there are forums that help with problems for the Intel NUC as well, but I think it is safe to say that there are more help sources for the Raspberry Pi.
Why not to use a Raspberry Pi
In some rare cases, I totally see, why using a Raspberry Pi to build a home server is not feasible. Some of these reasons could be:
- When you need high performance to run a hypervisor, a very demanding database or a lot of graphic intensive tasks.
- When you need an amd64 or x86 architecture.
- When you need Windows. (I know we can run Windows on a Raspberry Pi, but let’s be honest, it sucks!)
Given the mentioned reasons, I think the Raspberry Pi can be the ideal home server, and I encourage everyone to give it a shot. I will cover some of the topics above in a more detailed way in my future blog posts. So make sure to follow me and get informed on new articles on Medium. Also, let me know if you have any questions and thoughts on this topic, or if you find that I missed any important point. If you know people who are interested in this kind of articles, sharing it with them would mean the world to me. Further, If you like this writing, you might want to support it and buy me a coffee. Anyway, thanks a lot for reading and see you next time.
About the Author
Remo Höppli is Co-Founder and Software Engineer at Earlybyte.
Earlybyte is an IT consultancy company specialized in developing digital solutions for customers around. The main focus of Earlybyte lies in the field of robotics backend systems and IoT.
Follow me on Twitter to get informed on new blog posts.