Public Lab Wiki documentation

Spectral Workbench usage

Basics is a web-based software suite for collecting spectra, using your Public Lab DIY spectrometer.

Once you have an assembled spectrometer connected to your computer or smartphone, create an account at, log in and click Capture. You'll then be able to connect to your spectrometer, capture and save spectra, and analyze and share them.


Watch the video below for a quick overview on capturing spectra.


You'll notice that many other spectra on the site have a scale showing "nm" or nanometer units on the horizontal axis. To get scaled data, you must calibrate your spectrometer. There are several kinds of calibration but here we're talking about wavelength calibration, which allows your spectrometer to display a wavelength value for any color of light it sees. Luckily, this is easy -- to learn how, see the Spectral Workbench Calibration page.

Title Author Updated Likes
No matching content.

Ask a question  or help answer future questions


Spectral Workbench has a range of tools which may be used on any spectrum page to manipulate or analyze your data. Read about them on the Tools page

Find similar

The "find similar spectra" tool has also been added to the tools page


You can save multiple spectra in a permanent set in one of two ways:

Technique 1: Use the "Compare" interface on a spectrum page to compare one or more spectra with the one you have open already, then in the new "Comparisons" tab, click "Save as set." as shown:


Technique 2: From an existing set, click "Add spectrum" at the bottom for a search interface for finding and adding spectra:



How do you analyze samples of liquids, gases, or solids? Learn more about sampling here:

There are also a variety of activities being documented here if you're looking for spectrometry activities to attempt:


Once your spectrometer is calibrated, what do you do next? This is the central question of our open spectrometry community. People are building and using these spectrometers for many reasons and there are different approaches being actively developed. For the time being, try browsing recent contributed open spectrometry research, and look over our growing list of applications and resources

Title Author Updated Likes
No matching content.

Ask a question  or help answer future questions


Various tutorial videos on using Spectral Workbench.

Watch this short video for a quick walkthrough of the whole process:

This 10 minute video goes into greater depth on how calibration works and how to do it well:

Watch this video about using Operations via the tool panes:

See Spectral Workbench Help if you have trouble.


Many things can go wrong (or right) when collecting spectra. Here are a few to look out for:

Title Author Updated Likes
comparison betweeen spectra made by manufacturer and spectralbench? @miramon 2 months ago
How do I use SpectralWorkbench.js to auto-calibrate? @shenzj1994 3 months ago
Can you get color temperature from spectra @miramon 3 months ago
Can I get a file of numbers instead of a graph from the foldable spectrometer software? @mountevans 3 months ago
I can't enter a password when I try to login to Spectral Workbench. So I can't log in at all. @storacremu 4 months ago
CSV files from spectra @Dr_Z 4 months ago
I want to know a method to quantify milk proteins using the foldable mini spectrometer, Is this possible? @julsmill 4 months ago
I want to know a method to quantify milk proteins (cow milk, almond milk, coconut milk, oat milk) using the foldable mini spectrometer, Is this possible? @julsmill 4 months ago
How to use the API to export a constant stream of data? @Reallygeek 4 months ago
How do we confirm the current version of the software? @quencher 5 months ago
How should i go about converting svgs to jpgs or pngs @Flameytail 5 months ago
Does anyone know what image processing spectral workbench does to find intensity at wavelength/ where to find the coding for that? @Reallygeek 5 months ago
Calibaration or switching scale? @jayjay70 8 months ago
Delete my profile? @MEC08 9 months ago
Starlight Recorder KIC8462852 @LightWaveResearch8000 9 months ago
How To Make Time Lapse Spectrometer @LightWaveResearch8000 9 months ago
"Use or calibrate calibration" dont show my reference CFL already calibrated @JSAENZ 9 months ago
Image is blue - First time @LightWaveResearch8000 9 months ago
Copying Calibration @Ridwane 11 months ago
Suppression of background light @saeed957 12 months ago
Cannot find colour spectrum @SpencerH about 1 year ago
Fraunhofer Lines at higher resolutions? @stef about 1 year ago
What are the units on the X axis for the spectrum capture for the Desktop Spectrometry Kit 3.0 @Schoster about 1 year ago
Save and Download buttons -where does the file save or download to? @testtube about 1 year ago
How to get spectral data in excel or other formats @suha about 1 year ago
orientation of slit vs that of diffraction grating @wlkwong over 1 year ago
Spectral Workbench recording time? @dhale2 over 1 year ago
Calibration of spectra fails @Paul_P over 1 year ago
Why copy calibration does not apply? @aelobo over 1 year ago
Intensity for spectra too low? @chuynh451 over 1 year ago
Error on calibrating uploaded spectrum @sarahcm over 1 year ago
how to delete my spectra on Spectral Workbench @redleon over 1 year ago
Calibration Issues with larger images @Anmar over 1 year ago
Can i upload csv files on spectralworkbench for calibration and other purposes? @shubham over 1 year ago
Question: Is Global Warming primarily man-made or a natural occurring phenomena? @dhaffnersr over 1 year ago
Question: Using a webcam with a image resolution of 1920x1020 @seko almost 2 years ago
How to rename a set on Spectral Workbench? @AndrewJamesLaplante almost 2 years ago
Question: How do I get the calibration user interface? @PeterDH almost 2 years ago
Question: Why average? And what happens to the second Green? @viechdokter almost 2 years ago
Difference CFL and Tube light? @Joris almost 2 years ago
Question: desktop spectrometer 3.0 light sensitivity @Joris almost 2 years ago
Question: Why won't the spectrum plot show once the image has been uploaded? @litar almost 2 years ago
Question: Focus on mobile phone @clownfish almost 2 years ago
Question: ccd camera on metascop @leanr about 2 years ago
Getting the spectrometer to work with a Raspberry Pi? @anjohn12 about 2 years ago
Automated captures? @viechdokter about 2 years ago
Question: total beginner problems @viechdokter about 2 years ago
Question: Spectrometer using photosensor @Abhay7417 about 2 years ago
Question: How do I save the calibration data? @mokeymark about 2 years ago
Question: Micro volume spectrometer using arduino and light detecting resistor. @Abhay7417 about 2 years ago
Question: can't save spectrum anymore @eigentuininhuis about 2 years ago
can't get the calibration right @eigentuininhuis about 2 years ago
What size (width and height) of the image to vertical upload (blue top) in SpectralWorkbench? @asasergio about 2 years ago
Question: How do I measure the absorption spectrum of a sample? @lucca_fabani over 2 years ago
Calibrating @daniel94 over 2 years ago
Question: What does the vertical scale mean? @someHerrings over 2 years ago
Question: Is there a way to delete a set of spectra from the spectral work bench? @ethanbass over 2 years ago
Question: Help @porbe over 2 years ago
Question: Why I can not upload images to calibrate @congminhqt over 2 years ago
Question: downloading spectrum @mebaumga almost 3 years ago
Question: Stray light correction @SIMJEDI almost 3 years ago
Question: Colorimetry using the desktop spectrometer @mattiecaroline1991 almost 3 years ago
Question: deep UV @mebaumga almost 3 years ago
Question: @edilberto about 3 years ago
Question: "live" compare to camera feed @wecapa about 3 years ago
Show 55 more

Ask a question  or help answer future questions


If there's too much light, the camera's sensors can't compensate and will be maxed out. On your graph, this looks like it's "hitting the ceiling" and you get a section with only 100% brightness. (Sometimes this happens in only one channel and you can't see until you enable RGB mode, as in the below image.)


There are a few things you can do:

  • dim the source light
  • move it further away
  • use a diffuser (milky plastic, a sheet of paper), although this may affect your spectrum
  • reflect light off of a piece of white paper or a wall (or, for something with a very clean white spectrum, try Teflon)
  • use more sample (if you have, say, a colored liquid)

By default, Spectral Workbench chooses the top row of pixels as a cross-section of your spectrum image. If there is variability in the brightness of your spectrum image, vertically, as shown below, you may be able to select a different cross-section which does not have clipping. Go to More Tools and choose "Set sample row", then click on the image at a point where the brightness is lower. Please read this section about what the cross section represents, as it may vary based on how you are capturing.

However, if your spectrum is not perfectly vertical (for example if you've uploaded an image from a smartphone or still camera), selecting a different sample row may invalidate your calibration, since each color is now in a different location in the horizontal axis. In that case, you may need to take a new spectrum with lower light or shorter exposure.


Light leakage

If your spectrometer is not sealed well, light may enter the imaging chamber and mess up your readings. The below image has some white light leaking in -- just seal up your spectrometer well with dark tape, especially where your camera attaches to it.


Advanced use


Sometimes, when using the "waterfall" interface in live capture, you don't quite catch that moment when a flare of light is just perfect. You can use Set cross section under "Tools" on the spectrum page to choose the best cross-section of the image.


Webcam configuration

Most webcams have auto exposure and color "correction" so that in dim light, you can still see. This will unfortunately change the exposure between readings, so for quantitative work, it must be disabled. On Linux, you can use the "uvcdynctl" utility as outlined here.

On a Mac, you can download this utility:

"Sluggo" from has written a UVC library and control app for OS.X. It works pretty well with a logitech c900 webcam, allowing GUI-based control of whitebalance, exposure, and focus(!). He's also working on an ObjectiveC wrapper.

If you find a comparable utility for Windows, please post it here.

Webcam selection

Some computers/browsers will initially choose the built-in webcam instead of the one in your spectrometer. On Chrome, some recent versions make it quite difficult to select the correct camera. Please first confirm that your computer can recognize the camera at all by using a desktop photo booth program and/or trying out this demo site.

Chrome ~v30+

In more recent versions of Chrome, you can click the camera-shaped icon in the address bar:


Chrome v26+

In slightly older versions of Chrome, you can click the camera-shaped icon in the address bar, then go into the menu settings to choose a camera:


Click "Manage media settings" and close the dialog which pops up (the menu you want is behind it). Then scroll down to find the Media section, and select the webcam, as shown below. Close the Settings page. You may need to reload the Spectral Workbench page now.


Chrome v25

If you are using Chrome 25+ and have a webcam in addition to your spectrometer, Google hid the "camera selection" menu under Settings > Advanced Settings > Privacy > Content Settings > Media > Camera. This is really unfortunate, but Google has improved that interface in more recent versions.

Chrome 21-24

In older versions, you can just choose a camera in the dropdown to the upper-right corner, then click Allow to the upper left.

Offline use

Spectral Workbench may be used offline once it is loaded in your browser. To do so, visit:

Once you've visited the above address, you will be able to access that page even without an internet connection, as long as you use the same browser. Read more about it here: Spectral Workbench Offline


You can also use a pure JavaScript version of Spectral Workbench, ideal for use with a Raspberry Pi spectrometer. The code is here:

@cedarlodge is developing a Python library too. See it in action here:


spectrometer spectralworkbench upload red uvc manual save