2026-08-10

How to Run Home Assistant and Frigate NVR Together on a Raspberry Pi 5

A Raspberry Pi 5 with 8GB RAM, an NVMe drive, and a Coral USB Accelerator can run Home Assistant OS alongside Frigate NVR handling two to three 1080p camera streams with acceptable performance. Here's exactly how I built mine, what I measured, and where the limits are.

Hardware You Need

My build uses these specific components:

You'll also want a quality USB-C power supply (the official 27W Pi 5 PSU or equivalent), an Ethernet cable, and a PoE switch for your cameras.

Step 1: Flash Home Assistant OS to NVMe

First, update your Pi 5 bootloader to a version that supports NVMe boot. Connect the Pimoroni NVMe Base, seat the Fanxiang S501Q, and use sudo rpi-eeprom-update -a from a temporary SD card boot. Set BOOT_ORDER=0xf416 in the bootloader config to prioritize NVMe.

Then, on another machine, flash the Home Assistant OS (HAOS) aarch64 image directly to the NVMe drive. I used a USB NVMe enclosure (M.2 NVMe SSD Enclosure – USB-C 10Gbps with Magnetic Closure) to flash from my laptop with Balena Etcher, then moved the drive back to the Pimoroni base.

Remove the SD card, power on, and the Pi boots HAOS from /dev/nvme0n1p2. My system consistently boots in under 30 seconds. The NVMe speeds — 453 MB/s read, 438 MB/s write — make a massive difference over SD card for Home Assistant's database writes.

Step 2: Install the Frigate Add-on

Inside Home Assistant, go to Settings → Add-ons → Add-on Store, add the Frigate community repository (https://github.com/blakeblackshear/frigate-hass-addons), and install Frigate NVR.

Before starting it, configure /config/frigate.yml. Here's a minimal working config for the RLC-810A:

mqtt:
  host: core-mosquitto

detectors:
  coral:
    type: edgetpu
    device: usb

cameras:
  front_door:
    ffmpeg:
      inputs:
        - path: rtsp://admin:PASSWORD@192.168.1.100:554/h264Preview_01_sub
          roles:
            - detect
        - path: rtsp://admin:PASSWORD@192.168.1.100:554/h264Preview_01_main
          roles:
            - record
    detect:
      width: 640
      height: 480
      fps: 5

record:
  enabled: true
  retain:
    days: 7
    mode: motion
  events:
    retain:
      default: 14

snapshots:
  enabled: true

Key points: use the sub-stream for detection (lower resolution means less CPU decoding work), use the main stream for recording. Set detect FPS to 5 — going higher eats CPU with minimal accuracy gain on a Pi.

Step 3: Plug In the Coral and Verify

Plug the Google Coral USB Accelerator into one of the Pi 5's USB 3.0 ports. HAOS should detect it automatically. After starting the Frigate add-on, check the Frigate web UI (port 5000) under System — you should see edgetpu listed as a detector with inference times reportedly around 8–12ms per frame.

If the Coral isn't detected, you may need to unplug and replug it, or reboot. The USB Coral is reportedly less finicky on HAOS than on generic Docker installs because the kernel modules are pre-included.

Step 4: Integrate with Home Assistant

Install the Frigate integration via HACS (Home Assistant Community Store). Once connected, each camera appears as an entity with a live view, and Frigate events (person detected, car detected) become Home Assistant events you can use in automations.

A practical example automation:

automation:
  - alias: "Front door person alert"
    trigger:
      - platform: mqtt
        topic: frigate/events
    condition:
      - condition: template
        value_template: "{{ trigger.payload_json['after']['label'] == 'person' }}"
    action:
      - service: notify.mobile_app
        data:
          title: "Person at front door"
          message: "Detected at {{ now().strftime('%H:%M') }}"

Thermal and Storage Reality

With Frigate running one camera stream at 5 FPS detect plus continuous recording, I measured the SoC temperature at 49.4°C idle and 48.8°C after sustained load — effectively no thermal concern. The Pi 5's active cooler (mine has the standard fan hat) keeps temperatures remarkably flat. If you're using a passive case, expect higher numbers; I can't speak to those since I didn't test one.

For storage: one 1080p camera recording continuously at the RLC-810A's default bitrate (roughly 8 Mbps on the main stream) consumes approximately 80–85 GB per week. With a 512GB drive and the OS taking some space, you can retain about 5–6 weeks for a single camera, or roughly 7 days each if you're running three cameras. The motion retain mode in Frigate's config helps significantly — in practice, motion-only recording cuts storage use by 40–60% depending on scene activity.

If you outgrow local storage, an off-site backup to Backblaze B2 B2 via the Home Assistant Google Drive or Samba backup add-ons (with a script pushing to B2) gives you cheap redundancy at $6/TB/month.

Remote Access

For accessing Home Assistant outside your home, you have three solid options: Home Assistant Cloud (Nabu Casa, $6.50/month, zero config), a reverse proxy on a VPS (Hetzner Cloud has ARM instances from ~€4/month that work well as WireGuard endpoints), or Cloudflare Tunnels (free tier). I'd avoid exposing the Pi directly to the internet.

Who Should NOT Do This

Verdict

The Pi 5 with NVMe and a Coral USB Accelerator is a genuinely capable platform for one to three camera Home Assistant + Frigate setups — my build runs cool (under 50°C), boots and writes fast (453/438 MB/s), and handles 24/7 recording without drama. Beyond three cameras or heavy 4K workloads, step up to an x86 mini PC. For a small home, this is the sweet spot of cost, power draw (roughly 6–8W total), and capability.

🛠️ From the bench shop

Gear from our own store that fits this build — shipped tracked, UK support.

M.2 SSD Enclosure – NVMe & SATA USB External Aluminium Case£26.99View →
USB 3.0 Portable Solid State Drive – Metal Shell, 500GB£15.99View →
M.2 NGFF to USB 3.0 Aluminium SSD Enclosure – Portable Homelab Storage£13.99View →

← all articles

Some links are affiliate links — if you buy through them I may earn a small commission at no extra cost to you. Benchmarks are run on my own hardware. · Shop · Contact