Home Assistant
Home Assistant on a Raspberry Pi 5: the NVMe build (parts list + install)
Build a quiet, low-power Home Assistant server on a Raspberry Pi 5 with NVMe instead of an SD card. Full parts list, two builds and the install steps.
OUR PICKS / YOUR SETUP
Find your fit.
Build a Raspberry Pi 5 with the official 27W supply, Active Cooler, M.2 HAT+ and a 2230 NVMe drive, or put it in an Argon ONE V3 M.2 case for a closed box. Choose a mini PC for Proxmox and heavy add-ons, or Green for zero setup.
- Open official stackActive Cooler + M.2 HAT+
- Closed caseArgon ONE V3 M.2
- RadioMG24 on a USB 2.0 port
We earn a commission if you buy through our links — it doesn’t change our picks. How we make money → As an Amazon Associate I earn from qualifying purchases.
YOUR NEXT PROJECT / THE GEAR
Parts list
- Raspberry Pi 5 8GBCheck price on Amazon
Quad-core Pi 5 with Gigabit Ethernet, PCIe for NVMe and USB ports for connected hardware.
- Raspberry Pi 27W USB-C Power SupplyCheck price on Amazon
The official 5.1 V 5 A supply for a Pi 5 driving an SSD and USB devices.
- Raspberry Pi Active CoolerCheck price on Amazon
Clip-on heatsink and temperature-controlled fan; the M.2 HAT+ stacks above it.
- Raspberry Pi M.2 HAT+Check price on Amazon
Connects a 2230 or 2242 NVMe SSD to the Pi 5 PCIe connector.
- Kingston NV3 500GB M.2 2230 NVMe SSD (SNV3SM3/500G)Check price on Amazon
A 2230 NVMe drive that fits the M.2 HAT+ and the Argon case.
- Argon ONE V3 M.2 NVMe case for Raspberry Pi 5Check price on Amazon
Aluminium case with its own NVMe board, fan and power button, for drives up to 2280.
- SONOFF Dongle Plus MG24 (Dongle-PMG24)Check price on Amazon
Use this USB radio to connect your Zigbee sensors directly to Home Assistant.
A Raspberry Pi 5 makes a lovely Home Assistant box: small, quiet, sips power, and has the GPIO header and two USB 2.0 ports a smart home actually uses. The one upgrade worth making from day one is storage. Boot it from an NVMe SSD instead of an SD card, and it behaves like a proper little server.
Build it from official parts: Raspberry Pi 5, the 27W USB-C power supply, the Active Cooler, the M.2 HAT+ and a 2230 NVMe drive such as the Kingston NV3 500 GB. Want a closed box instead? Put the Pi and SSD in an Argon ONE V3 M.2 case. Add a SONOFF Dongle Plus MG24 on a USB 2.0 port for Zigbee.
Specs come from Raspberry Pi, Argon and Home Assistant’s docs.
Pi 5, mini PC or Green?
Pick the Pi 5 when you want a small, low-power box that does Home Assistant and nothing else, with room to tinker: a 40-pin GPIO header for HATs, a power button, a real-time clock and two USB 2.0 ports, which is exactly where HA wants your Zigbee stick.
Pick a mini PC when you want Proxmox and other VMs, more memory, or heavy apps such as Frigate camera detection. The mini PC install guide covers that route.
Pick Home Assistant Green when you want to plug in power and Ethernet and never see a setup screen.
The parts list
Raspberry Pi 5 board. The Pi 5 has a quad-core 2.4 GHz Cortex-A76, Gigabit Ethernet, two USB 3.0 and two USB 2.0 ports, and a PCIe 2.0 connector for an SSD adapter. HA’s Raspberry Pi guide asks for at least 2 GB of RAM, so a 4 GB board is plenty for a typical home. We link the 8 GB board for extra app headroom.
Official 27W USB-C power supply. It delivers 5.1 V at 5 A, and Raspberry Pi recommends it for powering SSDs and other hungry peripherals. Don’t reuse an old phone charger here.
Active Cooler. Raspberry Pi says the Pi 5 performs best with active cooling. The Active Cooler clips on with an aluminium heatsink and a temperature-controlled fan.
M.2 HAT+ and a 2230 SSD. The M.2 HAT+ connects an NVMe drive to the Pi’s PCIe 2.0 connector at up to 500 MB/s. The standard version takes 2230 and 2242 drives and fits on top of the Active Cooler with its stacking header and spacers. The Kingston NV3 500 GB M.2 2230 fits. (The Compact version is the one that fits inside the official Raspberry Pi case.)
Or: Argon ONE V3 M.2 case. The Argon ONE V3 M.2 is an aluminium case with its own NVMe board for M-key drives up to 2280, a drive heatsink, a blower fan, a power button and two full-size HDMI ports. It replaces the Active Cooler and HAT+. A jumper inside lets the Pi start by itself after a power cut. Argon’s fan and button script is written for Raspberry Pi OS, not Home Assistant OS, so plan around the default behaviour.
Zigbee stick. A SONOFF Dongle Plus MG24 on its USB extension, in a USB 2.0 port.
| Build A: official stack | Build B: Argon case | |
|---|---|---|
| Board + power | Pi 5 + 27W USB-C supply | Pi 5 + 27W USB-C supply |
| Cooling | Active Cooler | Argon case fan and heatsinks |
| SSD adapter | M.2 HAT+ (2230/2242) | Argon NVMe board (up to 2280) |
| SSD | Kingston NV3 500 GB 2230 | Kingston NV3 2230 or any M-key up to 2280 |
| Enclosure | Open stack | Closed aluminium case |
| Best for | A shelf or cabinet, all official parts | A tidy box on a desk or media shelf |
Why NVMe over an SD card? HA’s guide asks for an A2-rated card of at least 32 GB when you do use SD. Home Assistant writes history around the clock, though, and an SSD is the sturdier home for that. You also get much faster boots and backups.
Install Home Assistant OS on the NVMe drive
HA’s official guide writes the OS to an SD card. To boot from NVMe, set up the Pi’s boot order first using Raspberry Pi’s NVMe boot steps, then write Home Assistant OS to the SSD.
- Assemble. Build A: clip on the Active Cooler, fit the HAT+ with its spacers and ribbon cable, install the SSD. Build B: install the Pi and SSD in the Argon case, and set the auto power-on jumper if you want it.
- Boot Raspberry Pi OS from a spare SD card, with a keyboard, monitor, Ethernet and the 27W supply connected.
- Check the drive and update. In a terminal,
ls -l /dev/nvme*should list your SSD. Then runsudo apt update && sudo apt full-upgrade. - Set the boot order. Run
sudo raspi-config, go to Advanced Options → Boot Order, choose an option that includes NVMe and reboot when asked. - Write Home Assistant OS to the SSD. Open Raspberry Pi Imager, choose Raspberry Pi 5, then Other specific-purpose OS → Home automation → Home Assistant, select the NVMe drive as storage and write.
- Boot from NVMe. Shut down, remove the SD card, plug the Zigbee stick into a USB 2.0 port on its extension cable and power up. After a few minutes, open
homeassistant.local:8123.
Keep the stick away from the SSD. HA’s ZHA docs name USB 3.x devices and ports as 2.4 GHz noise. Use the USB 2.0 port and the extension cable.
Automation: tell me if the Pi runs hot
Add the System Monitor integration under Settings → Devices & services. All of its sensors start disabled, so open the device and enable Processor temperature.
alias: Pi 5 - running hot
triggers:
- trigger: numeric_state
entity_id: sensor.system_monitor_processor_temperature
above: 75
for:
minutes: 10
actions:
- action: persistent_notification.create
data:
notification_id: pi_hot
title: Pi running hot
message: >
The processor has been above 75 °C for ten minutes
({{ states('sensor.system_monitor_processor_temperature') }} °C now).
Check the fan and give it some air.
mode: single
Check your exact entity ID and swap it in.
Test it
- Open Developer tools → States and confirm the temperature sensor shows a live reading.
- Temporarily change the delay to
seconds: 10, then set the sensor’s state to80. - The Pi running hot card should appear. The next real reading puts the true value back. Restore 10 minutes.
The short version: Pi 5, 27W supply, Active Cooler, M.2 HAT+ and a 2230 SSD make a tidy official build. The Argon ONE V3 M.2 turns it into a closed box. Want VMs and heavier apps? Get a mini PC. Want zero setup? Green. Then head to the Home Assistant hub for your first devices.
Still choosing what to buy? Our Pi 5 kit and parts buying guide separates the official open stack, closed-case fit and SD-card bundles before you start assembling.
The same hardware can take a radio job: our Pi 5 ADS-B receiver guide uses Raspberry Pi OS, a USB SDR and a 1090 MHz antenna for a local aircraft map.
Sources & methodology
Where these facts come from.
- Raspberry Pi 5 CPU, RAM options, USB ports, Gigabit Ethernet, PCIe 2.0, GPIO and active cooling advice · checked October 24, 2026
- Raspberry Pi 27W USB-C Power Supply 5.1 V 5 A output and high-power peripheral guidance · checked October 24, 2026
- Raspberry Pi Active Cooler heatsink and temperature-controlled fan · checked October 24, 2026
- M.2 HAT+ PCIe 2.0 up to 500 MB/s, 2230/2242 support, Active Cooler fit, Compact version for the official case · checked October 24, 2026
- Argon ONE V3 M.2 NVMe case drive sizes, fan, power button, HDMI and auto power-on jumper · checked October 24, 2026
- Home Assistant OS on Raspberry Pi 5, 2 GB minimum, Raspberry Pi Imager route and A2 SD cards · checked October 24, 2026
- Raspberry Pi NVMe SSD boot order setup · checked October 24, 2026
- Home Assistant ZHA USB 2.0 and extension cable advice · checked October 24, 2026
- Home Assistant System Monitor processor temperature sensor · checked October 24, 2026
Source dates are listed above.
As an Amazon Associate I earn from qualifying purchases.
YOUR NEXT PROJECT / THE GEAR
Parts list
- Raspberry Pi 5 8GBCheck price on Amazon
Quad-core Pi 5 with Gigabit Ethernet, PCIe for NVMe and USB ports for connected hardware.
- Raspberry Pi 27W USB-C Power SupplyCheck price on Amazon
The official 5.1 V 5 A supply for a Pi 5 driving an SSD and USB devices.
- Raspberry Pi Active CoolerCheck price on Amazon
Clip-on heatsink and temperature-controlled fan; the M.2 HAT+ stacks above it.
- Raspberry Pi M.2 HAT+Check price on Amazon
Connects a 2230 or 2242 NVMe SSD to the Pi 5 PCIe connector.
- Kingston NV3 500GB M.2 2230 NVMe SSD (SNV3SM3/500G)Check price on Amazon
A 2230 NVMe drive that fits the M.2 HAT+ and the Argon case.
- Argon ONE V3 M.2 NVMe case for Raspberry Pi 5Check price on Amazon
Aluminium case with its own NVMe board, fan and power button, for drives up to 2280.
- SONOFF Dongle Plus MG24 (Dongle-PMG24)Check price on Amazon
Use this USB radio to connect your Zigbee sensors directly to Home Assistant.
Prepared by Racks & Watts.