Loading the saved capture setting.
Live preview
The iPad shows the same scene at . Same scene, same ground truth.
Activity
No activity yet.
Latest capture
No capture yet. Use a capture button when the scene is ready.
Photo only is quick, for aiming the camera. Capture + read runs the detector, the refiner and the reader on the board, which takes about a minute.
Live on-device accuracy
mean read time --
Ground truth
amber means the drum is mid-roll, so a read one unit higher is also defensible. Truth is always the lower digit.
Meter design
Meter references and image creditsPresets
Reading
Layouts show whole-number + decimal drums. Custom layouts resize the register within the same viewing window.
Force drum roll
Drag a drum to pin it part way between digits. Rightmost drum is on the right. Clear returns drums to what the reading dictates.
Glare
Position and size are relative to the meter glass, excluding the lid and housing.
Window smudge
A greasy fingerprint softens the digits beneath it. Position is relative to the viewing window; intensity 0 clears it.
Shadow
Lighting
Glass and sensor
View
Camera node
Applied by the ESP32 on its next capture. Turn auto exposure or auto gain off to use the manual values.
Meter face
Scripting
Everything here is a JSON patch. From a script: POST /api/state?wait=1 with the patch, read truth.text from the reply once the iPad has painted. GET /api/state shows the full scene.