Works with older OceanOptics USB spectrometers or devices which use their control boards.
Latest version: Oct 29, 2026. Added options to use wave number, load multiple references at once, show peaks on references, and a few other minor niceties.
Linux (zip)
Windows (zip)
*See below for fixing Windows USB issues…

- Automatic Peak Detection and corrolation with known spectral lines
- Automatic full-width half-maximum calculations
- Autoscaling
- Overlay known reference lines from either special items (Fraunhofer, CFL, etc) or various elements
- 2 and 3 point software calibration (so as not to mess with the onboard EEPROM)
- Transmission/Absorbance measurements
- Dark/Light calibration frames
- CSV Output
- CSV input for overlay


Getting Ocean Optics devices to work on Windows 10, 11, etc:
After Windows 7 MS decided to change the way USB devices register themselves, sometimes requiring the device to respond with data that it did not previously care about. As you can imagine this was not great for hardware existing in the world.
For our specific case the device will fail with an “Error 10” and “BOS descriptor failed.” This is fixable by registering the device in the registry and telling it not to ask.
First: find your hardware IDs in device manager. Usually the device shows up as an “unknown device” with a yellow warning sign on it. Open this and look for a line like “USB\VID_2457&PID_1002&REV_0002” under Details tab, Hardware ID of 2457 is Ocean Optics manufacturer identifier.
In this example USB\VID_2457&PID_1002&REV_0002 becomes 245710020002, open a command prompt as administrator and enter:
reg add HKLM\SYSTEM\CurrentControlSet\Control\usbflags\245710020002 /v SkipBOSDescriptorQuery /t REG_DWORD /d 1 /f
After that you’ll need a copy of Zadig to change out the USB driver. Mine shows up as “Semi SYS OOSpec,” (after telling it to list all device) and I select libusb-win32 as the correct driver. After that the software should connect to the device and you can press “start” to get things working.
