[Charlie] has been making a DIY Spectrophotometer, and while it is a “shambling mess of information-age technology!” it is still much better than ours. Focused around an arduino, bits of lego, and a flashlight, this creative device rotates a diffraction grating (flake of compact disc) aimed at a photo resistor. As the light spectrum is passed over the sample, the photo resistor measures how much light is reflected and that data is passed back to a pc.
As nothing is as ever easy as it should be, a big problem popped up with using a servo. It was way too course, meaning the entire spectrum would be jumped over in 6 steps. A quick robbery of a gear assembly from a floppy disk drive and the motor movement was smoothed out. A little too well because 120 degrees of the servo is not quite enough to cover the entire spectrum. Oh well there is always room for improvement.
26 thoughts on “DIY Spectrophotometer”
Spelling correction: Instead of course, I think you mean coarse.
Sorry to nitpick!
Use a stepper. Problem solved.
I really like the idea. I used to do spectrum measurements for physics lab in highschool but in a simpler way.
The automation is super great. As @Hackius sais, a stepper is the better way to go. A very good solution is to get one from a scanner. It has gears which should provide excellent resolution. You can also use the calibration mechanism (the aligning part with the photo interrupter).
There is something not mentioned…. the calibration with the photo sensor (photo resistor/diode). This has a certain response curve that needs to be known and taken account.
The calibration is apparently done with the run without a sample (with just the water). The system constants (the spectrum of the light source, the absorbance of the cuvette, the sensitivity curve of the sensor) are thus compensated.
As of the low sensitivity of the sensor, consider amplification of the weak analog signal with an op-amp.
What about using a head actuator from a hard drive, with some sort of (e.g. capacitive) position feedback sensor? The circuitry could be adapted from e.g. a homemade galvo for a laser projector.
Flake of compact disc? Wtg zerocool ;-)
any idea of the accuracy of this compared to a real unit?
This is good. Been thinking about doing this kind of thing for a while, spectrophotometers are pretty expensive to buy (into the thousands, or tens of thousands). How easy do folks think it would be to use something like a CCD, so that, with the grating or prism or whatever you were using to get wavelength separation, many wavelengths could measured at once. It wouldn’t be nessesary to move anything about then.
@twopartepoxy is right. Still you would need some ccd that has no micro filters on the pixels( not a RGB one).
There are some sensors that could be useful for this, such as the TSL202. There may be others, but this one I know off.
@bogdan: How about a sensor from an LED scanner? They have very high linear resolution, have no color filter, and are sensitive across the visible spectrum. As a bonus you get a decent stepper and other goodies.
I came across this a while ago but some may find it useful. Its a cell phone based spectrophotometer.
For those with access to academic journals you can find their published version of the same work here: http://www.opticsinfobase.org/as/abstract.cfm?URI=as-64-9-256A
I used to work with Beckman Coultier spectro’s a few years back. They used off-the-shelf servos but geared them down using a pulley system that reduced their movements like 18 times. Each pulley had a tab on it so that when they all lined up (much like planets in our solar system), you knew you were “homed”. It took 3 opto sensors to look at the tabs, and if the thing was at the far end of the spectrum when it was turned off, the movement took like 45 seconds to home. :P
I really hope this person is compensating for the wildly-not-flat spectral output of the white LEDs used for the actual lighting…
@M: really useful link, some good ideas there.
it should be possible to use a similar digital camera setup to get spectral data in real time, if the software processing is fast enough, although this would just be for visible wavelengths (i assume?)
Could something like this be used as a monochromator? It could then be used for illuminating an object with only a single wavelength (or a narrow range). By taking many photos at different wavelengths and then stacking them together a hyperspectral microphotography would be possible.
@Shaddack Or harvest an actuator from a broken laptop CDROM or Zip drive.
Ought to work, due to cost and space requirements most use a small motor with position sensor which can be repurposed for this application.
Then store the data in the PIC’s memory and you have a high accuracy instrument which is very compact.
Run the motor back and forth a few times and gather data on each pass to “home in” on regions of interest.
Didn’t I read somewhere on here about a guy doing this with a surplus scanner’s linear CCD?
Using a single sensor does have the advantage that it is easy to calibrate.
Maybe someone should make one of these using a large area infrared LED as the pickup, and compare results.
It wouldn’t be a real spectrometer then. The digital camera has filters on each pixel in red green and blue and the resulting spectrum would be a mathematical approximation of colour based on the RGB values recorded. This is similar to colourimeters used for display calibration, and is nothing like a spectrometer which splits the spectrum and then records the brightness of each wavelength. The latter is far more accurate if calibrated properly.
it isn’t refraction (light bent according to wavelength) but diffraction (different wavelengths coming from the same grate, combine at different places)
@m: the thing you want is something like this:
@garbz: the grates give a spectrum that is monochromatic for each point in the spectrum, and each point of the spectrum gets recorded as its own specific pixel at the camera. as long as the rgb has enough overlap to register in-between wavelengths, it can be easily calibrated with a known light source. it is a real spectrometer, it really splits the spectrum into wavelengths.
You should look into a diffraction grating, they are cheap and should give better results than the cd.
Delicious discussion in the comments.
THIS is good HAD.
(unlike the hatefest over that poor guy’s H-bridge, sheesh)
I’m pretty sure this can only provide RELATIVE measurement rather than absolute. The photodiode or any ccd for that mater responds differently to different wavelengths of light. Scientific CCDs come with Quantum Efficiency (QE) plots of wavelength vs response used in calibration. You could calibrate with a laser of known power and wavelength as a baseline, then use filters and a white light source to calibrate the rest.
Iam sorry to say this, but this is certainly one of the worst realizations of a spectrophotometer I have ever seen. If this would have been built using LEDs of various color I would have been way more accurate. Just look at all the stray light from the unblackened walls. Come on, this would be the first thing to do when you built a photometer- get rid of stray light.
@tyco someones never used a spec…. google “split- beam” and “standard cuvet” sometime…
Thanks for the feature and for the comments. I have been looking into steppers, op amps, alternative detectors, and the like. Thanks for the advice :)
Some of the questions here I’ve discussed in my FAQ:
As for stray light, I did in fact take pains to minimize it. The images I have posted thusfar were taken to illustrate the mechanism and thus have had some of the light baffles removed. With even a few of those barriers replaced, stray light reaching the sensor becomes essentially nil:
There is a further baffle, unpictured, which covers everything between the flashlight and the slit. I also tested for stray light by misaligning the grating and comparing a run with the light source on vs. off.
I do not know why a stepper motor is being considered. A smooth rotating DC motor whose speed can be controled by changing the voltage to it with a pot would be more desireable in my opinion. It would give a constant continuous movement across the spectrum and thus a better rendition of the spectrums relative intensities.
I have always wondered if using some of the defraction grating materials from Edmund Scientific that is pretty cheap would be more desirable than a CD.
Using a broadband sensor is important. In any case knowing its response characteristics is what will enable its output spectrum’s intensity to be
adjusted flat. Knowing the sensors response curve allows each wavelenth measured to be multiplied by a correction factor to achieve a flat response.
Great effort….keep it up, and just a few thoughts that may be considered for making improvements.
Your comments reflect my thyoughts. Why not a DC motor, diffraction grating from edmund scientific, and the spects of the sensor so the rsponse curve can be normalized with coefficience or through the use of regrssion analysis to establish a correction polynominal.
But nevertheless thanks for your diy spectrometer. It is a step forward for diy.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)