Webcam · MobileNet · OctoPrint

Catch a failed print before it wastes a spool.

One camera image is enough. PrintSheriff scores every frame and alerts you when a print turns into spaghetti.

The OctoPrint plugin is completely free and open source — no account, no subscription, no usage limit.

40 ms Per frame on a Raspberry Pi 5 — OctoPrint plugin, local TFLite
0 Cloud services needed — frames never leave your network
480 ms Per frame on a Raspberry Pi Zero 2 W — MobileNetV2, single thread
In action

Watch a failure get caught

A webcam pointed at the bed is all it needs. Every frame gets a failure score.

Try the live demo →
OctoPrint logo OctoPrint plugin ✓ Free

Sits in the panel you already use

Status and probability show up next to the webcam feed. Alerts only fire after several failed frames in a row, so a nozzle crossing the shot will not page you.

Push alerts go out through ntfy, so you hear about a failed print wherever you are — with the offending frame attached.

Plugin setup →
OctoPrint panel showing status FAILED at 88.5 percent
✗ Failed — 88.5%
OctoPrint panel showing status OK at 25.5 percent
✓ OK — 25.5%
Attention

See why it decided

A heatmap shows which pixels drove the score — handy for checking a false alarm. The model should light up the print, not the wall behind it.

Attention gallery →
Original webcam frame of a 3D printer
Original frame
Heatmap highlighting the failed region of the print
Attention map
Why PrintSheriff

What sets it apart

Most hosted print-monitoring services stream your webcam frames to their servers and meter how many hours they watch. PrintSheriff is built the other way round.

Runs on the printer host

Inference is local TFLite on your Raspberry Pi. Frames never leave your network, detection keeps working when your internet is down, and there is no per-hour quota.

Small enough for a Pi Zero

A MobileNet backbone scores a frame in ~40 ms on a Pi 5 and ~480 ms on a Pi Zero 2 W — no GPU, no separate box, no noticeable load during a print.

Trained on messy real data

Tens of thousands of crowdsourced frames across many printers, camera angles, filament colours and lighting conditions — not one tidy rig in one room.

Free and inspectable

The plugin is open source with no account or subscription, and every prediction can return a heatmap so you can check what the model actually looked at.

Need it without a Pi? The same model is available as a hosted HTTP endpoint — see the API page. Full pipeline and ROC numbers are on the technical details page.

Give every 3D printer a pair of eyes.

Run it on OctoPrint, or just call the API.