Hailo-8L AI Kit on RPi 5
Getting the Hailo-8L NPU running on Raspberry Pi 5 — from PCIe config through camera inference pipelines. Real notes from the CoreConduit lab, not marketing copy.
Getting the Hailo-8L NPU running on Raspberry Pi 5 — from PCIe config through camera inference pipelines. Real notes from the CoreConduit lab, not marketing copy.
The Hailo-8L is a 13 TOPS neural processing unit designed for edge inference. Raspberry Pi sells it in two form factors — pick the one that fits your build:
M.2 M-key HAT adapter board with a Hailo-8L module. Sits on top of the Pi via the M.2 HAT+ interface. Works on bare RPi 5 boards.
Integrated HAT form factor — no separate M.2 board needed. Hailo-8L (13 TOPS) or Hailo-8 (26 TOPS) variants available. Stacks directly on RPi 5 GPIO.
Both connect via the RPi 5's PCIe interface. The installation steps below are the same for both — the only difference is Phase 1 (PCIe config), which applies only to the AI Kit M.2 variant.
If you're using the AI Kit (M.2 adapter board), PCIe needs to be enabled and optionally bumped to Gen 3 for maximum bandwidth. Skip this phase if you have the AI HAT+ — it handles PCIe setup automatically.
PCIe Gen 3 doubles bandwidth but can cause instability with longer or lower-quality ribbon cables. Start with Gen 2 if you see kernel panics or device-not-found errors, then try Gen 3 once stable.
Add these lines to the end of your config.txt:
Raspberry Pi OS ships Hailo packages in its standard APT repository. The hailo-all meta-package pulls in everything you need in one shot:
What hailo-all gives you:
After rebooting, confirm the Hailo-8L is visible and the driver loaded correctly:
Hailo maintains an official examples repo for Raspberry Pi 5 with ready-to-run detection, pose estimation, and segmentation pipelines:
The examples include pre-compiled .hef model files (Hailo's compiled network format). No model conversion needed — just run:
The most practical use on a Pi is live camera inference. Hailo integrates with rpicam-apps via post-processing JSON descriptors — no Python scripting required for basic pipelines:
Ollama runs LLMs on the CPU and ARM cores — it has no Hailo backend. The Hailo-8L handles vision inference tasks (object detection, pose estimation, segmentation). They complement each other on the same Pi but don't share a runtime. Use Hailo for camera/vision; use Ollama for text generation and language tasks.
That said, they coexist cleanly on an 8GB Pi 5:
On the 8GB Pi, expect Ollama to use 4–5 GB for a 7B model, leaving 3–4 GB for the OS and Hailo runtime. Smaller models (1.5B–3B) leave more headroom if you're running camera pipelines simultaneously.
Hailo-8L on RPi 5, PCIe Gen 3, HailoRT 5.3.0 — inference-only throughput (CPU pre/post-processing not included):
| Model | Task | Resolution | FPS (NPU) |
|---|---|---|---|
| YOLOv8s | Object Detection | 640×640 | ~180 |
| YOLOv8n | Object Detection | 640×640 | ~450 |
| YOLOv8s-pose | Pose Estimation | 640×640 | ~130 |
| YOLOv8s-seg | Segmentation | 640×640 | ~100 |
| ResNet-50 | Classification | 224×224 | ~450 |
Numbers from Hailo's published benchmarks and CoreConduit lab testing. Real-world end-to-end throughput (including camera capture and display) is lower — typically 25–60 FPS depending on pipeline complexity.
If this section applies to you, take a breath. Hardware acceleration setup is genuinely finicky — the PCIe link, the kernel module, the userspace libraries, and the camera pipeline all have to agree before a single frame runs. When something fails here, it feels like you did something wrong. You probably didn't. The Pi 5 + Hailo stack is still maturing, and the error messages don't always point at the actual problem. Work through the symptoms methodically. You've got this.
For AI Kit: confirm dtparam=pciex1 is in config.txt and you've rebooted. Check the M.2 card is fully seated. Try Gen 2 first (remove pciex1_gen=3).
Remove dtparam=pciex1_gen=3 and run Gen 2. The shorter FPC cables that ship with the AI Kit are more reliable at Gen 3 than aftermarket cables.
Add your user to the hailo group: sudo usermod -aG hailo $USER, then log out and back in.
Ensure you're on Raspberry Pi OS 64-bit (Bookworm). Ubuntu users need to install from Hailo's developer zone at developer.hailo.ai — the hailo-all meta-package is RPi OS specific.
Run sudo apt install --reinstall rpicam-apps hailo-tappas-core. The stage .so files need to be on the library path.
The Hailo-8L idles cool but can hit 70°C+ under continuous 180 FPS inference. The active cooler that ships with the AI Kit is adequate; passive-only setups will throttle.
Your answers shape what we write next.
Questions, setup notes, or things that worked differently on your hardware — we're listening.