Laser Beam Profiler

Camera-based beam profiling instrument — from a Raspberry Pi feasibility prototype to a validated in-house metrology tool, four versions later.

This one has a full arc. It started as my internship project: a Raspberry Pi 4 with three camera modules capturing raw beam images and computing beam-profile metrics, benchmarked head-to-head against a commercial beam profiler to prove the approach was viable. It was — and the validated concept was rebuilt into a proper in-house instrument that has since gone through four major versions.

The current generation is a PyQt6 + pyqtgraph desktop application on the shared instrumentation platform: live image acquisition, centroid and beam-width analysis, saturation handling, and structured data export. A device-true mock camera means the whole application — UI, pipeline, and analysis — runs and tests headless without hardware on the bench.

Camera-based profiling is one of those problems where the physics keeps you honest: exposure control, background subtraction, and saturation behavior all bias the width numbers if you let them. A lot of the engineering here is making sure the number on screen is the number on the table.

Python, PyQt6, pyqtgraph, NumPy. Source is private.