Fixed-Mount OCR V2: Read Characters and Grade Barcode Quality on the Line

11 mins.12k

A fixed-mount reader has seen more than its share of barcodes pretending to be fine.

A skewed, faded or smudged code scans today and fails tomorrow — and by the time it fails, the line has stopped, the customer has returned the batch, and the compliance paperwork has already been filed. And the characters on the part — the laser-etched serial, the printed lot number, the moulded text — are not a barcode at all, so the reader has nothing to say about them either.

Fixed-Mount OCR V2 combines two capabilities into one line-side solution:

  • Fixed-mount OCR — the reader reads characters, not just symbols.
  • Barcode grading — every scan also scores the code’s quality.

One scan produces both content and quality. Quality decline is caught while the code still scans.

Once the code is easy to read, the reader tells you what the part is; grading tells you how long the code will keep reading. That combination is what a real line-side gate looks like.

TIP

New global site. The product interface is currently in Chinese while we finish the English build — it ships in October 2026. In the meantime, tell us what you need and we’ll set up a fast, tailored version for you: sales@happylab.me.

The two problems on the line

Characters the reader can’t read. A fixed-mount reader decodes barcodes quickly and reliably — but much of the information on the line is not in a barcode at all: laser-etched serials on metal, lot numbers and dates on labels, moulded or stamped text on plastic. These have no symbology to decode. The usual answers are either a heavier vision system (frozen at manufacture) or a large model (too heavy to run on site).

Quality the eye can’t see. A successful scan is not a healthy code. Ribbon ageing, printhead wear, moisture and handling all erode quality gradually:

  • An A-grade code today can be a barely-readable C next week.
  • By the time scans start failing intermittently, the line’s takt time is already affected.
  • In medical UDI and automotive IATF environments, a sub-standard code is a compliance problem, not an inconvenience.

A line doesn’t need a device that merely reads. It needs a station that reads it, understands it and holds the line on quality.

Solution overview

This is not “install some software on a PC”. It is an integrated solution built around a Brady IPS fixed-mount reader: the device handles high-speed capture, and the software releases its full potential.

Fixed-mount OCR V2 combined with barcode grading

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Photoelectric sensor ──IO trigger──▶ Brady IPS fixed-mount reader (HF700/HF71X/HF81X)


┌────────────────────────────────────┐
│ HappyLab vision-server │
│ bounded queue (burst absorb) │
│ ├─▶ ① OCR channel ── content │
│ │ template ROI + regex │
│ └─▶ ② Grading channel ── A~F │
│ ISO 15416 / 15415 / 29158 │
└──────────────┬──────────────────────┘

Records: barcode + text + grade + image

Line display / focus entry / traceability export

Why “releasing the reader’s potential” matters: a fixed-mount reader’s strength is speed — IO-triggered, stable cadence, multiple images per second. Traditionally its scope ends at “reads barcodes”. This software gives that speed a brain that keeps up:

  • Throughput matches the device — FTP capture → in-memory queue → parallel processing; a single frame completes in roughly 90–300 ms, so the software stays ahead of the device cadence. The throughput ceiling is the reader’s, the software is never the bottleneck.
  • No wasted capture path — images go straight from the device to a memory queue; nothing hits disk, nothing waits.
  • The barcode comes for free — the filename carries it ({barcode}-{timestamp}-OK/NG), so the decoded value becomes a record field with no extra work.
  • Capability extends upward — the reader reads the code, OCR reads the characters, grading verifies quality: one fixed-mount device doing the work of three stations.

OCR: reading the characters

Fixed-mount OCR result

A line-grade capture path. Unlike a handheld, a fixed-mount station is fully automatic: a photoelectric sensor triggers the IO, the reader captures, and the image is pushed over FTP — no operator involved. A bounded queue absorbs irregular feed, dropping the oldest frame rather than blocking the device, and 0/90/180/270° rotation is compensated in software so the mounting angle is unconstrained.

Two-channel recognition engine:

Engine Measured speed Best for
CPU v6 tiny (in-house: onnxruntime + JS post-processing) ~60 ms/frame Headless industrial PCs, production mode
CPU v6 small ~165 ms Higher accuracy, no GPU
WebGPU v6 tiny ~100 ms Large-screen demo / WebOCR
WebGPU v6 small ~400 ms High-accuracy demo

Template ROI — the software finds the region itself. Box the target on a sample image (serial, date, prize — as many regions as you need), learn the ORB features and save it as a template. Each run locates the ROI automatically and recognises only what’s inside it: fast and clean. A tilted part is recovered by ORB + homography to within 2–9 px, and a three-level fallback (template → feature → whole-image) keeps the line running when the target moves.

Regex rules — extract only what you want: any field, priority ordering, JSON import/export. Changing a scenario is a configuration step, not a development project.

Barcode grading: telling good from bad

The same scan that reads content also feeds the grading channel — content and quality from one trigger.

Standard Applies to Method
ISO/IEC 15416 1D codes (Code 128 / 39, EAN/UPC…) 10 scan lines, 9 parameters
ISO/IEC 15415 2D codes (QR / DataMatrix / Aztec…) Module-grid rebuild, 7 parameters
ISO/IEC 29158 2D DPM marks (laser / dot-peen) Multi-angle lighting, same 7 parameters

Scores run 0–4.0 and map to A–F, where the overall grade is the worst parameter (the weakest-link rule):

Score Grade Meaning
3.5 – 4.0 A Excellent
2.5 – 3.5 B Good
1.5 – 2.5 C Pass
0.5 – 1.5 D Poor
0 – 0.5 F Fail

The in-house engine grades a frame in under 100 ms, keeping pace with the line. Dual decoders (zxing with a zbar fallback, auto-upscaled) raise the read rate, and the 2D parameters — FPD, GNU, ANU, UEC — are implemented in-house, which is rare in open source. Reports are visual: location box, scan lines and module-grid overlay make the problem obvious at a glance.

Deeply integrated, not a side tool: the grade lands in the same record as the barcode, the OCR text and the original image. A line display shows a breathing status light — green for OK, red for a poor code — visible from five metres. Print-parameter drift shows up as a trend, so you fix the printer before the customer notices.

A code that grades C, D or F still scans — but it is already a warning: the printhead needs attention, the ribbon needs adjusting. Trend monitoring is what stops a quality incident before it happens.

Background mode: results straight into ERP or Excel

After recognition and grading, the result is typed into whatever system you already use — Excel, ERP, an in-house app — via focus injection (keyboard simulation with CJK support, Tab navigation, auto-Enter and optional prefix/suffix). Records are logged automatically and export to Excel; the line display and the background entry mode run side by side without interfering.

1
2
Sensor trigger → reader scans → OCR + grading → data lands in the sheet
↑ seamless end to end, as fast as a barcode scan

Application scenarios

Scenario Pain point How it helps
🏭 Photovoltaic / battery / electronics Traceability code + characters + quality One scan delivers all three
🏷️ Label printing, pre-shipment Ribbon ageing is invisible Sampled grading + trend alerts; problems don’t ship
📦 Incoming inspection Supplier labels vary Photograph and check; one standard, archived
🏥 Medical UDI / automotive IATF Formal verification is slow and costly Self-check first, then certify

Technical specifications (measured)

Metric Value
OCR (CPU v6 tiny) ~60 ms
Background-mode single frame ~90–300 ms (template + ROI + OCR + record)
Barcode grading (C++) < 100 ms
Serial-number accuracy (v6 tiny) 99.8%
Throughput Multiple frames per second — ceiling set by the reader’s trigger rate; the software is not the bottleneck
Offline ✅ Fully local; data never leaves the plant
Platform Windows / Linux industrial PC — no GPU required

Supported devices

Fixed-Mount OCR V2 currently supports Brady IPS fixed-mount readers: HF700 · HF711 · HF810 · HF811.

Using another fixed-mount reader? We support additional models through custom development — contact us with the model.

Pricing

🔧 Fixed-mount system 🛠️ Custom options
Price $680 base system from $300
Runs on Windows / Linux industrial PC
Works offline
Free trial 30 days

Custom options

Option Price Notes
Custom data output from $300 Match your ERP / WMS / MES data structure
Android console version $400 Run the console on an Android tablet/PDA
Multi-lane recognition $800 Up to 6 lanes in parallel — needs 32 GB RAM and an NVIDIA GPU with at least 8 GB VRAM
Barcode quality grading +$199 Optional add-on (see the compliance note below)
Additional language version $100 Each additional UI language beyond Chinese / English

All licences are one-time — no subscriptions, nothing to renew. Because multi-lane and Android-console builds depend on your hardware and layout, they start with a conversation: tell us about your line and we’ll come back with a plan and a price. Full details on the Fixed-Mount OCR pricing page.

Free 30-day trial

Try the solution with your own reader and your own parts for 30 days, free. Trials are arranged by contacting us today; an online order system for trials and licences is coming soon.

Barcode quality grading (optional add-on) — please read

Compliance note

The barcode grading module is a reference-grade aid, not a certified verifier. It does not claim ISO certification and must not be used as a formal compliance audit report. ISO/IEC 15416 / 15415 grading requires standardised hardware — a controlled light source, a standard aperture and a calibrated reflectance target. Use this module for line-side screening, trend monitoring and diagnosis; leave certification to dedicated equipment.

That said, “reference-grade” is far from “useless”:

  • Line-side screening — filter out obviously poor codes before they reach a professional verifier, cutting verification volume dramatically.
  • Trend monitoring — daily sampling surfaces decline early, so ribbon changes and parameter tweaks happen before a customer finds the problem.
  • Diagnosis — the report says which parameter failed (contrast, quiet zone, smudge), pointing straight at the cause.

Requirements and limits

  • Reader: a supported Brady IPS fixed-mount reader (HF700 / HF711 / HF810 / HF811) with photoelectric IO triggering.
  • Host: a Windows or Linux industrial PC. No GPU required for the standard build; multi-lane needs 32 GB RAM and an NVIDIA GPU with ≥ 8 GB VRAM.
  • Interface language: Chinese today; the English build arrives in October 2026.
  • Grading is reference-grade — not a compliance certification (see above).
  • Fully offline: no backend, no cloud, nothing leaving the plant.

💬 Questions or a custom requirement?

This global site is brand new, and our online tools are currently in Chinese. Tell us what you need and we’ll set up a fast, tailored solution for you — an English version is coming in the next few weeks.

📧 sales@happylab.me · 🌐 global.happylab.me


HappyLab builds practical AI and browser-based tools for industrial device workflows.

Previous

  • Android

      Android-OCR: On-Device OCR for Android PDAs

      A barcode scanner beeps all day — and reads nothing but barcodes. Ask it for the...

    • Next

    • Tools

        Barcode Quality Grading: ISO 15416 / 15415 in Software

        A barcode that scans is not a barcode that passes. Skewed, faded or smudged code...

      • avatar

        HappyLab

        HAPPY LAB · Tools · Solutions · Lookup

        • 22

          Articles

        • 7

          Categories

        • 114

          Tags

        • Home
        • Tools
        • Resources
        • Pricing
        • Order
        • About
        • Contact
        • 官方(中文)