Batch Mix-Up Detection JIG
Objective: Prevent batch and line mix-ups via Automatic QR Scanning JIG.
DEVELOPED BY
P. Lakshmana Sai Kaushik
QA Supervisor
Molbio Diagnostics Limited
October 2025 – December 2025
💡 KEY VALUE PROPOSITION
Automated in-house jig that eliminates batch and line mix-ups — delivering 100% verified accuracy with zero additional cost.
PROJECT STATUS
✅ Testing Complete — Ready for Handover
100%
Accuracy
0
False Rejections
300+
Cartridges Tested
✓
QR Validation
📊
Full Traceability
📋 The Challenge
Creates traceability gaps and operational inefficiencies
6+
Mix-up Incidents
Repeated across multiple batches
🔍
Root Cause
Wrong batch, wrong mould, cross-line mix-up & QR tampering
⚡
Risk Level
CRITICAL
⚠️ Manual verification alone is not reliable.
📊 CPSR Today
Scans and counts QR codes; does not validate Line ID, Batch, or QR range.
👤 Manual Checks
Inconsistent for wrong batch, cross-line mix-ups, or tampered labels.
⚠️ Result
Rework, delays, and traceability gaps.
📋 QMS Traceability Issues
Due to mix-ups: delays in closures, reworks, batch compilation errors
Common Mix-up Scenarios:
💡 The Solution
Automatic QR Scanning JIG that prevents batch mix-ups without operator intervention
🎯 Our Solution: Automatic QR Scanning JIG
We developed an intelligent QR Scanning JIG that automatically validates every cartridge and prevents batch mix-ups without any operator intervention.
How Our JIG Works
1. Scans QR Code
GM65 scanner reads the 14-character QR code from each cartridge
2. Validates Automatically
System checks if QR belongs to current batch (Line ID, Batch Range, Format)
3. Auto-Diverts Cartridges
Based on validation result, ACTJ actuators automatically route cartridges to PASS bin or REJECT bin
4. Zero Operator Intervention
No manual decisions required — fully automated validation and routing
How It Reduces Batch Mix-ups
🔍 Line ID Validation
Extracts Line ID from QR Position 2 → Ensures cartridges from Line A don't mix with Line B
📊 Batch Range Check
Validates QR is within configured Start/End range → Rejects wrong batch cartridges
🔄 Duplicate Detection
Tracks scanned QRs in session → Prevents re-scanning same cartridge multiple times
🎯 Format Validation
14-char alphanumeric check → Rejects invalid or tampered QR codes
Key Features of Our JIG
💡 LED Visual Indicators
GREEN = Pass | YELLOW = Duplicate | RED = Reject — Instant visual feedback for operators
🔊 Buzzer Sound Alert
Audible beep for rejected cartridges — Alerts operator immediately when issues detected
📺 Tkinter UI Display
Real-time statistics visible on JIG screen:
- • Total Scanned: Live count of all scanned cartridges
- • Batch Number: Current batch being processed
- • Pass Count: Number of validated cartridges
- • Reject Count: Number of rejected cartridges
- • Duplicate Count: Already scanned QRs detected
- • Timeline: Session duration and time tracking
- • Last Scanned QR: Most recent QR code processed
🔧 Multi-Mould Batch Support
Handles batches with multiple moulds — Configure QR ranges for 1, 2, 3+ moulds per batch seamlessly
🌐 Flask Web Dashboard
Remote access to scan logs via browser (:8080) — View history, download CSV reports, audit trail
📋 Complete Traceability
CSV logs + SQLite database — Every scan recorded with timestamp, batch, result, operator details
💾 Auto-Resume & Data Persistence
Zero data loss even during power interruptions:
- • Automatic State Recovery: JIG resumes from last scanned QR when powered back on
- • Count Preservation: All counts (total, pass, reject, duplicate) retained in database
- • Session Continuity: Display shows exact state before shutdown — no manual re-entry needed
- • Persistent Storage: SQLite database ensures no scanned data is ever lost
→ Operators can continue exactly where they left off, maintaining workflow continuity
🎯 Implementation Strategy
By implementing this QR Scanning JIG in our production line, we can eliminate batch mix-ups and automatically detect cartridges mixed in wrong batches.
We used the existing ACTJ Jig for automated detection — it scans QR codes, validates Line ID, Batch range, and format in real-time, then automatically routes cartridges to PASS or REJECT bins. No manual intervention; zero human error.
System Architecture
🔧
ACTJ JIG
📱
GM65 Scanner
🔍
Python Validation
🎛️
ACTJ Routing
📊
Flask Dashboard
⚙️ Batch Configuration Example
Real Batch Setup
📦 Batch Number: MVANC00045
📍 Batch Line: A (Line A)
🔧 Number of Moulds: 3 Moulds
🧭 Allowed Range:
VAN142536A0001 → VAN142536B9999
✅ PASS Examples
✅ VAN142536A0001 — within range
✅ VAN142536A5000 — within range
✅ VAN142536B0002 — within range
❌ REJECT Examples
❌ VAN142536C0003 — outside allowed range
❌ VBN142536B0100 — wrong line
❌ VAN142536A0001 — already scanned ⚠️ DUPLICATE
🎯 How the Validation Logic Works
Configure QR Start (VAN142536A0001) and QR End (VAN142536B9999) for the batch
When QR is scanned, system checks: Is it within this range?
Extract Line ID from Position 2 of QR → Compare with batch line (A)
Both checks pass → GREEN (PASS) | Any check fails → RED (REJECT)
✅ 4-Level Validation Process
📝 Format Validation
Check: QR must be exactly 14 alphanumeric characters
Rejects: Wrong length, special characters, spaces
Result: RED light if failed
🔤 Line ID Validation
Check: Does extracted Line ID match configured Batch Line?
Logic: Extract character at Position 2 from scanned QR code (A-Z)
Example: QR = VAN142536A0001 → Line = A | If batch is Line B → REJECT
Result: RED light + reject bin if Line mismatch (cross-line mix-up detected)
📊 Batch Range Validation
Check: Is scanned QR within this range? (e.g., VAN142536A0001 to VAN142536B9999)
Logic: Operator sets QR Start Number & QR End Number per batch
Decision: Within range → PASS | Outside range → REJECT
Result: RED light + reject bin if out of range
🔄 Duplicate Detection
Check: QR not previously scanned in current session
Prevents: Re-scanning same cartridge multiple times
Result: YELLOW light if duplicate, GREEN if all checks pass
📌 Current Situation & Why This Solution Works
How we addressed each gap in the existing system
❌ Existing CPSR Limitation
Only scans QR and counts — no Line ID, Batch, or QR validation
❌ Manual Verification
Cannot reliably catch cross-batch or cross-line mix-ups; slow and error-prone
✅ Range-Based Validation
Set QR Start/End → Within range = PASS | Outside = REJECT + Line ID check
✅ Physical Auto-Routing
ACTJ actuators route PASS/REJECT automatically — no human decision errors
✅ Full Traceability
CSV + SQLite + Flask dashboard — remote audit without touching the jig
🎯 Goal Achieved
Intelligent validation (Line, Batch, Range) prevents mix-ups — zero added cost
🧠 The Core Logic & How The System Works
🔐 Validation Logic Added
1️⃣ Set QR Start & End Numbers for each batch
(defines valid range)
2️⃣ Scanned QR within range?
✅ PASS | Outside? → ❌ REJECT
3️⃣ Extract Line ID from QR (Position 2)
→ Match with batch line
4️⃣ Line mismatch?
→ Immediate REJECT (prevents cross-line mix-up)
🛠️ What Stayed the Same
No hardware or firmware changes. The same ACTJ/CPSR jig and components are reused.
A Python validation layer on Raspberry Pi validates Line ID, Batch Range, and QR format/duplicates. Jig control remains unchanged.
Complete Process Flow
1️⃣
Batch Configuration
Operator inputs: Batch Number, Line ID, Mould count, QR Start/End ranges
2️⃣
QR Scanning
GM65 scanner reads 14-char QRs; system validates & auto-routes to bins
3️⃣
4-Level Validation
Format → Line ID → Batch Range → Duplicate checks ensure only correct cartridges pass
4️⃣
Visual Feedback & Routing
GREEN (pass), YELLOW (duplicate), RED (reject) + ACTJ auto-diversion to bins
📊 Test Results & Performance
15
Test Cycles
300
Cartridges Tested
100%
Accuracy
3.15s
Cycle Time
🎯 Perfect Performance
✓ Zero False Rejects
✓ 100% Detection Rate
✓ Real-time Validation
⚙️ Technical Specifications
🖥️ Processor
Raspberry Pi 3B+
📱 Scanner
GM65 QR Scanner
🔧 JIG CPSR
Automated Routing System
⚙️ Software
Python 3 + Tkinter
🗄️ Database
SQLite + Auto-Resume (scan_state.db)
🌐 Dashboard
Flask Web (:8080)
✨ Key Benefits
💯 Zero Mix-Ups
100% accurate validation ensures cartridges never go to wrong batch
💰 No Investment
Uses existing jig + Raspberry Pi, zero capital expenditure
📊 Full Traceability
CSV + SQLite + Flask dashboard provides complete audit trail
⚡ Fast & Efficient
Average 3.15 seconds per cartridge processing time
🔄 Zero Disruption
No changes to existing ACTJ/CPSR firmware or hardware
💾 Auto-Resume
Power-safe design — JIG resumes from last scan after shutdown, no data loss
🤖 Operator Empowerment
Instant LED + buzzer feedback. Operators focus on action, not manual QR checks.
📈 Project Impact & Value
🛡️ Problems Prevented
- • Avg 2–3 hours delay per incident
- • Rework + QA investigation time
- • Material waste + rejected cartridges
Prevents downtime and rework
♻️ Smart Resource Utilization
- • Used existing ACTJ/CPSR infra
- • Raspberry Pi & scanner from maintenance
- • 100% in-house development
Zero additional resources needed
💯
100%
Accuracy
✅
0
Mix-ups
📦
300+
Cartridges Validated
⚡
3.15s
Avg Cycle Time
⏱️ Project Timeline
Concept Approval & Material Procurement
📅 Oct 6-7, 2025
Project proposal submitted and approved by QA Manager. Hardware procured: Raspberry Pi 3B+, GM65 Scanner, SD Card from Maintenance Team
Prototype Completion
📅 Oct 9, 2025
Prototype model completed and functioning. Demo video shared with stakeholders. Approval received for ACTJ integration and USB access
BigTec Collaboration
📅 Oct 10-14, 2025
Source code received from BigTec Labs (Salman Khaja). Software integration with existing ACTJ firmware (v2.6) — no firmware modifications
System Integration Complete
📅 Nov 19, 2025
Jig successfully integrated with CPSR. Demo with real-time run completed. 300 cartridges approved for validation testing
Testing & Performance Evaluation
📅 Nov 20 - Dec 2025
Completed: Performance evaluation with 300 cartridges. Cycle time tested: 1 min 03 sec per 20 cartridges
✅
🙏 Acknowledgments
Leadership & Key Stakeholders
Plant Head
G. Uday Bhaskar
GM-Operations
QA Management
Hameed C.R.
Assistant Manager - QA
Design Team Lead
Gompa Naidu
HOD - DI
Technical Support
S. Chakravarthi
Maintenance Site-III
🌟 Key Contributors
Essential Team Members & Support
🔧 BigTec Labs
Salman Khaja
Source Code & Integration
🏭 Production Lead
Santosh Yavvari
Inputs & Guidance
💻 IT Support
Raj Kumar Kanithi
USB Access & IT Infrastructure
📦 Materials Team
G. Bala Sri Ram & Vadlapudi Ramya
Cartridge Provision for Testing
🔧 Maintenance Team
Sanjeev Varma, Bhargav, Sri Ram, Yeswanth & Team
Technical Support & Field Troubleshooting
💖 Special Thanks
CH. Praneet Raj
For bringing this idea into focus and supporting every step of this journey. Your mentorship and guidance were instrumental in making this project a success.
Champions 2.0 Initiative
This project is my Champions 2.0 initiative task — an end-to-end improvement project under the program led by GM-Operations, G. Uday Bhaskar.
It demonstrates how every new joiner can implement a meaningful, impactful solution from conception to deployment, delivering measurable value to the organization.
✓ Built-in Prevention • ✓ Zero Cost • ✓ Full Traceability • ✓ Production Ready
🙏 Thank You!
✨ Testing Complete — Concept Proven
🎯 Test Results Summary
✅ 300 cartridges tested
✅ 100% detection accuracy
✅ Zero false rejections
⏱️ Performance Tested
1 min 03 sec
per 20 cartridges
🎯 Quality Impact
✓ Eliminates batch mix-up risk
✓ Full traceability maintained
✓ Complete audit documentation
🤝 Next Phase — Concept Validation Complete
Prototype successfully tested with proven performance metrics validated across diverse batch scenarios.
🔄 Production Implementation
If deemed valuable for production lines, this concept can be implemented and scaled with BigTec's support for system integration and deployment.
💡 Key Advantage
Zero production line disruption during implementation
✓ Prototype Validated
✓ Performance Proven
✓ Ready for Next Implementing
💡 Final Message
Built-in prevention, compliance, and traceability — embedded in the process.
🎯 What We Achieved
✅
Automated prevention
with zero cost
✅
100% verified
accuracy
✅
Complete
traceability
🏆 Champions 2.0 in action
👤 Regards
P. Lakshmana Sai Kaushik
QA Supervisor
Molbio Diagnostics Limited - SITE III