An Arduino UNO Q prototype now reads a 0–60 PSI analog gauge from USB-camera images without touching the instrument. The creator’s specialized MobileNetV3-Small model runs locally through ONNX Runtime at about two predictions per second, but its documented accuracy falls off near both ends of the dial.
Featured image: Arduino.
Arduino published the project on September 18. Michael Ross built the demonstrator around an Arduino UNO Q, a Logitech C920e USB webcam and a physical pressure gauge. The camera observes the existing dial; the system returns a pressure estimate without replacing the gauge or opening the process connection.
A fixed image path turns the dial into one regression value
The creator documentation specifies the runtime path. It continuously captures 1920×1080 frames, takes a fixed 700×700 crop around the gauge, resizes that crop to 224×224, applies the same ImageNet normalization used in training and passes it to a MobileNetV3-Small regression model. The normalized output is converted back to PSI.
Keeping the camera and model loaded avoids rebuilding the inference session for each sample. Ross reports approximately two readings per second. That cadence is sufficient for slowly changing equipment indicators, but the project does not establish response time for fast pressure transients.

The middle of the dial performed better than the endpoints
Training used real camera images gathered while the demonstrator leaked pressure down across its range. A larger vision model supplied initial labels; the compact network then learned one continuous pressure output. On a held-out capture run, Ross reports mean absolute error below 1 PSI in the 10–25 PSI bands. Error increased substantially near the low and high extremes.
That uneven result is more important than the headline frame rate. A monitoring node can produce a plausible number on every frame while remaining poorly characterized where the process alarm actually sits. Camera position, glare, pointer shape, lighting and training coverage all become part of the measurement chain. Independent gauge-reading research likewise treats viewpoint and unstructured scene conditions as core system problems rather than cosmetic details.
Local inference reduces traffic, not validation work
ONNX Runtime provides the deployment layer for the exported model. The normal loop does not send gauge images to a cloud vision service; it can log the small PSI result locally or forward readings to another system. That reduces image traffic and removes cloud inference from the live path.
It does not turn the prototype into a calibrated replacement for the gauge. The project documents one camera, one dial geometry and one training distribution. A deployment would need acceptance limits for camera movement, obscured glass, lighting change and readings outside validated bands before its output could drive an alarm or control action.

The result is a credible non-contact retrofit pattern: a fixed optical setup, a narrow model and local inference can convert a legacy indicator into loggable data. Its current evidence supports observation of this demonstrator, not an assumption that the same error holds for another gauge or installation.

