BENCHMARK published 22 September 2026 · test run 16 September 2026

Can software find the valuable chips on a scrap board? We tested it on 12.

The short version: yes, well enough for a machine with a person checking it, not well enough for a machine on its own. The best method found 61 of the 65 chips worth money. But one in three of its "cut here" boxes was wrong, one in six valuable chips was hidden under a heatsink or shield where no camera can see, and reading the part number off a chip worked less than a quarter of the time. Every board, every miss and every false alarm is below, with the method and the data.

WHO Unmake Robotics, Plano, TX WHAT 12 scrap boards · 90 chips · 4 detectors · 1 OCR engine DATA all 12 boards, CSV LICENSE CC BY 4.0, cite the page

01THE RESULT

Four numbers, and what each one means for a recycler.

61/65high-value chips found94% · best method · 11 boards with a visible PCB
1 in 3"cut here" boxes wrong68% precision · 35 false alarms on 76 detections
1 in 6valuable chips hidden under a cover16 heatsinks, shields, stickers on 7 of 11 boards
23%part numbers read by OCR21 of 90 · a person zooming in could fully read only 26%

WHAT THIS SUPPORTS

A machine that finds the chips worth pulling and shows an operator ~10 boxes per board to accept or reject before it cuts. At 94% found and 68% precision, that operator step is a minute per board and fixes both the misses that matter and the wasted cuts. That is the machine Unmake is building.

WHAT THIS DOES NOT SUPPORT

A machine that reads part numbers and prices chips on its own. Not yet. OCR read 23%, and the cause is mostly imaging (resolution and flat light), not software, so the fix is a second, closer camera, which is designed but not built. Until then a person confirms every read. It also does not say anything about laptop or phone boards, which were not tested.

02EVERY BOARD

All twelve, including the ones with nothing on them.

Green box: a chip the detector found. Magenta: a chip it missed. Red: a false alarm, something it boxed that is not worth cutting. Grey: a cover or an empty site. "Chips worth $" is the count of packages 7 mm or larger that we tagged high-value: processors, FPGAs, ASICs, framers, memory. The best method (row "ensemble" in section 03) is what is scored here.

12 boards · ensemble methodscale in px/mm from a known part in each photo
#BOARDPX/MMBIG CHIPSWORTH $FOUNDFALSE +COVERS
01Alcatel-Lucent line card (4× SFP, T1/E1)8.97191319202
02Controller button / D-pad sub-board00000
03Sony PS5 motherboard EDM-0337.7886502
04Microsoft Xbox One motherboard8.6519191810
05Telecom line card, main processor under heatsink8.7741021
06Burglar / fire alarm control panel7.28102613
07DS-8227 video / DVR processing board9.8598906
08Alcatel-Lucent line card, PMC COMET T1/E1 framers9.30191417101
09Xbox Wireless Controller main board15.5500000
10Xbox controller board, back side19.3011100
11Sony DualSense controller board15.4411101
12Zebra TC52 handheld, back (closed, no PCB visible)12.1900010
all boards906576 · 61 of the 653516

> "Found" counts every large chip the method boxed correctly (76 of 90). Of the 65 we tagged high-value, it found 61. The consoles and controllers (02, 09, 10, 11, 12) carried almost nothing worth pulling; the two chips they did carry were both found. Three telecom cards (01, 05, 08) carried 28 of the 65 high-value chips. That is the whole business in one row: the board mix decides everything.

Board 01, Alcatel-Lucent line card: 19 of 19 large chips found, 20 false alarms.
01 line card · 19/19 · 20 false alarms
Board 02, controller sub-board: nothing worth pulling.
02 controller sub-board · nothing to find
Board 03, PS5 motherboard: 5 of 8 found, SSD controller missed.
03 PS5 · 5/8 · SSD controller missed
Board 04, Xbox One motherboard: 18 of 19 found, the APU missed.
04 Xbox One · 18/19 · APU missed
Board 05, telecom card with processor under heatsink: 0 of 4 found.
05 telecom card · 0/4 · processor under heatsink
Board 06, alarm panel: 6 of 10 found.
06 alarm panel · 6/10 · glare on the MCU
Board 07, DVR board: 9 of 9 found, 6 covers.
07 DVR board · 9/9 · 6 heatsinks flagged
Board 08, Alcatel-Lucent PMC framer card: 17 of 19 found, 10 false alarms.
08 PMC framer card · 17/19 · 10 false alarms
Board 09, Xbox controller main board: nothing worth pulling.
09 Xbox controller · nothing to find
Board 10, Xbox controller back: 1 of 1 found.
10 controller, back · 1/1
Board 11, DualSense controller: 1 of 1 found.
11 DualSense · 1/1 · one shield
Board 12, Zebra TC52 handheld, closed: no PCB visible, one false alarm.
12 Zebra TC52, closed · no PCB visible

Click any board for the full-size overlay. Boxes are on the package body, not the leads. Photos were taken with a phone in room light and downscaled on upload; see limits.

03FOUR METHODS

The cheap method finds fewer chips but lies less. The clever one finds everything and trusts everything.

We ran four detectors over the same photos. Two are "open-vocabulary" AI models from Hugging Face with no circuit-board training at all; one is old-fashioned computer vision; the fourth is the two of them cross-checking each other.

summary over 90 labeled large chipsa detection counts if it overlaps a labeled chip at IoU ≥ 0.5 and the detector itself sized it ≥ 7 mm
METHODLARGE CHIPS FOUNDHIGH-VALUE FOUNDFALSE +PRECISIONF1TIME / BOARD
Classical CV: dark, colour-neutral rectangles 2.8–60 mm79/90 88%61/65 94%9146%0.610.1 s
Grounding DINO tiny, threshold 0.3020/90 22%18/65 28%16611%0.14~20 s
OWLv2 base, threshold 0.1588/90 98%65/65 100%31522%0.36~16 s
Ensemble: keep a classical box only if OWLv2 (≥ 0.20) agrees76/90 84%61/65 94%3568%0.76~16 s

> Classical looks for dark, colour-neutral rectangles: chip bodies are black epoxy, solder mask is saturated green or blue. It is fast and rarely boxes junk, but it is blind to any chip that is not a dark rectangle. OWLv2 found every single high-value chip, and also boxed USB shells, white connectors, pin arrays, pad fields and the same chip twice: 315 false alarms is an operator babysitting a machine. The ensemble keeps a classical box only when OWLv2 also sees a chip there. That drops false alarms 62% and costs four high-value chips, the four in the next section. Grounding DINO never reached 50% recall at any threshold and is not usable for this.

> Caveat on the numbers: the classical thresholds were tuned on boards 04 and 07 only, and the ensemble rule was chosen after seeing these results. Both make the ensemble's numbers optimistic until they are re-run on boards it has never seen. That re-run is the next test.

04THE MISSES

The four it missed are the four that are not dark rectangles.

Two of them are the most valuable part on their board. This is the case for keeping a person in the loop, stated as plainly as we can.

MISSEDBOARD 04

Xbox One APU

The main processor. A bright steel stiffener ring around the die makes it the opposite of a dark rectangle. Classical never saw it; OWLv2 did.

MISSEDBOARD 03

PS5 SSD controller

Exposed teal substrate with a white residue blob on top. Neither dark nor uniform. OWLv2 found it.

MISSEDBOARD 05

Xilinx FPGA

Two-thirds under a heatsink; the visible strip merged into the heatsink blob. A camera cannot fix this one; lifting the heatsink can.

MISSEDBOARD 06

Alarm panel QFP-80 MCU

A glare band from the room light lifted its grey body above the darkness threshold. A ring light and polarizer, which the bench rig now has, remove this.

OWLv2 found all four. The ensemble lost them because it requires classical to agree. The obvious fix, "trust OWLv2 more," costs 280 extra false alarms. The better fix is a person: show the OWLv2-only boxes as "maybe" and let the operator decide in a few seconds per board.

05COVERS

A camera cannot see through metal. One valuable chip in six was under some.

Sixteen covers on seven of the eleven boards with a visible PCB. Software can flag a cover easily (classical found 9 of them as large dark blobs). It cannot tell what is underneath.

COVER TYPECOUNTBOARDSWHAT WAS UNDER IT
Heatsink805, 06, 07 (×5), 08the main processor or ASIC on 05 and 08; five video/DSP chips on 07; a regulator on 06
Paper label / sticker401, 06 (×2), 07programmed EPROMs on 06; a QFP on 07; a small leaded part on 01
Metal shield can / fence203, 11the PS5 wireless module; the DualSense shield fence
Thermal foil / pad201, 03probably a BGA on 01; a package on 03

> Roughly 10 to 14 probably-valuable chips were hidden against 65 visible, about one in six in this set. Heatsinks dominate because half the boards are telecom and video. No phone board was tested (the Zebra handheld was photographed closed). Phone boards put the processor, memory and radio under soldered cans; expect the hidden fraction to be much worse there until it is measured. The practical consequence for the machine: covers come off before imaging, or the machine treats "this heatsink region" as its own target and cuts around it.

06PART NUMBERS

Reading the marking on the chip: 23%, and it is the camera's fault, not the software's.

The whole per-chip price story depends on knowing which chip is which. So we ran OCR on every labeled chip crop and scored it against a transcription. It read 21 of 90. That number is on the home page too, because a buyer will test it on day one.

WHAT READ

21 of 90 chips (23%), or 18 of 65 high-value ones (28%). End to end, from photo to detection to a readable part number: 15 of 76 (20%). Reads included X861949-005, KLM8G1GEME, H5TQ4G63CFR, PM4358-NI, TLK2201BI, GTL1655DGG, the Micron FBGA codes and LM380N. "Read" means ≥ 85% match with O/0, I/1, B/8, S/5, G/6 swaps forgiven, because a parts-database lookup absorbs those.

WHY 69 DID NOT

Low contrast (22): faint laser marks under flat room light. Text too small (22): lines under ~12 px tall at this resolution. Human-legible but misread (12): rotated text, lead rows read as "mmmm", TPS54680 read as PS5468. Residue and scratches (6). Blur at the photo edges (5). Covered or unmarked (2). A person zooming into the same photos could fully read only 26% and nothing at all on 41%, so this is an imaging limit: the photos sit right at the edge where OCR stops working. Eight of the 22 that read stopped reading after a 15% resolution cut.

MEASUREDTO FIND CHIPS AND PLAN THE CUT

≥ 10 px/mm

Both working detectors managed it at 7.3–9.9 px/mm. Ten to fifteen adds margin for borderline 7 mm packages and keeps cut-path error under 0.3 mm. One overhead camera does this.

MEASURED · NOT YET BUILTTO READ PART NUMBERS

≥ 30 px/mm

OCR fell off below ~12 px text-line height; target twice that on lines as small as 0.8 mm. One camera doing 30 px/mm over a full board would be ~95 megapixels, so the design is a second, close-up camera on the gantry. Until it exists, a person confirms every read.

07LIMITS

What this test cannot tell you.

SMALL, SKEWED SAMPLE

Eleven boards with a visible PCB, 90 target chips. Half are telecom and embedded boards. No laptop board and no opened phone board, which are two of the four categories a general recycler runs. The numbers here are not a claim about those.

PHOTOS, NOT THE MACHINE'S CAMERA

Handheld phone photos in ambient room light, downscaled on upload. The bench rig now has a fixed 4K camera with cross-polarized lighting; re-running on those images is the next cheap check and should improve OCR and the one glare miss.

OPTIMISTIC TUNING

Classical thresholds were set by looking at boards 04 and 07. The ensemble rule was picked after seeing the results. The ensemble row is therefore a best case until it is scored on boards it has never seen.

ONE ANNOTATOR, ONE PASS

The ground-truth labels, the high/low value tags and the "legible to a human" judgments were drawn by an AI assistant from zoomed tiles and spot-checked by a person against overlays. There was no independent second labeler. The 7 mm cutoff and the value tiers are proxies; the real buyer's list was not available.

SCALE

Pixels-per-millimetre came from a known part in each photo (an SFP cage, a DIMM), not a ruler. Estimated ±4–15%. Board 02 had no reference part, so it has no scale.

SPEED

Everything ran on a laptop CPU: classical 0.1 s per board, OWLv2 ~16 s, OCR ~1.5 s per chip. That is fine for a machine that spends minutes cutting; it is not a claim about throughput.

Detectors: classical CV in OpenCV; Grounding DINO tiny and OWLv2 base from Hugging Face, no fine-tuning, run on overlapping 960 px tiles. OCR: RapidOCR (PP-OCR ONNX), 4 rotations × colour/CLAHE at 2× upscale, best variant kept. Labels are in YOLO format. If you want the label files, the crops, or to re-run this on your own boards, write to us.

NEXT your boards, not ours

Want these numbers on your own pile?

Send us a box of ten to twenty boards. We run the same pipeline, a person checks every result, and you get back the same table for your material. Free, and "nothing here worth pulling" is a real answer.