For a new Frigate build, the Hailo vs Coral question has a short answer before speed even comes up. Google’s Edge TPU software repositories are archived, and Frigate’s own hardware guide no longer recommends Coral for new installs. That leaves the Hailo-8L or Hailo-8 as the buy, with Coral treated as legacy. What still needs checking is whether your model uses operations each vendor’s compiler supports and fits its memory. Headline TOPS will not tell you. Device choice is one step in deploying vision models on edge hardware.
Edge accelerator comparison at a glance
| Device | Vendor-rated compute | Host interface | What it accepts | Status in the sources |
|---|---|---|---|---|
| Google Coral Edge TPU | about 4 TOPS at roughly 2 W | USB or PCIe | TensorFlow Lite only, fully 8-bit quantised, compiled for the Edge TPU | Repositories archived; last libedgetpu release July 2021 |
| Hailo-8L | up to 13 TOPS | PCIe Gen 3, 2 lanes, M.2 B+M or A+E | TensorFlow, TensorFlow Lite, Keras, PyTorch and ONNX, compiled to HEF by the Dataflow Compiler | Current; precompiled Model Zoo; first-party Raspberry Pi OS support |
| Hailo-8 | up to 26 TOPS | PCIe Gen 3, 2 lanes (4 lanes on the M-key module) | Same framework list as the 8L, same DFC v3.x compiler | Recommended for new Frigate builds |
| Jetson Orin Nano 8GB | 20 dense INT8 TOPS (40 sparse), 7 W or 15 W modes | Standalone module with Ampere GPU and Cortex-A78AE CPU | Full GPU stack with CUDA, cuDNN and TensorRT | Current |
All the compute figures in this table are vendor ceilings, and none of them can be compared across rows as throughput. The reason is explained further down.
Hailo vs Coral for object detection: is Hailo actually faster?
For current YOLO-family detectors, Hailo has the headroom. Coral still wins on performance per watt for models that fit entirely on-chip. On Frigate’s default YOLOv6n model, Botmonster (2026) reports about 11 ms per inference on the Hailo-8L and about 7 ms on the Hailo-8. Jeff Geerling (2026) saw the Hailo-8L running at around 12 ms with very low CPU usage while testing two cameras on a Raspberry Pi 5. Misar (2026) gives Coral sub-millisecond latency on small quantised detectors like MobileNet that fit entirely on-chip, and still rates it the better performance-per-watt of the two for such models.
The catch with Coral is the word “entirely”. The Edge TPU has 8 MB of on-chip model memory, and anything that overflows it runs from slower memory or on the CPU. Older peer-reviewed measurements describe the same effect: when a model exceeds Coral’s on-chip memory, data is fetched from external memory with added latency, and exceeding an unspecified size limit makes compilation fail. Current YOLO-generation detectors are where Hailo gets its headroom, along with a maintained zoo of precompiled HEF files.
One caution before treating any of this as settled. The Hailo and Coral figures above were measured on different models, so read them as directional. For new builds, Botmonster treats Coral as a legacy device anyway. For an existing Coral fleet, nothing has broken, and Misar notes remaining USB stock trades above its original list price.
The two sources date different events in Coral’s decline. Botmonster dates the last libedgetpu release to July 2021, and Misar says the main repository was archived in April 2026. For a product that has to ship security updates for several years, a stack with no release since July 2021 is the fact that matters.
Hailo-8L vs Hailo-8: when does the extra throughput matter?
The Hailo-8 has twice the rated compute of the 8L, 26 against 13 TOPS, and Raspberry Pi priced the two AI HAT+ options at $70 and $110. On Frigate the difference shows up as about 7 ms instead of 11 ms on YOLOv6n, or 6 ms instead of 10 ms on SSD MobileNet v1. At Frigate’s default 5 detection frames per second, Botmonster works that out as a ceiling of about 18 cameras on the 8L and 28 on the 8 (1000 ms divided by the per-inference time, divided by 5). At list price the cost per camera is almost the same.
The choice comes down to headroom. The 8L suits a few cameras. The 8 is the one for a camera count that will grow, a heavier model, or spare capacity for other inference on the same box. If you are designing a multi-camera system, the stream count belongs in the architecture as well as the purchase order, which is the point of observable CV pipelines for CCTV.
Compatibility runs one way. Raspberry Pi states that any model compiled for the Hailo-8L runs on the Hailo-8, while models built specifically for the Hailo-8 may not run on the 8L. Ultralytics’ exporter defaults to the hailo8l target unless told otherwise. Compiling for the 8L therefore keeps both upgrade paths open, at the cost of leaving some Hailo-8 throughput unused.
How much conversion work do Coral, Hailo and Jetson need?
Coral needs more rigid preparation than Hailo. Hailo needs more tooling than Coral. Coral accepts only TensorFlow Lite models that are fully 8-bit quantised and compiled for the Edge TPU, via quantisation-aware training (Google’s recommendation) or full-integer post-training quantisation. If the graph contains an unsupported operation, the compiler cuts it at the first one: the part before runs on the Edge TPU and everything after runs on the CPU. Google warns that even a small CPU-side fraction can slow inference by an order of magnitude, and that the size of the slowdown cannot be predicted. A concrete case: the Edge TPU does not support hard-swish, so MobileNetV3 cannot compile for full TPU execution and some operations run off-chip.
Hailo’s Dataflow Compiler takes TensorFlow checkpoints, frozen graphs, TFLite or ONNX. It translates the model, quantises it from float32 to int8 by running a small image set to collect activation statistics, then compiles a Hailo Executable Format (HEF) binary. Its supported activations include Hard-Swish, which Coral lacks, plus SiLU and Mish, with GeLU in preview. Hailo is not automatic, though. The Dataflow Compiler performs no automatic operator transformation, so an unsupported op such as STFT has to be moved to the CPU or replaced by hand. The practical first step is the parser, for example hailo parser onnx --hw-arch hailo8l model.onnx --verbose, which lists unsupported operators before you invest in calibration.
Three constraints of the Hailo toolchain catch people out. The compiler runs on x86_64 Linux with a pinned Python version, not on the Pi itself. Hailo-8 and Hailo-8L use DFC v3.x while newer Hailo parts use v5.x. And a HEF is hardware-specific, so you cannot treat it as a portable edge format. If your model is a standard YOLO, Ultralytics automates the ONNX export, parse, INT8 optimisation and HEF compile. Custom ONNX models put you back in the Dataflow Compiler.
Jetson keeps you on a GPU with CUDA, cuDNN and TensorRT, which handles FP16 and INT8 calibration, layer fusion and kernel auto-tuning. Porting a TensorFlow model onto the Edge TPU specifically is covered step by step in our guide to porting AI inference to a Coral edge accelerator.
Why TOPS and FPS can’t be compared across edge accelerators
TOPS is the number of multiply-accumulate units multiplied by clock frequency, a ceiling for a synthetic workload. Hailo’s own analysis finds that the correlation between TOPS and measured ResNet-50 performance exists but is weak. Hailo is a vendor with an interest in that argument, but Misar and Ultralytics also treat TOPS as no measure of application throughput. Misar describes TOPS as a ceiling that turns into frames per second only if the model fits the accelerator’s memory and uses operations the compiler supports. Ultralytics advises against assuming Hailo is faster simply because it is an NPU, and says vendor TOPS and power figures are not comparable application benchmarks.
FPS figures look concrete but fail for a different reason: each one encodes a measurement setup. Hailo’s comparison figures for itself and the Edge TPU are batch 1 in INT8, while its Myriad X figures are FP16. One academic study measured at batch 1 in synchronous, blocking mode. Another found Coral performed best at batch sizes of 8 to 16. Batch size alone can therefore change what a chip’s FPS figure means.
Output size is another factor. A 2026 cross-platform INT8 study found that on one M.2 NPU, a classifier with a 4 KB output scaled 2.19× across cores, while a detector with a 2.82 MB raw output on the same device and runtime did not scale at all. Its design rule is to provision accelerators behind a bus by data movement rather than TOPS. In that study it was the detectors, with megabyte-scale raw outputs, that stopped scaling. That is also why a ResNet-50 classification number says little about your detection pipeline at production resolution.
Which constraints to fix before shortlisting any hardware is covered in what a CV consultant scopes first. For hardware selection the practical consequence is simple: compare the same checkpoint, input size, accuracy, host and full video pipeline on each candidate before buying.
Jetson Nano vs Intel Neural Compute Stick vs Coral: what the measured studies show
Two academic comparisons cover these three devices, and they disagree on which one is fastest. A 2023 study timed MobileNet, EfficientNet V1 and V2, VGG, ResNet and InceptionV3 variants on a Jetson Nano, an Intel Neural Compute Stick 2, a Coral USB dongle and a Coral PCIe card. It found that the Google platforms gave the fastest average inference time, especially on MobileNet and EfficientNet. The Neural Compute Stick was the only device to run models at every input size, which made it the most versatile. The Jetson Nano was prone to latency spikes, which is a problem for time-restricted uses.
A 2025 study came out the other way: the Jetson Nano with TensorRT gave the fastest deep-learning inference and lowest memory use, with the Neural Compute Stick and Coral next. Its setups differ. It ran the Jetson both with LiteRT and with TensorRT, hosted Coral and the stick on a Raspberry Pi, and covered machine learning, deep learning and LLM workloads. Its authors point out that each device supports a different framework (TensorRT, OpenVINO, EdgeTPU, LiteRT), which fragments deployment and measurement.
We read the two studies as consistent once the method is accounted for. Coral led on newer small CNNs such as MobileNet and EfficientNet, while Jetson led once TensorRT was applied. For a constraint-driven choice: Coral fits a single, stable TFLite model; the Neural Compute Stick suits model variety through OpenVINO, though it ran unquantised ONNX-converted models in the 2023 tests; and Jetson suits complex deep learning models. The Jetson Nano itself is an older 472 GFLOPS, 5 to 10 W board, so a new design would look at the Orin Nano generation instead.
When is a Jetson module a better choice than an M.2 or USB accelerator?
Choose a Jetson module for complex deep learning models. An M.2 module such as the Hailo-8 plugs into an existing host with an M.2 socket. A Jetson Orin Nano 8GB rates 20 dense INT8 TOPS in 7 W or 15 W modes and carries its own CPU and 8 GB of LPDDR5. A Hailo-8 module draws 3.3 W running ResNet-50 at 915 FPS and 2.4 W on MobileNet-SSD at 996 FPS, according to its datasheet, with an 8.65 W thermal design power. These are vendor datasheet figures for typical configurations. The Jetson pays in power for a general GPU and TensorRT.
Transformers make the difference concrete even within Jetson. The 2026 INT8 study found the Orin’s INT8-only DLA engine to be the performance-per-watt leader for CNNs. On DETR it fragmented into hundreds of GPU-fallback layers and ran 30× slower than FP16 on the integrated GPU. If the roadmap includes attention-based detectors, the GPU’s flexibility is worth its power budget. Which detector family to run in the first place is its own decision, compared in our piece on object detection model selection for production.
How much accuracy does INT8 quantisation cost on an edge accelerator?
For standard CNN classifiers it costs little: per-channel weight and per-layer activation quantisation to 8 bits keeps accuracy within 2% of floating point for a wide range of architectures, and quantisation-aware training narrows that to about 1% (Krishnamoorthi, 2018). Google’s Coral documentation likewise says 8-bit representations do not significantly affect inference accuracy. Those figures cover CNN architectures. Your model may not be one of them.
Three findings narrow the reassurance. Calibration data has to match the deployment domain. Ultralytics measured that calibrating a YOLO26n with 1,238 out-of-domain images left accuracy exactly where it was without fine-tuning, and it recommends at least 1,024 representative images. Quantisation also shifts YOLO26 confidence scores down by about 0.05, so a threshold tuned in PyTorch drops valid detections on the HEF. Finally, transformers can collapse: DETR lost 42.9% of its mAP under INT8 on a discrete GPU, with the same result reproduced on Jetson.
Frigate users moving from Coral to Hailo reported weak night-time detection on IR cameras with the stock model, and the maintainer pointed them to a different YOLO model.
The portability finding matters for anyone carrying one quantised model across devices. The 2026 study found that vendor NPUs own quantisation. One NPU silently ignored externally supplied scales and dropped top-1 accuracy from 0.75 to 0.005 while compiling and running without error. That NPU was Qualcomm’s, not Hailo’s or Coral’s, but the authors’ recommendation is general: treat vendor-native quantisation as mandatory and revalidate INT8 per target. They also found that the choice of resize and crop moved top-1 by about nine times more than quantisation did, so preprocessing has to be fixed before any accuracy delta means anything.
How do I size a model so it hits the latency target on the chosen hardware?
Size against the device’s memory and operator limits first, then measure on the device. On Coral that means a fully supported graph that fits the 8 MB on-chip memory, because even a small CPU-side fraction risks an order-of-magnitude slowdown. On Hailo, profiling reports hardware resource use, frames per second and a per-layer breakdown. HailoRT’s command-line tool then measures FPS, latency and power on the device itself. One study found Jetson Nano ran most efficiently at batch sizes of 16 to 32.
Two sizing traps follow from the earlier sections. Detector output size can make a lighter model no faster if the bus is the bottleneck. And higher input resolution roughly doubled power on Coral and the Neural Compute Stick in one study, while Jetson Nano held steady. Candidate architectures are surveyed in lightweight vision models for real-world use.
Navigating the latency, accuracy and power trade-off in edge CV
Latency, accuracy and power trade off against each other. On Coral, latency depends heavily on how much of the model stays on the chip. Hailo frames the honest question as the highest throughput achievable at a required accuracy, or the accuracy achievable at a required throughput, posed for a specific task and camera count. That framing is more useful than any single benchmark because it forces the accuracy floor and the stream count to be stated first. Under that framing, Coral trades breadth for power: it is very efficient inside its operator set and slow outside it. The Hailo parts trade a harder toolchain for headroom. Jetson trades power for flexibility.
What does edge inference cost per camera compared with cloud?
On the hardware side the per-stream cost is easy to work out. Botmonster’s figures put the Hailo-8L AI HAT+ at about $3.89 per camera and the Hailo-8 at about $3.93, at list price and Frigate’s default detection rate. For cloud computer vision, cost depends on instance pricing, egress and how many frames actually need a model. The wider edge-versus-cloud reasoning is covered in what IoT edge computing is and its benefits.
What happens when a model has operators the accelerator cannot run?
On these accelerators, a model with an unsupported operator ends up hybrid, split between host and accelerator. Hailo’s guidance for an unsupported operator such as STFT is to run that step on the host CPU and the inference on the NPU. Coral’s compiler makes the same split for you, at the first unsupported op, whether you wanted it or not. Designing the split explicitly means budgeting the data that crosses the bus, not just TOPS. Cloud fallback adds a network dependency the edge was chosen to avoid. Qualifying any of these patterns for unattended operation is covered in edge deployment and runtime qualification for machine vision.
Which checks should a model pass before you commit to Hailo, Coral or Jetson?
Treat the compiled artefact for each device as its own model. A HEF is hardware-specific, and INT8 outputs differ across targets even with identical scales. The checks below run in order, and each one can stop the device choice:
- Run the vendor’s parser or compiler on the exact checkpoint and list every unsupported operator before calibration.
- Calibrate with the vendor’s native quantisation path on in-domain images, not out-of-domain ones.
- Fix preprocessing, then measure accuracy on the compiled model under deployment conditions such as night and IR.
- Retune YOLO26 confidence thresholds on the compiled HEF.
- Measure latency, FPS and power on the device with the vendor tool and the real stream count.
- Check the vendor’s software status and the toolchain’s host requirements against the product’s support horizon.
TechnoLynx treats this as portability engineering. A model that performs in training is a different artefact from one that performs on the edge target, and closing that gap is engineering work. The work is most valuable when it is scoped against a measurable trigger, such as a latency ceiling or a power budget. TechnoLynx’s computer vision R&D team does this bring-up work on constrained devices. Coral’s archived stack is a deployment-target constraint of that kind for an existing fleet. The decision there is when to recompile for a maintained target, because the hardware will keep running regardless.
For a new Frigate build, the Hailo vs Coral choice is settled by Coral’s legacy status. The question you still have to answer is whether your own detector, calibrated on your own footage, holds its accuracy floor on the Hailo-8L at your stream count. If it does not, the next candidates are the Hailo-8 or a Jetson. The rest of the path, from model packaging to monitoring in the field, continues in our guide to deploying vision models on edge hardware.