A UK SOFT FRUIT PACKER
Every punnet graded, weighed, checked and named — and retrievable again from the pallet down
A berry line already had good machines on it: a metal detector, a checkweigher, a coder. What it didn’t have was a single record tying them together. We added AI grading, read the machines that were already there over OPC UA, and gave every punnet, case and pallet a GS1 identity — so a query that used to mean a day with a spreadsheet now resolves in seconds.
WHAT MADE THIS HARD
Nothing on this line was broken. The metal detector worked, the checkweigher worked, the grader was a person. The problem was that each machine knew its own answer and told nobody — so quality data died in a PLC, and traceability stopped at a batch code and a despatch note. When a retailer asked which pallets held fruit from a given picking window, the honest answer took a day.
CONSTRAINTS WE HAD TO DESIGN AROUND
- Grading was manual and drifting: the standard at 6am and the standard at 2pm were different standards.
- Metal detector and checkweigher each held their own verdict in their own PLC — no shared record, no shared timestamp.
- Traceability resolved to a batch code, not a punnet. A recall meant withdrawing far more than was actually affected.
- Cold chain after despatch was a paper exercise: a probe reading at load-out, then nothing until the DC.
- Berries are soft, wet, and shaded by their own punnet — and they bruise, so a grader that touches them isn’t an option.
- The retailer’s GS1 2D barcode deadline made the label change compulsory anyway. If it was happening, it was worth doing properly.
HOW WE BUILT IT
We didn’t replace anyone’s equipment. The metal detector and checkweigher already published everything we needed — they just had nowhere to publish it to. So we added the grading nobody had, read the two machines that were already there, and made the label carry an identity rather than a date.
- AI vision grades each punnet on fill, colour, mould and damage — non-contact, at line rate, with the same standard at 2pm as at 6am.
- Metal detector and checkweigher read over OPC UA — their verdicts, their timestamps, no new sensors and no rip-out.
- One GS1 Digital Link QR per punnet, printed on film: GTIN, batch and best-before in a code a shopper’s phone can also read.
- Cases carry a GS1 QR plus a battery-free tag that logs temperature through the fibreboard — no probe to place, no probe to lose.
- Aggregation is captured as it happens: punnet→case at the packer, case→pallet at the palletiser. Nobody reconciles it later.
- The traceability platform holds the record and publishes to IBM Food Trust for retail partners that want it — optional, not load-bearing.
- What we got wrong first: we tried to grade through the punnet film. Glare and condensation made it a coin toss until we moved the camera upstream of filling.
MEASURED ON THE LINE
| MEASURE | BEFORE | AFTER | CHANGE |
|---|---|---|---|
| Grade consistency | 71% | 97.5% | +37% |
| Recall trace time | 420 min | 8 min | -98% |
| Product withdrawn per event | 40 | 3 | -92% |
Change is relative to the baseline before the system went in.
The line runs the same speed with a record behind every punnet. A retailer query that meant a day of cross-referencing now resolves before the call ends, and a withdrawal takes the pallets that are actually affected instead of everything that might be.
The cold chain stopped being a paper exercise the moment the cases started reporting for themselves.
Do YOU have good machines that don’t talk to each other?
We’ll tell you if it’s possible. And if it isn’t, we’ll tell you that too.