WCO.
← All projects

Case Study · 2026

Electronic Component Sorting System

Computer vision–driven real-time sorter on a live conveyor

SolidWorks CAD model: (1) hopper, (2) vibration funnel, (3) conveyor, (4) vision module, (5) paddle sorter.
SolidWorks CAD model: (1) hopper, (2) vibration funnel, (3) conveyor, (4) vision module, (5) paddle sorter.

The Problem

Sort four classes of small electronic components flowing down a conveyor in real time, accurately enough to trust, fast enough to keep up with the belt, and with minimal environment effects.

Built system on the bench , conveyor, electronics enclosure, and sorter hardware.
Built system on the bench , conveyor, electronics enclosure, and sorter hardware.

Approach

1 · Dataset that matches the rig

Captured and hand-labeled 3,000+ images across four classes using the production camera, backdrop, and LED strip. The dataset's job was to look exactly like inference day.

2 · YOLOv8 training & validation

Iterated on augmentation, image size, and class balance until precision and mAP@50 stabilized. Held back a cold-start test set captured on a different day to catch overfitting to lighting.

3 · Sensor-triggered pipeline

A through-beam photoelectric sensor triggers image capture the moment a part enters the field of view. Arduino Mega orchestrates capture, sends frames to the inference host, and drives the diverter motors based on the returned class.

4 · Arduino-driven actuation

Used an Arduino Mega as the microcontroller, wiring motors and sorting paddles directly to it. The Arduino actuates each paddle on pending signals from the photoelectric sensors, keeping the divert timing tightly coupled to part position on the belt.

Model Performance

Confusion matrix for the trained YOLOv8 model across the four component classes.
Confusion matrix for the trained YOLOv8 model across the four component classes.
Training & validation curves , loss, precision, recall, and mAP across epochs.
Training & validation curves , loss, precision, recall, and mAP across epochs.

Results

99%

Inference precision across all four classes.

95%

mAP@50 on the held-out cold-start test set.

Real-time

Synchronized capture → infer → divert on a moving belt.

Senior design poster , full system overview, vision model, and results.
Senior design poster , full system overview, vision model, and results.
The team at the senior design showcase.
The team at the senior design showcase.

What I Took Away

  • Dataset > model: locking down lighting and camera geometry mattered more than any hyperparameter sweep.
  • Sensor-triggered capture beats free-running cameras , fewer frames, less compute, better timing.
  • Motion blur deserves its own failure mode in your evaluation, not a filter.

Stack & Tools

YOLOv8PythonArduinoEmbeddedOpenCVArduino MegaPhotoelectric sensor