BENCHMARK published 22 September 2026 · test run 16 September 2026
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.
01THE RESULT
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
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.
| # | BOARD | PX/MM | BIG CHIPS | WORTH $ | FOUND | FALSE + | COVERS |
|---|---|---|---|---|---|---|---|
| 01 | Alcatel-Lucent line card (4× SFP, T1/E1) | 8.97 | 19 | 13 | 19 | 20 | 2 |
| 02 | Controller button / D-pad sub-board | — | 0 | 0 | 0 | 0 | 0 |
| 03 | Sony PS5 motherboard EDM-033 | 7.78 | 8 | 6 | 5 | 0 | 2 |
| 04 | Microsoft Xbox One motherboard | 8.65 | 19 | 19 | 18 | 1 | 0 |
| 05 | Telecom line card, main processor under heatsink | 8.77 | 4 | 1 | 0 | 2 | 1 |
| 06 | Burglar / fire alarm control panel | 7.28 | 10 | 2 | 6 | 1 | 3 |
| 07 | DS-8227 video / DVR processing board | 9.85 | 9 | 8 | 9 | 0 | 6 |
| 08 | Alcatel-Lucent line card, PMC COMET T1/E1 framers | 9.30 | 19 | 14 | 17 | 10 | 1 |
| 09 | Xbox Wireless Controller main board | 15.55 | 0 | 0 | 0 | 0 | 0 |
| 10 | Xbox controller board, back side | 19.30 | 1 | 1 | 1 | 0 | 0 |
| 11 | Sony DualSense controller board | 15.44 | 1 | 1 | 1 | 0 | 1 |
| 12 | Zebra TC52 handheld, back (closed, no PCB visible) | 12.19 | 0 | 0 | 0 | 1 | 0 |
| all boards | 90 | 65 | 76 · 61 of the 65 | 35 | 16 |
> "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.












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
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.
| METHOD | LARGE CHIPS FOUND | HIGH-VALUE FOUND | FALSE + | PRECISION | F1 | TIME / BOARD |
|---|---|---|---|---|---|---|
| Classical CV: dark, colour-neutral rectangles 2.8–60 mm | 79/90 88% | 61/65 94% | 91 | 46% | 0.61 | 0.1 s |
| Grounding DINO tiny, threshold 0.30 | 20/90 22% | 18/65 28% | 166 | 11% | 0.14 | ~20 s |
| OWLv2 base, threshold 0.15 | 88/90 98% | 65/65 100% | 315 | 22% | 0.36 | ~16 s |
| Ensemble: keep a classical box only if OWLv2 (≥ 0.20) agrees | 76/90 84% | 61/65 94% | 35 | 68% | 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
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
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 TYPE | COUNT | BOARDS | WHAT WAS UNDER IT |
|---|---|---|---|
| Heatsink | 8 | 05, 06, 07 (×5), 08 | the main processor or ASIC on 05 and 08; five video/DSP chips on 07; a regulator on 06 |
| Paper label / sticker | 4 | 01, 06 (×2), 07 | programmed EPROMs on 06; a QFP on 07; a small leaded part on 01 |
| Metal shield can / fence | 2 | 03, 11 | the PS5 wireless module; the DualSense shield fence |
| Thermal foil / pad | 2 | 01, 03 | probably 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
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
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
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.