Arduino Rig Does Spectrophotometry

Spectrophotometry is an important scientific tool, most commonly used in biology and chemistry. It’s a method to measure the amount of light absorbed by a chemical solution at various different wavelengths. While it’s typically the preserve of expensive lab equipment, [Daniel Hingston] built a rig to do the job at home.

The heart of the rig is a normal filament-based flashlight bulb, which produces good-quality white light containing all colors. A prism is then used to split the light into its component wavelengths, so that the sample can be tested across the whole light spectrum. The prism is rotated by a servo motor, which exposes the sample to the full rainbow, while an Arduino uses a light-dependent resistor to measure how much light makes it through the sample. Thus, the amount of light absorbed by the sample can be calculated, relative to calibrations made with no sample present.

It’s a simple build that can be achieved with fairly common materials, barring the prism which may need to be specially ordered. It would be a great way to teach highschool students about advanced scientific concepts, as well as showing them behind the curtain of how lab equipment works.

We see all kinds of DIY science gear around here; this lantern-based bioreactor is a great example. Video after the break.

12 thoughts on “Arduino Rig Does Spectrophotometry

  1. Marvelous project. It even references an early form of English product placement with a royal mnemonic: Indigo.

    From Wikipedia:

    “The Early Modern English word indigo referred to the dye, not to the color (hue) itself, and indigo is not traditionally part of the basic color-naming system.”

    “Isaac Newton introduced indigo as one of the seven base colors of his work. In the mid-1660s, when Newton bought a pair of prisms at a fair near Cambridge, the East India Company had begun importing indigo dye into England,[17] supplanting the homegrown woad as source of blue dye.”

    “Later scientists conclude that Newton named the colors differently from current usage.[22][23] According to Gary Waldman, “A careful reading of Newton’s work indicates that the color he called indigo, we would normally call blue; his blue is then what we would name blue-green, cyan or light blue.”[24] If this is true, Newton’s seven spectral colors would have been:

    [see the colors in the Indigo Wiki]
    The human eye does not readily differentiate hues in the wavelengths between what we today call blue and violet. If this is where Newton meant indigo to lie, most individuals would have difficulty distinguishing indigo from its neighbors. According to Isaac Asimov, “It is customary to list indigo as a color lying between blue and violet, but it has never seemed to me that indigo is worth the dignity of being considered a separate color. To my eyes it seems merely deep blue.”[25]”

    So, cutting out the East India Company product placement color, we only need the six primaries and blends thereof.

    Indigo should go the way of the bad mnemonic for the resistor color code.

      1. Apologies. It’s my Scots ancestry. We have a certain disregard for relics of British imperialism.

        BTW nice Silicon Graphics reachback.

        BTW2 I tried to build the spectrophotometer in an ancient Scientific American article using a diffraction grating. This project is a like easier. I may give it a go for G&G.

  2. Pretty dang nice project. This s a good platform for “next steps” on the instrument. How about a dual path? Use one light source and two detectors. One path goes through the sample and one does not. Then you subtract the two signals. This eliminates any light fluctuations or noise because it is present in both beams and subtracts to zero. You can also put a sample holder in each path. One with sample and solvent, one with solvent only.

    Differential detection like this is a really powerful tool. If you only have one ADC available, you can use a 50 cent op-amp to subtract in analog before the ADC.

    Hmmm. What else could one do? Ah, use a reflection grating (or a holographic transmission grating – cheap and nearly as good) instead of a prism. Then there is no optical element absorbing some wavelengths more than others and you can work in the UV without a quartz prism and the IR without a salt prism. I gotta fix my 3D printer and make this :-)

  3. If you don’t have a prism, you can use a diffraction grating, like a DVD that’s been cleaned of its top layer ink, as it has a regular pattern cut into it for guiding the writing laser during burning.
    I’ve made a spectrophotometer this way. (I used a linear CCD array I swiped from a broken flatbed scanner, set at the right distance from the diffraction grating to span the light divergence.)
    It didn’t work very well, but it did work better than no spectrophotometer at all.

  4. For this to be really useful you would need to be able to extend the spectrum of the light to the ultraviolet spectrum and use quartz cuvettes. As a proof of concept this is really nice though. You might even be able do do some quantitative work (concentratiom) with it , but I doubt it will be possible to do qualitative work (identification of substances) with it.

  5. I’ve been wanting to make a colour comparator for swimming pool test strips. I don’t know if it is just me, but I struggle to decide whether the pH strip is this shade of yellow or that shade of brown, or in between. Having something that does a comparison to the reference colours for me would be awesome. Connect it via bluetooth to your phone, and it can make suggested dosage calculations to bring the pool water back into range, as well as tracking the data over a period of time.
    Interesting that a filament bulb would be necessary to get accurate colour indications.

    1. For that use a liquid pH indicator would be more suitable than the test strips. Decades ago we had this, with translucent reference patches beside. But for electronic measurement I would use an electronic pH electrode. Although versions with an interface are probably more expensive than a self contained pH stick with an LCD display for € 7,75 from Aliexpress.
      The filament is just the easiest solution. A white LED (delivers mostly blue and yellow) combined with a green and a red one and perhaps UV should work. You do not need a flat spectrum as you have to do a calibration anyway.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.