I Moved Home Assistant Off a Raspberry Pi to a Mini PC — and Wish I'd Done It Two Years Ago Home Automation

I Moved Home Assistant Off a Raspberry Pi to a Mini PC — and Wish I'd Done It Two Years Ago

by Joule P. Kraft · May 27, 2026

As an Amazon Associate I earn from qualifying purchases. No affiliate relationship influences my recommendations.

My Home Assistant install spent three years on a Raspberry Pi 4 with 4GB of RAM, booting from an SD card, sitting on a shelf next to the router. It worked. It served somewhere north of 120 entities, ran Zigbee2MQTT, Mosquitto, Node-RED, and a small army of automations. I’d tell people the Pi was fine. I was lying to myself a little.

Two weeks ago I moved everything to a refurbished N100 mini PC. The migration took about three hours including a fresh backup, a USB restore, and the cable management. I’ve spent the time since cataloging everything that got better, and the list is longer than I expected.

If you’re running HA on a Pi and the thought of moving has felt like overkill, this is the post I wish I’d read sooner.

What Finally Pushed Me Off the Pi

Three things compounded.

First, SD card anxiety. I’ve replaced two SD cards on this Pi in three years. Both times the symptom was the same: HA gets slower over a few weeks, then one morning it doesn’t come back from a reboot. Both cards were “good” brands (Samsung EVO, SanDisk Extreme). The wear is just real. You can move HA to USB SSD boot on a Pi 4, which I did after the second card died, and that helped, but you’re now running a Pi with a $20 USB-to-SATA dongle dangling off it, and it never feels permanent.

Second, add-ons started getting slow. I tried to add Frigate for camera object detection so I could ditch some cloud subscriptions. Frigate on a Pi 4 with software detection is a slideshow. You can add a Coral TPU and improve it dramatically, but you’re still bottlenecked by the Pi’s USB bus and limited RAM. I gave up after a weekend.

Third, automations had a perceptible delay. Motion-on-light should feel instant. On the Pi, with a busy automation engine and Node-RED running, I’d see 400-800ms between a sensor firing and a light coming on. Not the end of the world. Definitely noticeable.

I’d been telling myself for a year that the Pi was “fine.” It was fine in the sense that it worked. It wasn’t fine in the sense that I was managing around its limits constantly.

What I Bought

A refurbished mini PC with an Intel N100, 16GB DDR4, and a 512GB NVMe SSD. $178 with shipping. The N100 is Intel’s low-power efficiency chip — four cores, no hyperthreading, 6W TDP, surprisingly fast at the things HA does. It also has Intel Quick Sync video, which matters if you ever want to do hardware-accelerated video transcoding for cameras.

I went with a generic N100 mini PC because I don’t care about the brand, but Beelink is the most recommended in r/homeassistant if you want a name that comes up consistently. Trigkey, GMKtec, and ACEMAGIC are basically the same hardware in different cases.

The full bill of materials for the migration:

Total: about $200. The Pi 4 plus a name-brand SD card plus the eventual USB SSD I added cost me about $140 over three years. The mini PC is a one-time price bump that I’m not going to revisit.

How I Migrated

I went with Home Assistant OS installed bare-metal on the mini PC, not Proxmox or anything more elaborate. I’ll explain why below.

The actual steps:

  1. Full backup on the Pi. Settings → System → Backups → Create. Wait. Download it to your laptop. Verify the file is sane (a couple of GB usually, not 100KB).
  2. Flash HAOS to a USB stick using Balena Etcher with the generic x86-64 image.
  3. Boot the mini PC from USB, follow the on-screen instructions to install HAOS to the internal NVMe. The installer is dead simple — it wipes the SSD and installs.
  4. First boot, do not configure HA from scratch. Instead, go to the onboarding screen and choose “Restore from backup.” Upload the file from step 1.
  5. Wait 15-20 minutes. It will restore add-ons, configs, the database, everything.
  6. Move the Zigbee dongle. This is where the USB extension matters. Plug the Sonoff dongle into the extension cable, plug the extension into a USB-A port on the back of the mini PC, and let the dongle dangle 18 inches away from the case. The CH9102 and the metal mini PC case are not friends. Direct-plug, I had constant Zigbee dropouts. Three feet away on a cable, zero issues.
  7. Power down the Pi. Update your DNS / DHCP reservation so the mini PC has the same IP. Everything just works.

The total downtime was about 25 minutes. My wife didn’t notice the lights stopped responding because she happened to be on a Zoom call during the swap.

What Got Better

The boring summary is: every number got better. The non-boring summary is that some things got categorically different.

Automation latency dropped to imperceptible. Motion-to-light is now under 100ms on Zigbee, basically instant. The Pi’s bottleneck wasn’t the CPU; it was a combination of disk I/O on the SD card, the database churn, and the Python event loop being scheduled around all the other add-ons. The N100 has so much headroom that none of those queues build up anymore.

Boot time went from three minutes to forty seconds. Reboots after updates used to be a small project. Now they’re a coffee refill.

The database is faster. I’d been on the default SQLite recorder. The Pi could keep up but the History dashboard would take 4-5 seconds to load a 30-day graph. On the N100, the same query renders instantly. I haven’t even bothered to migrate to MariaDB. SQLite on NVMe is enough.

I added Frigate. Two camera streams, 720p detection at 5fps, runs at maybe 8% CPU. No Coral needed (though adding one would push it further). The same setup on the Pi was unusable.

I added Whisper and Piper. Local voice processing for Assist. The N100 isn’t fast enough for real-time wake-word + STT + LLM, but it handles intent processing and TTS in a couple seconds, which is fine for “turn off the bedroom lights.” On the Pi I wouldn’t have even tried.

I stopped worrying about the SD card. This is the one I underestimated. The constant background hum of “what if it dies tonight” is gone. I have nightly backups going to Nextcloud. The NVMe will outlast the rest of the hardware.

Why Not Proxmox?

A lot of advice online tells you to install Proxmox on the mini PC and run HAOS in a VM. I considered it. I decided against it for one reason: I don’t want my smart home to require me to remember how Proxmox networking works at 11pm when the lights stop responding.

The case for Proxmox is real if you want to also self-host other services on the same box — Plex, Nextcloud, a Minecraft server. Then you have isolation and snapshots and live migration and so on. If you want the mini PC to just be Home Assistant, HAOS bare-metal is the simpler path. Less to break, less to learn, less to maintain.

I’ll probably move to Proxmox eventually when I want to add more services. For now, bare metal.

The One Pitfall

Zigbee USB dongles next to USB 3.0 ports get crushed by RF interference. This is well-documented and I knew it going in and I still didn’t take it seriously enough. The first night I plugged the Sonoff dongle directly into the back of the mini PC, my Zigbee mesh fell apart. Half the bulbs unreachable. I thought maybe the mini PC was bad.

It’s just RF. USB 3.0 signals leak into the 2.4 GHz band that Zigbee uses. The mini PC’s metal case acts like a slightly bad antenna for it. A $5 USB 2.0 extension cable (not USB 3.0, the metal-shielded thicker one) that puts the dongle two or three feet away fixes it 100%.

If you take one thing from this post: order the USB extension cable with the mini PC. Don’t even try plugging the Zigbee stick directly in.

Power and Heat

The N100 idles around 6-9 watts. Under HA’s typical load with a few add-ons it sits at about 10-12 watts. My Pi 4 was at 4-5 watts. So I roughly doubled my power draw. At my electricity rates, that’s maybe $8 a year extra. Worth it.

Heat is a non-issue. The case is warm to the touch, never hot. The fan spins up briefly when something heavy runs (Frigate doing a re-index) and then settles back down. I keep it on an open shelf, not in a cabinet.

What I’d Do Differently

Honestly, very little. The setup has been boring in the best way. If I were buying again today I’d probably get 32GB of RAM instead of 16 — not because I need it but because the price difference is small and it leaves room for an LLM container later. I’d also pick a model with two NICs so I could eventually segment a IoT VLAN without adding a switch.

I would not bother with a Pi 5. The Pi 5 is faster than a Pi 4 — closer to a low-end mini PC — but it costs about $80 plus a case plus a power supply plus an NVMe HAT plus an NVMe, and you’re at $180 for something that’s still slower than the N100 and still on a single ARM core. The mini PC math just wins now.

The Bottom Line

If you’ve been running Home Assistant on a Raspberry Pi for more than a year, you’ve probably had at least one moment where something felt slow or fragile and you talked yourself out of caring. A $180 N100 mini PC removes the entire category of those moments. Migration is a one-evening project. The Pi becomes a perfectly good Pi-Hole or a Frigate offload device. You stop thinking about your hardware and go back to thinking about your automations.

I waited two years longer than I should have. Don’t be me.