Robotics · Computer vision · Control systems
Vision-Guided Pick & Place
A broad rewrite of the LitePlacer control stack. Two cameras became measurement instruments for calibration, board registration, feeder positioning, and closed-loop placement.

Vision and calibration
Overview
The cameras moved inside the control loop. The system measured its geometry, learned mechanical offsets, located parts, verified pickup, corrected pose, and then placed.
Machine vision
Dual-camera detection for fiducials, components, tape holes, geometry, optical homing, and template matching.
Automatic calibration
Camera scale, nozzle offset, optical homing, mechanical slack, and SVD-based PCB registration from measured fiducials.
Smart feeders
Vision-calibrated carrier tape using detected sprocket holes, fitted tape slope, measured pitch, and predicted pickup locations.
Verified pickup
TinyG firmware changes added vacuum-pressure sensing so the machine could confirm success rather than assume it.
Development artifacts
System in use
The original demonstration and interface captures show the calibration routines and configurable computer-vision pipeline in operation.
Watch the demo ↗ · automatic calibration and slack measurement

Scope of the rewrite
Engineering scope
The public history records changes across vision, motion, calibration, feeders, sensing, interface design, and control behavior.
of inherited application code replaced
Against the final inherited baseline: 11,001 of 13,287 handwritten C# lines deleted and 24 new handwritten modules introduced.
Excludes WinForms Designer files, generated Properties code, binaries, and backups.
Across the complete machine
- OpenCV/AForge vision pipelines
- Four-axis X/Y/Z/A motion
- TinyG JSON command control
- Circle and rectangle detection
- Template and blob matching
- Automatic probing
- Learned Z heights
- Mechanical slack compensation
- Placement pause and abort
- Needle-change workflows
- Vacuum pressure feedback
- Board-coordinate registration
Source and demonstration
Project records
The public repository and demonstration video document the implementation and its development history.