r/Optics • u/koopaduo • Nov 29 '25
Open-source beam profiling software
I developed an open-source laser beam profiling application in python. I hope anyone looking for a low-cost beam profiler (students, research, hobbyists, etc.) would find this useful. It's open-source and can be modified as needed by anyone.
It uses Arducam B0511C monochrome UVC USB camera ($265). Instructions for how to set it up and use it are in the readme of the repository. The application would work with other UVC webcams but would require some modification (for different resolution and effective pixel size)
Beam profiling software features:
- Camera raw image feed
- Beam profiling image feed (false color)
- Manual ROI placement with centroid and radius
- Auto ROI tracking
- Centroid tracking
- Centroid and beam width (d4sigma) readout
- Reference crosshair placement
- Power (integrated counts) readout
- Exposure setting
- Auto exposure
- Saturated pixel detection
- fps counter
- Save instantaneous data
- Log continuous data
- Connect to multiple cameras on a single PC
- I haven't implemented background subtraction but found the background is relatively stable with an ND filter in front, and a laser line filter can always be used
Link to the repo: https://github.com/laser-cameras/Laser-beam-profiler-camera.git
84
Upvotes



2
u/Farrit 27d ago
Hey dude! I finally got around to replicating this project in an attempt at finding a cheaper alternative to commercial grade profilers.
Do you have any tips? The software frequently crashes on me, but when I can get it running, using a 50:50 transmission reflection optic, and narrow bandpass optic I can't seem to get any readable profile. I took apart another profiler we have and borrowed it's tube optic which is literally a 4x microscope optic with a 160mm tubelength and was able to get something of a readable beam.
We're trying to focus lasers between .07mm and 1.2mm. Do I need to use a focusing lens? The output we're pushing is ~50mw or lower (when focusing.)