Running Frigate NVR on Raspberry Pi 4 Without a Google Coral TPU
Frigate NVR is one of the best self-hosted camera solutions available. It provides AI-powered object detection (person, car, animal) without any cloud service. Most guides recommend a Google Coral TPU for hardware acceleration, but Frigate runs fine on a Raspberry Pi 4 CPU if you configure it correctly.
The Key: Low FPS on the Detect Stream
The most important setting for CPU-based detection is the frame rate on your detect stream. You do not need to analyse every frame – for a security camera, detecting a person within a few seconds is fast enough.
cameras:
garage:
ffmpeg:
inputs:
- path: rtsp://user:password@camera_ip:554/stream2
roles:
- detect
- path: rtsp://user:password@camera_ip:554/stream1
roles:
- record
detect:
width: 1280
height: 720
fps: 1 # 1 frame per second is enough for detection
With fps: 1, Frigate analyses one frame per second. This is more than sufficient for detecting people or cars entering a zone, while keeping CPU usage manageable.
Two Separate Streams
Use two RTSP streams from your camera:
- Sub-stream (low resolution) for detection – keeps CPU usage low
- Main stream (high resolution) for recording – full quality clips saved on events
Most IP cameras support two simultaneous RTSP streams on different channels.
Detector Configuration
For CPU-based detection:
detectors:
cpu1:
type: cpu
num_threads: 3
Limit to 3 threads to leave headroom for other services.
Record Only on Detection
On a 4G or limited bandwidth connection, continuous recording is expensive. Configure Frigate to record only when something is detected:
record:
enabled: false # disabled by default
detections:
retain:
days: 14
Use Home Assistant to enable detection via a switch, triggered by your camera’s motion alarm. This way the RTSP stream is only processed when motion is actually happening.
Performance Expectations
On RPi 4 with the above settings:
- CPU usage during detection: 20–40%
- CPU usage at idle: 2–5%
- Detection latency: 1–3 seconds
Without a Coral TPU, you will not get real-time tracking of fast-moving objects. But for security camera use – detecting someone entering your property – 1fps with 1–3 second latency is more than adequate.
Integration with Home Assistant
Frigate integrates directly with Home Assistant. Install the Frigate integration, point it to http://localhost:5000, and all your cameras and detection events appear as entities. You can build automations like “send a notification when a person is detected at the garage camera”.
Conclusion
A Google Coral TPU improves performance significantly, but it is not required for a functional Frigate setup. With 1fps detect stream and CPU-based inference, a Raspberry Pi 4 handles Frigate well alongside other services.