Links

Monday, November 24, 2014

ramanPi: an open source 3D-printable Raman spectrometer

The 2014 Hackaday Prize offered fabulous prizes for the best exemplars of an open, clearly documented device involving connected electronics. Committed hardware hacker fl@c@ (we understand that’s pronounced “flatcat”) wasn’t in the habit of opening up their work, but had been thinking that perhaps they should, and this seemed the perfect opportunity to give it a go. They decided to make an entry of one of their current works-in-progress, a DIY Raman spectrometer based on a Raspberry Pi. The project, named ramanPi, made it to the final of the contest, and was declared fifth prize winner at the prize announcement in Munich a couple of weeks ago.

Raman spectroscopy is a molecular identification technique that, like other spectroscopic techniques, works by detecting and analysing the characteristic ways in which substances absorb and emit radiation in various regions of the electromagnetic spectrum. It relies on the phenomenon of Raman scattering, in which a tiny proportion of the light falling on a sample is absorbed and then re-emitted at a different frequency; the shift in frequency is characteristic of the structure of the material, and can be used to identify it.

The ideal molecular identification technique is sensitive (requiring only small quantities of sample), non-destructive of the sample, unambiguous, fast, and cheap; spectroscopic methods perform pretty well against all but the final criterion. This means that fl@c@’s Raman spectrometer, which uses a Raspberry Pi and 3D-printed parts together with readily available off-the-shelf components, removes an obstacle to using a very valuable technique for individuals and organisations lacking a large equipment budget.

The ramanPi uses a remote interface so that it can be viewed and controlled from anywhere. Like conventional Raman spectrometers, it uses a laser as a powerful monochromatic light source; uniquely, however, its design:

[…] is based on an open source concept that side steps the expensive optics normally required for raman spectroscopy. Ordinarily, an expensive notch filter would be used which is cost prohibitive for most average people. My system avoids this cost by using two less expensive edge filters which when combined in the correct manner provide the same benefit as the notch filter…at the minimal cost of a little extra computing time.

Once a cuvette containing the sample to be tested is loaded into the ramanPi, the laser is powered up behind a shutter and the first filter is selected while the cuvette’s temperature is stabilised. Then the shutter is disengaged and the sample exposed to laser light, and scattered light is collected, filtered and passed to a Raspberry Pi camera module for capturing and then analysis. The laser shutter is re-engaged and the process is repeated with the second filter. The Raspberry Pi combines multiple exposures into a single image and carries out further image processing to derive the sample’s Raman spectrum. Finally, the spectrum is compared with spectra in online databases, and any match found is displayed.

fl@c@ says,

I've been trying to build up the courage to share my work and ideas with the world because I think it benefits everyone. This project is my first to share, and for it to be featured here [in a Hackaday Prize Hacker bio] […] is really amazing. I appreciate this whole community, I've learned a lot from it over the years and I hope to be able to give back and contribute more soon!

We’re very glad fl@c@ did decide to share this – ramanPi is an astonishing first contribution to the open source movement, and something that’s likely to be of interest to schools, chemists, biologists, home brew enthusiasts, people who want to know what’s in their water, businesses, ecologists and the simply curious.

You can read about ramanPi in much more detail, with further videos, diagrams, discussion and build instructions, on its Hackaday project page. We hope that this is far from the last we’ll hear of this project, or of fl@c@!