Software — aoi

AOI Inspector

Optical inspection that behaves like a bench instrument.

Available 1.2.1 aoi — command line and desktop app

What it does

Automated optical inspection for assembled boards, driven over SCPI on port 5025. Anything that already speaks VISA — LabVIEW, TestStand, pyvisa — can drive it with no new drivers and no integration work.

  • Region-of-interest inspection against a reference board
  • Presence, orientation and polarity checks on placed parts
  • One SCPI grammar over three transports - TCP on 5025 the way pyvisa expects it, a serial port at 115200 8N1, and HTTP on 5026 so VBA can drive it with nothing installed
  • Separates ERROR from FAIL: a board that could not be inspected is not a board that failed, so a sequencer retries or raises a fault instead of scrapping a good unit
  • Sends SCPI outwards as well as answering it - a verdict goes downstream to an Arduino, a PLC or an instrument over serial or a socket, as a templated PASS, FAIL or ERROR message
  • Takes a hardware barcode scanner over USB CDC, Bluetooth SPP, TCP or a keyboard wedge - kept separate from the SCPI serial listener, so one station can run a PLC on one port and a scanner on another
  • Reads the code off the board with the inspection camera as well, which is the stronger option for traceability: a handheld can be pointed at the previous board, the camera cannot
  • Results as CSV and JSON for the sequencer to consume
  • Runs headless on a production PC, or with the GUI for setup
An Arduino Mega inspected against its golden image. Seven regions of interest, seven failures, aligned on 665 ORB feature matches. Every row gives its own reason — R2 fell to 0.32 correlation against a 0.55 threshold, R3 lost edges, the rest changed by area.
An Arduino Mega inspected against its golden image. Seven regions of interest, seven failures, aligned on 665 ORB feature matches. Every row gives its own reason — R2 fell to 0.32 correlation against a 0.55 threshold, R3 lost edges, the rest changed by area.
The same results arriving in Excel over SCPI, one row per region with correlation, edge ratio and percentage changed. The connection dialog reports the recipe, the region count and that the golden image is loaded — Excel is just another VISA client.
The same results arriving in Excel over SCPI, one row per region with correlation, edge ratio and percentage changed. The connection dialog reports the recipe, the region count and that the golden image is loaded — Excel is just another VISA client.
Two hundred inspections of one region, analysed for capability. Top: the correlation distribution with its normal fit against the 0.55 specification limit. Bottom: the same run in time order with sigma limits. Cp 3.71, Cpk 1.14, predicted yield 99.97 % — the spread is fine, the process is off-centre, and that is the difference Cpk catches.
Two hundred inspections of one region, analysed for capability. Top: the correlation distribution with its normal fit against the 0.55 specification limit. Bottom: the same run in time order with sigma limits. Cp 3.71, Cpk 1.14, predicted yield 99.97 % — the spread is fine, the process is off-centre, and that is the difference Cpk catches.
The golden board - an Arduino Mega on the inspection stage, the reference a recipe is taught on.
The golden board - an Arduino Mega on the inspection stage, the reference a recipe is taught on.
The same board with four parts lifted by hand: the 16 MHz crystal at centre left, the TX and ON indicator LEDs, and one more part below them. The defects the inspector is asked to find are physical, not simulated.
The same board with four parts lifted by hand: the 16 MHz crystal at centre left, the TX and ON indicator LEDs, and one more part below them. The defects the inspector is asked to find are physical, not simulated.

On video

One recording of it actually running.

A screenshot of a program that moves is only half of it, so here it is moving. Recorded off the screen while it ran on this bench - its own window, its own example project, nothing staged. The file dialog's folder list and path, which belong to this machine, are blurred; nothing else is altered. Nothing plays until you press it.

24 s A recipe of twenty regions and its golden image, then two boards inspected from file. The first passes: every region boxed green with its correlation score, twenty of twenty OK, aligned on 1198 matches. The second is the same board with two capacitors missing - C3 and C13 come back red, the verdict turns to FAIL, and the table says which measurement failed and by how much.

Get in touch

AOI Inspector is not a download. It is one of the tools the work is done with, installed and licensed when an engagement starts. Tell me what you are working on and I will tell you what it would do for it.

Or email mblab.technology@gmail.com. Your details are used to answer you and to follow up — nothing else.

Requirements

  • Windows 10 or 11, 64-bit
  • About 200 MB of disk
  • No .NET install needed — the runtime is bundled
  • No Excel needed — workbooks are written directly

Also in the set