Gridhouse Products

Computer vision

GridVision

Multi-camera detection on a Raspberry Pi that alerts in tiers, so an urgent thing looks urgent.

Made by @mason · Updated Nov 8, 2026

Computer vision · Edge hardware

Cameras that know what matters.

Multi-camera detection running on a Raspberry Pi. It watches for weapons, people and vehicles, streams every camera live, keeps an event log, and tells you about the things that matter, in tiers, so an urgent thing looks urgent.

Three tiers, three different urgencies

Not everything deserves the same alarm. A weapon should interrupt you. A car passing should not.

Tier 1: Weapons

Firearms and knives. An urgent notification, an annotated snapshot, and a short clip covering the seconds either side, because a still frame only shows that a box was drawn.

Tier 2: People

A box around a human shape, nothing more. Alerts fire on arrival, then stay quiet: someone standing in view for an hour produces one notification, not sixty.

Tier 3: Vehicles

Cars, trucks, motorcycles. Gated on arrival rather than presence, so a car parked in the driveway is reported once, not every two minutes.

The small computer watches. The big one thinks.

Neural networks were the entire thermal budget of a Raspberry Pi. It ran hot enough to throttle itself off the network. So inference moved to a machine with headroom, and the Pi kept the jobs it is good at: capture, streaming, events and alerts.

The fallback is the important part. The inference host is a desktop that sleeps and reboots, and a monitoring system that quietly stops watching whenever that happens would be worse than one that never offloaded at all. So the Pi keeps its own copy of the models, notices when the host stops answering, and carries on alone until it comes back.

Measured, not estimated

2.58inferences per second on the Pi alone, NCNN, one camera
65%higher throughput from NCNN over ONNX at three cameras
26°Ccooler once inference moved off the Pi, 82°C down to 56°C
204automated tests, including guards on the privacy rules

It does not know who you are

The system answers is someone there, never who is there. That was decided at the start, and it is enforced by tests that fail the build rather than by good intentions. One rule was later relaxed by the owner, on their own hardware: it may group repeat sightings so it stops re-alerting about the same visitor. It does that by comparing clothing colour, it forgets within hours, and it still has no idea whose clothes they are.

  • No face detection or face matching
  • No biometric identification libraries
  • No names, and no link to any outside record
  • No footage leaving the private network
  • Snapshots and clips expire on a schedule
  • Dashboard bound to localhost and a private tailnet only
  • Cameras can be switched off from a chat command

The limitations, stated plainly

Small models on cheap hardware get things wrong, and pretending otherwise would make the alerts useless. Early on it classified a gaming chair as a person and a head of curly hair as a grenade. Both were fixed by measuring the failure and changing the design.

False positives happen

Treat a weapon alert as "open the clip and look", never as confirmation. Detections must persist across frames before anything is sent.

It is not fast

A couple of detection passes per second. Something crossing the frame quickly can pass between them unseen.

Lighting matters

Coloured lighting and near-darkness both degrade it badly. The models were trained on ordinary daylight.

Not available yet

GridVision runs on one household's hardware today. There is no download, no signup and nothing to buy.

Built with

  • Python
  • YOLO / NCNN
  • OpenCV
  • FastAPI
  • SQLite
  • Tailscale
  • systemd