Netra — Edge AI — computer vision

Netra — AI Surveillance System

Autonomous person-tracking surveillance on constrained hardware, with real-time detection and an anomaly-scoring dashboard.

Hardware
ESP32-CAM
Detection
YOLOv8
Transport
MQTT

What it had to solve

Surveillance that only records is evidence after the fact. Making it act — follow a person, notice something unusual — normally means a camera with a computer behind it. Doing it on an ESP32-CAM means the whole loop, detection through to servo movement, has to close on hardware with a fraction of the memory and no GPU, over a transport that tolerates an unreliable link.

The decisions that shaped it

A closed perception-to-motion loop

The ESP32-CAM streams into a YOLOv8 detection pipeline whose output drives pan-tilt servos. Detection is not the end of the system, it is the input to a control loop — the camera physically follows what it finds, which is what makes the tracking autonomous rather than an overlay on a recording.

MQTT because the link is not reliable

Commands and telemetry move over MQTT, a publish-subscribe transport built for constrained devices and intermittent networks. On this hardware that matters more than throughput: the loop has to degrade rather than stall when the link does.

Anomaly scoring on top of detection

Raw detections say a person is present. Anomaly scoring is the layer that decides whether that is worth attention, which is what turns a stream of positives into something an operator can act on.

Patrol heat-maps as the operator view

A FastAPI and React console renders where the camera has actually been looking as a heat-map, so coverage gaps become visible instead of implicit.

How the pieces sit together

Capture
ESP32-CAM streaming from constrained hardware
Detection
YOLOv8 person detection pipeline
Control
Pan-tilt servos driven from detection output
Transport
MQTT for commands and telemetry
Console
FastAPI + React with anomaly scoring and patrol heat-maps

Built into the product

Autonomous tracking

Servos following detections without an operator.

On-device pipeline

Running against ESP32-CAM constraints, not a workstation.

Anomaly scoring

Separating what is present from what is worth attention.

Patrol heat-maps

Coverage made visible in the console.

What it is built out of

Vision
YOLOv8, Python
Hardware
ESP32-CAM, Pan-tilt servos
Transport
MQTT
Console
FastAPI, React

What it looks like

Netra — The unit itself — ESP32-CAM on a pan-tilt base, streaming over wireless.
The unit itself — ESP32-CAM on a pan-tilt base, streaming over wireless.
Netra — The build as it actually stands: camera, servos and a printed housing on the bench.
The build as it actually stands: camera, servos and a printed housing on the bench.
Netra — The constraint that shaped it — inference on a board this size.
The constraint that shaped it — inference on a board this size.

What it produced

On-device
Detection on constrained hardware
Closed
Loop from detection to servo movement
Live
Anomaly scoring and coverage heat-maps