I’ve upgraded or swapped my Home Assistant hardware more times than I want to count. I want to share the experiences I’ve learned along the way when choosing hardware to run Home Assistant locally. I always try choose hardware is lower power and will take up limited space in my 9U Server Cabinet

Skip to March 2020 for a summary of what I recently upgraded to and the Conclusion if you are looking for current hardware recommendations.

July 2018

In early 2018, I spent a massive amount of time researching what hardware and software I wanted to use for my smart home. My requirements were to use hardware that I could repurpose if needed and open source home automation software that was widely supported, low maintenance, low power and cheap. The Raspberry Pi 3 B+ was the clear winner at the time with Home Assistant meeting the other requirement.

I followed this guide to install Home Assistant on the Pi. It was fully manged and worked great as I didn’t want to have to manage an Operating System too.

By early 2019, I was looking for something new for multiple reasons:

I had multiple drive failures due to high number of writes going to a basic MicroSD card that wasn’t designed to handle the number of Home Assistant writes for sensor data. I upgraded to the Samsung PRO Endurance 64GB MicroSD card which helped solve this problem. Any power interruptions could cause an SD Card to be unbootable. This can happen if a write is happening to the SD Card when the power loss occurs. I had to restore from a saved backup multiple times which is a real pain and not something you look forward to. Too many docker add-ons and integrations running was causing resource constraint issues where integrations were slow to respond. This was greatly magnified anytime an integration that required a network connection was offline due to configured long default timeout times in software and not handling backpressure. Rebooting for updates or integrations was painful. The Wife/Husband (WAF/HAF) factor was dropping.

When purchasing flash memory it’s highly recommended to choose storage that is optimized for throughput (reads/writes) as well as total number of writes (TBW).

April 2019

One April morning I was super excited to see an announcement for a new Single Board Computer (SBC) that had

16GB of onboard Flash Memory. This solved the issue with power interruptions.

of onboard Flash Memory. This solved the issue with power interruptions. 2GB of ram. Not only was it faster, but it was twice the amount of memory compared to the 3B+.

of ram. Not only was it faster, but it was twice the amount of memory compared to the 3B+. Faster x86 hardware which meant that it could out preform the Pi in every way as well as run add-ons like VS Code (which didn’t yet support ARM).

hardware which meant that it could out preform the Pi in every way as well as run add-ons like VS Code (which didn’t yet support ARM). Runs on only 4-15 watts TDP ! Didn’t require too much more power to run.

This was a clear winner and checked all my boxes but it has some definite pain points like:

No fully managed Home Assistant Images from Home Assistant.

The only “official” device images were bloated developer OS Images. I tend to only install clean images from Ubuntu or Microsoft directly so I know I’m getting a clean experience free from any “paid” vendor software. That’s not to say these images weren’t already clean. I just want to know what I’m using.

No documentation on how to install Home Assistant on it other than this.

Some Atomic Pi’s might have issues with it requiring a hard power off for reboot. I found this out when I helped get my neighbor up and running on an Atomic Pi.

The primary 16GB drive is an eMMC which is known to have limited write lifespan. It’s fine for putting an operating system on but not something that is always writing to it. So you need to configure Home Assistant to write to the MicroSD card. It could be corrupted but it’s much much less likely to cause issues. In fact, I’ve had 5 more power outages than I’d like and I didn’t run into any issues.

drive is an which is known to have limited write lifespan. It’s fine for putting an operating system on but not something that is always writing to it. So you need to configure Home Assistant to write to the MicroSD card. It could be corrupted but it’s much much less likely to cause issues. In fact, I’ve had 5 more power outages than I’d like and I didn’t run into any issues. You have to know and maintain the linux install.

I was also able to repurpose the Raspberry Pi 3 B+! I installed OctoPrint on it and it controls my Ender 3 Pro.

By early 2020, I was starting to hit some of the same issues I ran into with the Atomic Pi:

The addons and integrations I was running was just too much for the hardware constraints. I currently have over 800 entities in my House and Garage with many sensors including Facial Recognition which is all happening locally. When backpressure occurred with networked entities on top of all of my local processing… I started to get the feeling that some of my Node-RED automations weren’t running.

Software reboots for updates or adding new integrations takes too long.

With these issues I was on the lookout for a new SBC that had much more processing power while still had a low TDP power envelope. I knew I still had quite a bit of life in the Atomic PI but long term this was not the solution for me.

As for the Atomic Pi, I’m thinking of running some analysis services on it. It would be really cool to buy two more and make a Kubernetes cluster! What are your thoughts?

March 2020

I started researching the next hardware that would replace the Atomic Pi. I wanted to take a look at all options since this next choice I would be living with for as long as possible.

I could have continued to use with the Atomic Pi for quite a while longer. Especially if time was taken to profile and optimize automations and integrations. As the saying goes time is money and I think a lot of time would be sunk in just this.

Since the Atomic Pi came out there was a new Raspberry Pi 4 Model B released. I knew it would roughly be the same experience as the Atomic PI, but impossible to compare benchmarks due to different CPU architectures. From the benchmarks I’ve seen (not comparing apples to apples) I knew it would be close. It would still have the same storage issues as described previously and it might still have USB hardware issues with the Aeotec Z-Stick. I need something more powerful that will last for years to come.

I was looking for AMD to release a Ryzen 4000 series embedded device but this just doesn’t seem to be happening and it’s very unlikely one can build a super low powered tiny desktop SBC any time soon. The Embedded Ryzen series just don’t seem like it will cut it in processing power either which is a real shame.

This lead me to look at Intel’s latest 10th Generation Intel NUCs ( NUC 10 ) that were released in December of 2019. The processors are built on 14nm++, are faster and also contain hardware security fixes make it worth considering over previous generations ( NUC 6 , NUC 8 ). One cravat is that the NUC 10 actually has a slower graphics cards (GPU) than previous generations. This should only affect you if you are wanting to use the integrated card for heavy machine learning or other compute operation. I really had hoped it was a bit more powerful but it will work.

The 10th Generation met all my needs ( 6 CPU Cores @ 28 watt TDP ) but I wanted to be a bit more future proof with newer standards. I initially ruled out the NUC 10 for these reasons and was waiting to upgrade to the 11th Generation Tiger Lake NUC later this year. Tiger Lake is supposed to feature 10nm technology, faster DDR4 memory, PCI Express 4.0, HDMI 2.1 and a new much faster Xe GPU. Also, I know that they are coming out with a version that will take any PCI Express x16 graphics card. This would be really awesome for machine learning locally. I’m just cringing what the price tag and power consumption of such a rig would be.

TIP: Check out this awesome Intel NUC tracking spreadsheet if you want to stay up-to-date on what NUCs are available.

But this all changed, last week when there was an awesome deal on an NUC 10 (NUC10i7FNH) kit with 64GB of memory included. A few of us were lucky enough to snag it at $605 USD.

Compared to the previous two solutions this is definitely the most expensive and a bit overkill. I went with two drives because I want the 860 EVO for backups as well as large data sets facial/image recognition. I could have saved $179 on by going with 500GB drives instead. I realize that I might not ever use this amount of storage, but I don’t want to run out. I can also use this memory in a future machine or some of it for network attached storage (NAS).

The current downsides of the NUC 10 are as follows:

Cost

Higher power usage at 28 watt TDP (can peak much higher for short duration).

Unable to use the Intel-NUC system images as they currently don’t support (as a result you have to maintain a linux install): Unable to boot from the NVMe drive Limited driver support To my knowledge you cannot attach secondary drives for storage.



I should have spent some time trying to install it on my NUC to see if there were any other issues or if I’d run into driver issues but I was quite turned off by the lack of NVMe support and couldn’t get any answer on the official discord channel on secondary drives.

So far the NUC 10 has been working amazing and everything is so much faster and working much better than the previous hardware!

Conclusion

If you are looking for a SBC/small machine to run Home Assistant on I think there are some great options out there. Even though I choose an Intel NUC 10 series doesn’t mean you have to (I have some insane requirements). I’d recommend starting small if you are just starting out. Below are my recommendations (based on the machines I have used) if you are looking for a machine today.

NOTE: If you don’t care about power usage or form factor you can build a machine on the cheap. I would build based on the Ryzen 4000 series when it is released. There are also many other small form factor machines available that are much cheaper. But the technology stack may contain hardware vulnerabilities, may no longer be supported, or may lack community adoption/support. So please keep this in mind when picking a solution.

Budget $75 USD

I really like the Raspberry Pi 4 Model B. But I cannot recommend it until the USB hardware issues with the Aeotec Z-Stick are worked out. Also, I’d only consider it if you have a power backup solution so you don’t run into any power failure issues described above. It has cases you can buy from any retailer and you can use the managed system images.

Due to the hardware issues that have been present since launch (some have been resolved), I can only recommend the Atomic Pi which is the same exact cost but features onboard flash storage and is x86 hardware. The main con being you have to install and manage linux.

Atomic Pi

Budget $575 USD

I know there is a big price jump up from the previous tier. I just feel like it is not even worth considering a non quad core cheaper solution like the i3 NUC. In my experiences I’ve ran into to many issues with lack of processing power.

If you can’t hold out until the Tiger Lake NUC is released I’d buy an Intel NUC 10 with only a single SSD (as you can’t boot off the NVMe drive). You could then use the built in system image and let it manage everything for you.

As of writing this the NUC 10 (NUC10i5FNH) seems to have very limited stock so I listed the NUC 8.

Budget $850 USD

If you can’t hold out until the Tiger Lake NUC is released I’d buy an Intel NUC 10 with a backup drive. Here is a recent review by AnandTech

You could bring the price down by swapping out different components but I feel this offers you the biggest bang for your buck and leaves you open to future upgrades via additional memory and storage.

Please stay tuned for my next guide on installing [Home Assistant on Ubuntu]](/blog/installing-home-assistant-on-ubuntu).