← All work

Optical components

Test Stations That Change Without Changing Code

Plant-wide automated test for fiber optic modulators, from wafer to finished package. Administrators change what each station does by editing a script, not the code.

The problem

A manufacturer of fiber optic modulators needed to test its parts at every step of production: wafer fabrication, chip placement, and final packaging. Each step had its own stations, its own instruments, and its own measurements.

The harder requirement was that the process had to keep changing. Test engineers needed to adjust what a station did, add steps, or reorder a sequence, without waiting on a programmer to modify and redeploy the software every time.

What we built

The system has three layers.

  • One main test utility, everywhere. Every key station in the facility runs the same top-level application. Operators log in with credentials checked against a custom Oracle schema, so every result is tied to who ran the test, where, and on which part.
  • Station-specific routines. Beneath it sit the routines that only certain stations need: complex measurement algorithms, simultaneous test sequences, chip alignment with live optical feedback, and polarization controller optimization.
  • Custom instrument drivers. Drivers cover the facility’s major test equipment: vector network analyzers, function generators, power supplies, optical power meters, NI data acquisition hardware, custom switches, and serial devices. Which instrument sits at which address is set in configuration, not hard-coded.

Database storage, datasheet generation, and reporting are built in as routines as well.

The key idea: everything speaks the same language

Every routine and driver is built as a state machine that accepts plain text commands and routes each one to the right state. Some commands are shared by every station, and some exist for a single station. Because they all work the same way, any of them can be combined into a sequence.

Those sequences live in XML scripts. Administrators write them by hand or with a custom configuration utility, then point the main test utility at the script. Instrument control, measurements, database storage, and reports can all be called from a script.

The result

Administrators control what every key station does by editing a script file. Adding a step, changing a sequence, or retooling a station for a new part doesn’t require a code change.

Each test ends in a graded datasheet, with the transfer curve, extinction ratio, loss, Vpi, and phase calculations, saved to the database and ready to print. For the manufacturer, it was a significant step forward in automated test: one consistent system from wafer to finished package, which test engineers could adapt themselves.