Improving the functionality of a laser writing system using software

Laser writing is a method of fabricating ‘pipes’ inside glass that confine light, known as optical waveguides. This confinement allows interactions between individual photons to be controlled, an important feature for quantum optics experiments. For such experiments, the total optical loss in the system should be below 1.7dB[1]; minimising the total loss in these structures is very important for scalability. Waveguides can be created by translating a photosensitive glass sample under a focussed laser at a precise speed. 2D structures allow spatial control of how photons interact. Additionally periodic structures known as Bragg gratings cause light within a narrow predefined wavelength range to be reflected, allowing filtering and trapping of light. Creating devices of a high enough standard to be useful requires a great deal of computational control. Currently this consists of a PC uploading code to an FPGA, which is connected to an air-bearing stage, which moves samples through a fixed laser beam. Complex coordinate transforms are difficult to implement and test in the current system due its use of AeroBasic (a CNC language modified from G-Code); as a result this work follows an upgrade to control the system using a custom library written in C++.