// Reference Architecture

Retail Edge AI System: 8 Camera Jetson Orin NX Architecture

Last updated: July 2026

A practical edge-first deployment pattern for retail stores using 8 PoE IP cameras, Jetson Orin NX 16GB, local NVMe storage, and cloud-light metadata sync.

8x PoE cameras
Jetson Orin NX 16GB
120-140W total power
7-14 day retention

Verdict

For a standard 8-camera indoor retail deployment, Jetson Orin NX 16GB is the best-fit platform. It provides enough decode and inference headroom without jumping to the cost and power envelope of AGX Orin.

Try this in System Designer and compare alternatives before final hardware purchase.

Architecture Overview

Video is processed locally at the edge. Only events, metadata, clips, and dashboard summaries should be synced upstream. This keeps cloud bandwidth and storage costs under control.

8x PoE IP Cameras1080p streams, H.264/H.265, ONVIF preferred
PoE+ Switch120-150W budget, camera VLAN, uplink isolation
Jetson Orin NXDecode, inference, tracking, event filtering
NVMe Ring Buffer1-2TB local storage, 7-14 day retention target
Cloud / DashboardMetadata, alerts, clips, fleet monitoring

Deployment Summary

Use caseRetail analytics, people/object detection, queue monitoring
Cameras8 PoE IP cameras
Resolution1080p
Frame rate20-30 FPS depending on model complexity
Latency target100-200 ms for local alerts
Retention7-14 days via local NVMe ring buffer

Sizing Rationale: Why Orin NX 16GB

The compute platform must clear three separate ceilings at once: hardware video decode for 8 concurrent 1080p streams, inference throughput for the detection model, and memory for decoded frames plus model weights. Orin NX 16GB (157 TOPS, 16GB LPDDR5, 102.4 GB/s memory bandwidth) clears all three with margin for a standard retail detection workload; its practical ceiling is around 12 concurrent 1080p streams.

Stream capacity math

Size inference throughput against the analyzed frame rate, not the camera capture rate. Cameras can record at 20–30 FPS while the detector samples each stream at a lower rate — 15 FPS per stream is a sensible analysis default for retail people/object detection. That gives a required aggregate inference rate:

  Required inference:  8 streams × 15 FPS analyzed = 120 inferences/sec
  YOLO11n (INT8, TensorRT, 15W mode):  256 FPS  → ~47% utilization
  YOLO11s (INT8, TensorRT, 15W mode):  188 FPS  → ~64% utilization
  YOLO11m (INT8, TensorRT, 15W mode):  103 FPS  → does not fit at 15 FPS/stream
        

The benchmark figures are single-stream, batch-1 numbers at 640×640 input; real pipelines lose some throughput to decode, pre-processing, and tracking, which is why the target operating band on this page is 65–80% GPU utilization rather than 100%. Two practical conclusions follow. First, nano- and small-class detectors fit comfortably at 8 streams even in the 15W power mode. Second, a medium-class model only fits if you drop the analyzed rate to roughly 10 FPS per stream (80 inferences/sec against 103 FPS capacity) or raise the power mode — which changes the power budget below.

Why not the cheaper or bigger option

Orin Nano Super (67 TOPS, ~$249 module) tops out around 6 practical streams — workable for a 4–6 camera store but with no expansion path at 8. Orin NX 8GB (117 TOPS, ~$399) has the compute for 8 streams but halves the memory; 8 decoded stream buffers plus a tracking pipeline leave little room for a second model. AGX Orin 32GB (200 TOPS, ~$899) buys headroom you will not use at 8 cameras and roughly doubles the compute power envelope. The $599 Orin NX 16GB module is the point where stream count, memory, and cost intersect for this workload.

Camera Layer

Use ONVIF-compliant PoE cameras at 1080p. Typical bitrate is 4-8 Mbps per stream, placing total camera ingress around 32-64 Mbps before overhead.

Network Layer

Use a PoE+ switch with VLAN separation. Keep cameras isolated from management traffic and expose only the edge device to dashboard or admin networks.

Compute Layer

Jetson Orin NX is the sweet spot for 8 streams with detection and tracking. AGX Orin is safer for 12-16 cameras or multi-model workloads.

Power and Performance

Component Estimate
8 cameras x ~10W~80W
PoE switch overhead~20W
Jetson Orin NX~15-25W
Total~120-140W

PoE budget walk-through

The PoE switch budget is the number most often undersized. Work from the maximum draw on each camera datasheet, not the typical figure. Fixed indoor dome cameras usually land at 6–12W (802.3af class); budget at 12W unless you have confirmed lower. PoE power is measured at the switch port, and cable resistance means the port delivers more than the camera receives — roughly 13.5–14W at the port for a 12.5W camera on a 50m Cat6 run:

  Camera load (datasheet max):   8 × 12W  =  96W
  Port delivery after cable loss: 8 × 13.5W = 108W
  Switch overhead:                        ~10W
  Headroom (20%):                 108 × 1.2 → 130W minimum PoE budget
  Switch tier to buy:             150W or 180W rated
        

Headroom is not optional. It absorbs camera startup inrush, firmware-update power spikes, unit-to-unit variation, and reduced PoE circuitry efficiency at elevated ambient temperature. A switch running at 98% of its PoE budget delivers unstable power under transient load, and when the budget is exceeded the switch refuses power negotiation or sheds the lowest-priority ports — a camera silently going dark, not an error message.

Two spec-sheet traps: a switch advertising “30W per port” across 8 ports does not have a 240W budget — the total PoE budget is a separate, lower figure, and both limits must hold simultaneously. And PTZ or heated outdoor cameras are 802.3at (PoE+) devices at up to 25.5W each; mixing them in pushes the build into the 180W+ switch class.

The compute node sits outside the PoE budget on its own DC supply. Orin NX runs configurable power modes from 10W to 40W; this architecture assumes the 15–25W band. Running MAXN/40W Super mode to fit a heavier model adds 15–20W to the wall load and, more importantly, to the enclosure heat load discussed below. Verify the full number with the Power Budget engine.

Expected Performance

Metric Expected range
Stable stream capacity8 streams
GPU utilization~65-80%
Local alert latency100-200 ms
Thermal loadModerate; active cooling recommended

Network Bandwidth Math

At 1080p, H.264 typically produces 3–5 Mbps per camera at moderate frame rates; H.265 cuts that to roughly 1.5–3 Mbps at equivalent quality. Cameras with variable bitrate will drift toward the top of their range in busy scenes, so budget at the high end:

  Per camera (H.264, 1080p):   4–6 Mbps
  Aggregate ingress, 8 cams:   32–48 Mbps
  Per camera (H.265, 1080p):   1.5–3 Mbps
  Aggregate ingress, 8 cams:   12–24 Mbps
  Gigabit uplink usable:       900+ Mbps
        

The camera-to-switch and switch-to-compute links are nowhere near saturation: a Gigabit uplink carries the full 8-camera H.264 aggregate at under 5% utilization. Bandwidth is not the constraint in this architecture — the reason to insist on Gigabit and a managed switch is VLAN isolation and headroom for expansion, not throughput. Avoid 100 Mbps uplinks anyway; they leave no room for higher bitrates or added cameras.

The WAN uplink is a different story. This architecture sends metadata, events, and selected clips upstream, not continuous video. That keeps steady-state WAN usage in the low single-digit Mbps regardless of camera count. If a requirement appears to stream even two full camera feeds to the cloud continuously, revisit the cloud pattern before buying bandwidth. Validate your exact codec and bitrate assumptions with the Network Bandwidth engine.

Storage Sizing and Endurance

Storage has two independent requirements: capacity for the retention window, and write endurance for a 24/7 ring buffer. At an average of 4 Mbps per camera:

  Per camera per day:  4 Mbps × 86,400 s ÷ 8 = ~43 GB/day
  8 cameras per day:   ~344 GB/day
  7-day retention:     ~2.4 TB
  14-day retention:    ~4.8 TB
        

Raw math says a 2TB NVMe holds about 7 days — in practice plan for ~6 days usable after filesystem reserve (ext4 holds back ~5%), log and system partitions, and deliberate over-provisioning. The 7–14 day retention target of this architecture therefore means either a 2TB drive with H.265 (which halves the daily write to ~170 GB/day) or a 4TB drive with H.264. For retention beyond 14 days, tier older footage to a NAS-rated HDD instead of buying a larger SSD.

Endurance (TBW)

Continuous recording accumulates roughly 125 TB of host writes per year at 344 GB/day. Sequential video writes carry a write amplification factor of about 1.1–1.3×, so NAND wear runs ahead of host writes:

  Required TBW = daily GB × WAF × 365 × years ÷ 1000
  344 × 1.2 × 365 × 5 ÷ 1000  ≈  753 TBW over 5 years
        

A 600 TBW prosumer drive gives roughly 4.8 years at the raw host-write rate but falls short of a 5-year target once WAF and margin are included; a 300 TBW consumer drive exhausts in ~2.4 years. For an unattended 8-camera node, specify ≥600 TBW as the floor and prefer enterprise-class TLC at ≥1200 TBW, which also brings power-loss protection. Partition only ~80% of the drive to keep WAF down, and set a SMART alert (NVMe Percentage Used, attribute 177) at 80% consumed so replacement is a maintenance-window task, not an emergency site visit. The Storage Endurance engine models this for your exact bitrate and retention.

Thermal and Environment Notes

Retail installs put the electronics in two unglamorous places: above ceiling tiles and in back-room cabinets. Both are worse thermal environments than the sales floor. Ceiling plenums accumulate heat from lighting and HVAC equipment, and back-room network cabinets are often sealed, unventilated, and shared with other warm gear.

  • Compute node: Orin NX requires active cooling. In a sealed cabinet, the ~15–25W module load plus the 3–7W the NVMe dissipates under sustained writes raises internal ambient over hours — thermal soak — even when a short bench test looks fine. Throttling shows up as FPS decay over time, not an immediate failure.
  • SSD: Sustained operation above 65°C increases failure risk, and thermal throttling both cuts sustained write speed (risking buffer overruns and dropped frames) and can shorten effective TBW life by 2–5×. Fit a heatsink or thermal pad to the M.2 drive and log its temperature (SMART attribute 194) during burn-in.
  • PoE switch: PoE conversion efficiency drops at elevated temperature, eating into the headroom calculated above. Mount the switch with clear airflow, not stacked directly on the compute enclosure.

Run a 24–48 hour burn-in at full inference load before sign-off, recording GPU temperature, SSD temperature, and per-stream FPS. A configuration that holds stable FPS through 48 hours in its final enclosure location has actually passed thermal validation; one tested on an open bench has not.

Bottlenecks and Failure Modes

Primary risk: model complexity. Moving from a small detection model to a heavier model can reduce stable camera capacity before bandwidth becomes the problem.

Failure mode What causes it Symptom Mitigation
Decode saturationMore streams or higher resolutionDropped framesLower FPS, use H.265, upgrade to AGX
Inference saturationLarger model, tracking, re-IDLatency spikesUse smaller model, batching, ROI inference
Storage pressureContinuous video retentionWrite stalls, dropped clipsHigh-endurance NVMe, reduce retention
Thermal throttlingClosed enclosure, high sustained loadFPS reduction over timeActive cooling, thermal headroom, ventilation
PoE oversubscriptionTotal switch budget below sum of port loadsCameras fail to power on or drop randomlySize total budget with 20% headroom; set port priority; monitor per-port draw
SD-card wearBooting or logging to microSD on the JetsonCorruption, boot failure after monthsBoot and record from NVMe; never place the ring buffer or logs on SD
Thermal soakSealed cabinet ambient rising over hoursPasses bench test, degrades in production24-48h burn-in in the final enclosure and location

Three of these are distinguished by how they hide. PoE oversubscription is invisible on an unmanaged switch — there is no per-port power telemetry, so a camera drawing 20W on a 15.4W port simply works intermittently. SD-card wear is silent until the card fails outright; unlike an NVMe drive, a microSD card exposes no usable wear indicator, so the mitigation is architectural (do not write to it), not monitoring. And thermal soak defeats short validation tests by design — the failure only appears after the enclosure reaches steady-state temperature, hours into sustained load. Log rotation matters here too: unbounded logs on the recording drive both consume ring-buffer capacity and add write wear.

Scaling Decisions

  • 4-6 cameras: consider Orin Nano Super for lower cost.
  • 8 cameras: Orin NX 16GB is the default recommendation.
  • 12 cameras: Orin NX can be tight; validate with target model and codec.
  • 16 cameras: move to AGX Orin or split across nodes.
  • Re-identification / multi-model pipelines: prefer AGX Orin class capacity.

8 to 16 cameras: what breaks first

Doubling the camera count does not stress every layer equally. In order of failure:

  1. PoE budget breaks first. 16 cameras at 12W is 192W at the cameras — more at the ports after cable loss — before overhead and headroom. That is past the 150–180W class entirely; a 16-port switch in the 185–300W tier is the replacement, not an add-on.
  2. Compute breaks second. Orin NX 16GB's practical ceiling is ~12 streams. At 16 streams and 15 FPS analyzed, the aggregate inference requirement doubles to 240/sec — past YOLO11s throughput (188 FPS) even before decode load. AGX Orin 32GB (200 TOPS, ~16-stream ceiling) is the step up, or split into two 8-camera nodes, which also halves the blast radius of a hardware failure.
  3. Storage scales linearly but crosses tiers. Daily writes double to ~688 GB/day (~250 TB/year), so a 600 TBW drive that was adequate at 8 cameras now exhausts in roughly 2.4 years — 16 cameras is firmly enterprise ≥1200 TBW territory, and 14-day retention grows to ~9.6 TB.
  4. Network does not break. 64–96 Mbps of H.264 ingress still rides comfortably on Gigabit.

Validate This Architecture With EdgeAIStack

FAQ

How many cameras can Jetson Orin NX handle?

For retail video analytics, Orin NX is typically a strong fit for roughly 6-10 1080p streams depending on frame rate, model size, tracking, and thermal conditions.

Is AGX Orin required for an 8-camera retail deployment?

Usually no. AGX Orin becomes more attractive beyond 10 cameras, with larger models, or with heavier multi-model pipelines.

Should retail video analytics run in the cloud?

For most stores, inference should run locally. Send metadata, alerts, and selected clips upstream instead of continuous full video.

What PoE switch budget do 8 cameras need?

Budget 12W per camera at the datasheet maximum, adjust for cable loss to ~13.5W at the port, add ~10W switch overhead and 20% headroom: about 130W minimum. Buy a 150W or 180W rated managed switch, and confirm the total PoE budget separately from the per-port rating.

How much storage does 14-day retention need?

At 4 Mbps H.264 per camera, 8 cameras write ~344 GB/day, so 14 days is ~4.8 TB before filesystem overhead. H.265 at ~2 Mbps roughly halves that, letting a 2TB NVMe cover the window. Choose a drive with ≥600 TBW endurance for 24/7 ring-buffer writes.