Senior Design · University of Toledo · EECS 2025

TOOLTALLY

Automated Tool Sorting System

AI-powered detection and real-time automation that instantly identifies and sorts tools with high accuracy — eliminating manual sorting entirely.

~90%
Accuracy
<2s
Inference
83%
Faster Sort
Model
YOLOv8n
Runtime
ONNX
Platform
Raspberry Pi 4B
Camera
Arducam IMX708
⟳ Drag to rotate
LOADING 3D MODEL
AI Detection Demo

VISION IN ACTION

Phase 01 / 04
Tool
Placement
The user places a tool into the scanning chamber. A proximity sensor triggers active detection mode. The Arducam IMX708 awaits a stable frame for capture.
Proximity TriggerIMX708 CameraActive Mode
Phase 02 / 04
Image
Scanning
The camera captures a high-resolution frame. OpenCV applies noise reduction, contrast normalization, and frame stabilization before passing the cleaned tensor to inference.
OpenCV PipelineNoise ReductionTensor Prep
Phase 03 / 04
AI
Classification
YOLOv8n deployed via ONNX runtime runs inference in under 2 seconds. It outputs a bounding box, class label, and confidence score. Result: WRENCH — 94.2%
YOLOv8nONNX RuntimeAUC 0.92<2s
Phase 04 / 04
Automated
Sorting
Raspberry Pi 4B fires a GPIO signal to the PCA9685 driver. The SG90 servo flap opens and the tool slides into the correct bin. Event logged to Supabase. Cycle: 4.5 seconds.
Pi 4BPCA9685SG90Supabase
WRENCH
CONF: 94.2%
01 Place
02 Scan
03 Detect
04 Sort
Scroll to explore
The Challenge

Manual Tool
Management Fails

Industrial workshops lose thousands of hours to inefficient tool tracking, misplaced equipment, and manual sorting that stalls productivity.

20%
Worker Time WastedUp to 20% of a worker's time is spent simply searching for the right tool.
50–60%
Search Time ReductionToolTally reduces tool search time by 50–60% through instant automated identification.
60%+
Human Error DropMinimizes misplacement and human error by over 60% versus manual systems.
83%
Faster SortingPer-tool processing dropped from 9 seconds manually to 4.5 seconds automated.
🔧
Tools Get Misplaced
Without structure, tools end up in wrong locations creating constant bottlenecks and lost time.
⏱️
Manual Sorting Lag
Manual sorting is slow, error-prone, and requires dedicated trained personnel at all times.
📋
Zero Real-Time Data
No live inventory visibility — no logs, no accountability, no optimization possible.
The System

End-to-End Automation

ToolTally integrates YOLOv8n, cloud backend, and precision mechanics into one seamless workflow.

01
👁️
Computer Vision
Arducam IMX708 captures real-time tool imagery. OpenCV handles preprocessing and frame normalization before inference.
02
YOLOv8n Model
Custom YOLOv8n trained on 2.4k+ labeled images achieves ~90% accuracy. Deployed via ONNX runtime for fast on-device inference.
03
🍓
Raspberry Pi 4B
Central controller managing GPIO, inference, display UI, and servo orchestration — all within a sub-2-second loop.
04
⚙️
Servo Sorting
PCA9685 driver controls SG90 servo flaps. Each flap routes the identified tool into its corresponding bin with precision.
05
☁️
Supabase Cloud
Cloud backend logs every event with real-time sync. Local DB ensures <100ms response for company-level deployment.
06
📲
Touch Interface
7-inch touchscreen with Take/Deposit workflows, solenoid lock control, and live classification feedback.
System Flow

The Complete Workflow

From user intent to sorted tool in under 2 seconds — every step precisely engineered.

STEP 01
User Interaction
User selects Take or Deposit via the 7-inch touchscreen. Solenoid locks open for the selected tool type.
Touchscreen UI
1
2
STEP 02
Image Capture
Arducam IMX708 captures a high-resolution frame on tool placement. OpenCV preprocesses the image for inference.
OpenCV · IMX708
STEP 03
YOLOv8n Inference
ONNX-optimized model classifies the tool in real time. Outputs bounding box, class label, and confidence score.
YOLOv8n · ONNX
3
4
STEP 04
Raspberry Pi Control
Pi 4B receives classification and fires GPIO signals to the PCA9685 servo driver for the target bin.
GPIO · PCA9685
STEP 05
Flap & Sort
SG90 servo flap opens. Tool slides down the ramp into the correct labelled bin automatically.
SG90 Servo · Ramp
5
6
STEP 06
Log & Reset
Event logged to Supabase cloud. System resets all servos and UI in under 5 seconds — ready for next cycle.
Supabase · Auto-Reset
Capabilities

Built with Precision

YOLOv8n Detection
State-of-the-art object detection fine-tuned on 2.4k+ labeled tool images across 5 classes.
ONNX Runtime
👁️
IMX708 Vision
High-res Arducam IMX708 with autofocus. OpenCV handles denoising, normalization, and frame grabbing.
OpenCV
🍓
Pi 4B Control
Coordinates inference, GPIO actuation, display rendering, and cloud sync simultaneously.
GPIO · Python
⚙️
PCA9685 + SG90
16-channel PWM driver controls 3 independent sorting flaps with sub-ms precision timing.
I2C · PWM
☁️
Supabase Backend
Real-time cloud sync for event logging. Local cache ensures <100ms response during offline operation.
Cloud · Realtime DB
📲
Touchscreen UI
7-inch DSI touchscreen with intuitive Take/Deposit interface and live classification display.
Python Tkinter
🔒
Solenoid Locks
Relay-controlled solenoid locks. Only the requested tool compartment unlocks on Take selection.
Relay Module
♻️
Auto-Reset
Full state machine resets between cycles. Sub-5-second turnaround for high-throughput operation.
State Machine
Hardware

The Prototype Unveiled

Drag, rotate, zoom — explore every component of the built system in full 3D.

TOOLTALLY · INTERACTIVE 3D MODEL
🖱 Drag to rotate · Scroll to zoom
LOADING
System Specifications
ComputeRaspberry Pi 4B · 4GB
CameraArducam IMX708
Servo DriverPCA9685 PWM Driver
Servos3× SG90 · Flap Control
Display7" Raspberry Pi Touch
AI ModelYOLOv8n · ONNX
Dataset2,400+ Labeled Images
CloudSupabase · Realtime DB
Accuracy~90% Classification
AUC Score0.92
Inference< 2 seconds
Cycle Time4.5s (83% faster than manual)
Performance

Validated Results

Strong classification performance and reliable mechanical sorting confirmed across all tool categories.

Classification Metrics
0%
Accuracy
0
AUC-ROC
0%
Time Saved
2.4k+
Training Images
<2s
Inference
5
Tool Classes
Confusion Matrix
Plier
Screw
White
Wrench
Bg
Plier
44
2
1
1
0
Screw
1
43
2
1
1
White
0
2
45
1
0
Wrench
1
1
0
46
0
Bg
0
0
1
0
47
AUC-ROC Per Class
Pliers
0.94
Screwdriver
0.91
White Tool
0.93
Wrench
0.92
Background
0.90
Macro Avg
0.92
System Performance
4.5s
Auto Sort
9s
Manual Sort
83%
Reduction
2.4k+
Samples
100%
Mech. OK
<100ms
DB Response
The Builders

Meet the Team

Dept. of Electrical Engineering and Computer Science · University of Toledo

SD
Samay Das
Systems Lead
Software architecture, ML pipeline, Raspberry Pi integration, and UI implementation.
AS
Avneet Singh
ML Engineer
YOLOv8n training, dataset curation, ONNX optimization, and model evaluation.
JS
Jasnoor Singh
Mechanical Design
Chassis design, bin system, servo flap mechanism, and prototype fabrication.
YK
Yash Kapoor
Embedded Systems
PCA9685 wiring, servo control, relay module, power management, and hardware integration.
Technology

Engineering Stack

YOLOv8n
Object Detection
🐍
Python 3
Core Logic
👁️
OpenCV
Vision Pipeline
🚀
ONNX Runtime
Model Deploy
🍓
Raspberry Pi
Compute
☁️
Supabase
Cloud Backend
⚙️
PCA9685
Servo Driver
📲
Tkinter
Interface
~90%
Classification Accuracy
0.92
AUC-ROC Score
83%
Sorting Time Reduction
The Future

SMART WORKSHOPS
START HERE

ToolTally proves that automated tool management is practical, scalable, and deployable today. From engineering labs to factory floors — intelligent sorting systems like this define the next evolution in workspace efficiency.

Project Advisor & Senior Design Professor
Dr. Ashish Kharel
University of Toledo · Dept. of EECS · Project Sponsor: University of Toledo