ramanPi - Raman Spectrometer

The open source 3D Printable Raman Spectrometer using a RaspberryPi and easy to find off the shelf components..

Similar projects worth following
The ORIGINAL open source 3D Printable Raman Spectrometer that uses a raspberryPi, a really bright laser and some parts you can grab from your favorite suppliers..!

1. Make it Open.. Everything.. All of it..
2. Make it 3D Printable.
3. Make it modular and easy to upgrade.
4. Make it as easy to build as possible.
5. Make it easy to customize and open to improvement.
6. Use only commonly available off the shelf components whenever possible.
7. Have a remote interface that will allow it to be controlled and viewed from anywhere.
8. Compare the spectra to the online internet spectral databases.
9. Provide the capability to log data to remote databases, share with friends and colleagues..
10. Not be just another open source spectrometer..
11. Make it easy to use and intuitive.
12. Make it attractive with an elegant design..
13. Make it useful and just cool to have!

Welcome to the project page for the ramanPi! The ramanPi is a raman spectrometer that I decided to build back in April of 2014 because I needed one for another project and could not afford the tens of thousands of dollars a commercial product costs...and there are no DIY or open source systems in existence until now. I knew nothing about spectroscopy, let alone raman spectroscopy back then and everything here documents my learning process towards my goal.....A fully functional, and fairly high resolution raman spectrometer. When I started this project, I had wildly different ideas about how I was going to achieve my goal. The project logs begin very early in my design process and document how I changed my approach and what led to the form it is taking now. In the process of designing this system, and participating in TheHackadayPrize, I have learned a great deal.. Not just about spectroscopy and how raman systems work, but about how important it is to share your work with contribute to the community and help others learn as well. Before I started this project, I had no idea I would later join the contest. I had started to post my project once...then deleted it because I didn't think anyone would be interested. I decided to post it after speaking to a friend who convinced me to go through with it. It wasn't long until Mike S. here at hackaday contacted me to do a Hacker Bio...apparently the first of it's kind on hackaday..! Of course I was interested and very grateful...Mike encouraged me to go further and really convinced me that this is important and sharing benefits everyone.. Boy did I learn how true that is.. In the journey so far, I have learned a tremendous amount, people have been wonderfully supportive and have offered some terrific advice! I want to thank everyone for everything! This is my first project that I've shared publicly, and I have not looked back..It's been one of the greatest experiences I've had the honor of to date.. I am determined to finish this project and make it the best it can be, because everyone has been so supportive and the interest it has generated has made me want to make it better..! Thank you to everyone who has been so great.!!

Be sure to check out the bio that did on me!!

ST Micro gave me a shoutout on their Facebook page!

The great people over at did a wonderful article on ramanPi!

Some kind words from the folks at too!

Thanks to Elecia and Chris White at for the great podcast interview!

Follow me on twitter too! I'll be tweeting on gitHub updates as well as from here!

Index of Instructions and Informational project logs:

THP Semifinals Video

You can also view the project log with this video that includes a full transcript HERE ...

THP Finals Video

A bench top, raman spectrometer constructed from very easy to source components and 3D parts printable on even entry level printers. My system is a completely unique innovative design in the world of raman spectroscopy and has many advantages beyond the fact it can be constructed for a tiny fraction of the cost of a used commercial system, which can cost tens of thousands of dollars! My system connects to multiple internet databases to retrieve spectral data to identify chemical compounds under test. It is completely scalable to fit almost any budget... Many of the components can be used for other purposes outside this system or project. It presents a great learning experience for anyone who is interested in electronics, science, physics, lasers, chemistry, and so on..!

Artists Rendition:

A description from Omega Filters ( ) Describes raman spectroscopy as follows;

Raman spectroscopy provides valuable structural information about materials. When laser light is incident upon a sample, a small percentage of the scattered light may be shifted in frequency. The frequency shift of the Raman scattered light is directly related to the structural properties of the material. A Raman spectrum provides a "fingerprint" that is unique to the material. Raman spectroscopy is employed in many applications including mineralogy, pharmacology, corrosion studies, analysis of semiconductors and catalysts, in situ measurements on biological systems, and even single molecule detection. Applications will continue to increase rapidly along with further improvements in the technology. A Raman signature provides positive material identification of unknown specimens to a degree that is unmatched by other spectroscopy's. Raman spectroscopy presents demanding requirements for the detection and resolution of narrow-bands of light with very low intensity and minimal frequency shift relative to the source.

Raman spectroscopy is something very cool to behold, and imagine.. The idea that shining a light on a sample will yield data as to its composition and vibrational state is nothing short of amazing.. And this open source system delivers all of that within reach of whomever wants it now.. Something that was not possible before.

Imagine the keyboard in front of you... It is made of several's probably plastic, some metal, some silicon, and so on... Now imagine a glass of water, a tasty beverage or your favorite soft drink.. So now let's ask what's in that probably know there's a bit of water, and a lot of other components.. What if you look at that tasty beverage, and want to find out what chemical compounds are in it.. So take a sample of it, and put it into a 'cuvette' which is a fancy tiny test tube of sorts.. Then insert that into our Raman Spectrometer.. Then run an analysis on it and bam! You can see that your tasty beverage has C2H6O, carbon dioxide, water, etc..

Ethanol Spectra

Use it to determine any number of things.. Sort your sand collection based on the composition of silica (SiO2) and other materials(meant as a joke but you could if you really wanted to)! Or determine what kind of plastic or metal or ceramic or glue was used to make something... How fresh is your food? What happens to this material when I do this? Do a before and after analysis and find the raman shift!

You!! And literally everyone.. Schools, teachers, small businesses, hackers, hackerspaces, research scientists, chemists, biologists, cancer researchers, STEM advocates, average citizens who want to test their water, people who are interested in finding things out like what is in your favorite energy drink....people who have a taste for learning and experiencing the world! This is literally a tool that every hacker and hackerspace should have..

A lot can be said in this section... I'll boil it down to this... Basically, it works by shining a really bright laser through some optics to focus down to a sample...That laser light then hits the sample, and depending on the molecules it hits, and what they're doing...the light can be shifted up or down in color.. Some of that light, and some of the laser light is reflected back into the optics and is reflected through a couple of filters that removes the laser light completely..leaving only the shifted light from the sample.. That light is bounced off of a 'diffraction grating' which is sorta like a prism.. The light is separated and projected onto a camera(ccd) which takes an 'image' of the spectra. The computer analyzes that and compares it to a couple of online databases, then comes back and tells you what's in your tasty beverage on a very easy to read and intuitive interface!

Lasers + tasty beverages =

This entire process 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 the minimal cost of a little extra computing time.

Start off by putting a sample in the cuvette.. Insert the cuvette into the DIY 3D Printable Raman Spectrometer, run the analysis.....the data is retrieved from the internet spectral databases, a match is found...that match is displayed on the users remote terminal... You can store that data in an external database, share it online, or do what you please with it..

An early laser alignment test.

The majority of the raman portion of the system. Includes the laser emitter, mirror, shutter, splitter, objective lens, and filter wheel assembly.. Missing are the spectrometer and beam dump.

The actual raman portion of the system.

The following is what happens at each point in the optical system.

1. The laser emits a 532nm (green) beam of light.

2. The 532nm Pass Filter only allows the 532nm (green) light to pass, and filters out anything else.

3. The Cube Beam Splitter passes half of the light on to the Objective Lens, and the other half into the Beam Dump.

4. The Objective Lens focuses the light down to a tiny point in the sample.

5. The light in the sample interacts with the molecules, and depending on vibrations, bond angles, etc. the light is shifted from 532nm (green) to other colors/frequencies.

6. Some of the shifted light and a lot of the original laser light is reflected back into the Objective Lens and is collimated back to the Cube Beam Splitter.

7. The Cube Beam Splitter reflects half of the light to the Filter Assembly and half back into the laser.

8. The Filter Assembly contains two Edge Filters which block the 532nm (green) laser light and allow the other colors to pass. Since this is a low cost system, two edge filters are used instead of one Notch Filter...and so two separate exposures are taken and the images are stacked.

9. The Vertical Aperture (slit) controls the amount of light that enters the spectrometer section, and is a determining factor in spectral resolution.

10. The light from the slit is reflected off the Collimating Mirror on its way to the Diffraction Grating.

11. The Diffraction Grating acts like a Prism and divides the light into separate colors. Since the light originated as 532nm (green), and the shift is typically fairly minor, this light may be close to the original color...but also may be red (lower frequency) or even blue (higher frequency).

12. The light reflected from the Diffraction Grating is reflected by the Imaging or Focusing Mirror onto the Detector Array..

13. The spectra derived from the above process is reflected by the Imaging Mirror onto the CCD Array where it is captured by the raspberryPi for processing.. One image is taken with the first Edge Filter, then another exposure with the next Edge Filter and then some software to stack the images is used together along with some signal processing and possibly multiple exposures to gain as much brightness as possible so the computer can correctly analyze the spectra...

Originally I started out with a different configuration for mounting the optics. Since then, I decided to go with a much better solution where the optics are enclosed in a contiguous structure that eliminates stray beams and keeps ambient light out. It is also easier to set up, and should stay aligned longer in addtion to being more shock resistant and will reduce resonance.. The system is comprised of a number of individual modules, most of which are based around the optics listed above.

The spectrometer portion uses the Crossed Czerny-Turner Configuration shown below.

Crossed Czerny-Turner

The full system with spectrometer installed.. These parts were all designed using openSCAD and printed in ABS on a daVinci 1.0 3D Printer. This section of the project contains the optics as described above in the optics section. To print them, it requires about 1800grams of filament and several days.

Here without the laser and the spectrometer..

The parts that make up the filter selector assembly..

The filter selector assembly with the front removed..

A closeup of the inside of the spectrometer.. The fins are light baffles that keep reflections inside the device to a minimum.

Another closeup detailing the collimating mirror mount inside the spectrometer..

A view from the outside... The whole thing fits in a Prodigy mini ITX case by BitFenix..

The electronics are centered around a raspberryPi. There are three microcontrollers tied to the raspi through rs-232.. The controlBoard, the interfaceBoard and the imagingBoard.. The controlBoard is also tied to the power control board... and at this time, the imagingBoard and the interfaceBoard may be living on the same PCB..

All three boards are based on the ST Microelectronics Nucleo F401RE STM32F401RE MCU and fit into what used to be hard drive trays that slide into the case..using a 3D printed adapter..

The Nucleo F401RE is just one of many platforms supported by mBed.. The boards shown below are prototypes, I'll be publishing the Eagle files for the new boards when I get the bugs worked out with these..

I am using the mBed online IDE to program them.. Say what you will, it works great.. gitHub to firmware..


Schematics, board information and firmware can be found here.

More can be found here.

  • Power Relay for Laser
  • TTL Control for Laser
  • Monitor Temperature for Laser using DS18B20 sensor
  • BMP180 Barometric Pressure Sensor for integration into compensations
  • HIH-4030 Humidity Sensor also for integration into compensations
  • Control L298 HBridge for Heating/Cooling of peltiers on CCD Array and Cuvette
  • PID Monitor and control Cuvette temperature using DS18B20 and L298 HBridge
  • Monitor current draw from peltiers on CCD Array and Cuvette using ACS712 current sensor
  • Control Beam Shutter using a standard 9gram hobby servo
  • Detect Laser Good (verify beam is reaching destination) using a TEMT6000 ambient light sensor
  • Open and close Cuvette Tray using stepper motors driven by ULN2003, with optical end stops
  • Rotate Filter Wheel Assembly to change from 522nmSP to 550nmLP filters using ULN2003
  • Detect Filter Wheel Assembly position using rotary encoder
  • Monitor Cuvette Holder for presence of cuvette in tray using a optical proximity sensor

Board information and schematics can be found here.

  • Accepts power from main power supply and distributed it to other boards
  • Contains the L298 HBridge for the imaging and cuvette peltiers
  • Current Sensor monitors peltier current draw

Schematics, board information and firmware can be found here.

  • Arduino Pro Mini (for Adafruit RGB LED Ring which animates depending on activity)
  • ILI9341 2.2" TFT LCD Color Display
  • Capacitive Touch Panel with 12 'Buttons' using MPR121 touch controller
  • Displays system status and mini control interface
  • Accepts user input to open/close cuvette tray, etc..
  • LED Ring provides feedback regarding status, etc..

Current Schematics, Firmware and other details for the imagingBoard can be found in the project log located HERE.....or in the gitHub repository..

imagingBoard main board schematic

imagingBoard_ccd board schematic..

Schematics, board information and firmware can be found here.

  • Controls Toshiba TCD1304DG Linear CCD
  • Monitors Linear CCD Detector Array Temperature via DS18b20 temperature sensor
  • Monitors UV index and IR with a SI1145 UV Index Sensor to detect fluorescence and IR.
  • *Might, at least in future update control the Linear CCD sliding, which can be used to increase resolution.
  • Transmits CCD data to raspberryPi for processing

I will start by saying, there is no secret sauce to this project.. I am committed to sharing every detail of how this project works, how to build it and how to get it working...and hopefully how to modify it to suit your needs!

The entire system is based on a raspberryPi.. And uses 4 microcontrollers to accomplish its tasks.

Firmware for the controlBoard, interfaceBoard and the imagingBoard can be found either on the gitHub repo or directly at the site...




The open source hardware information:

The open source software and library information:

For a more readable version of this, check the gitHub location.. I tried forever to figure out how to get this information on here in a readable format, but there just doesn't seem to be any way..

The device firmware for the controlBoard, interfaceBoard and imagingBoard are located in the gitHub under software and are in 4 formats..Three of which are zip files.. There are the actual C++ files and then the exports from the online compiler...which you should be able to import and compile without issue.. There is the Keil uVision4 .zip file, the mBed online IDE (mBed Tools) .zip file, and the zip archive (With Repositories) version.. As soon as I have some worthwhile code to share, I will start putting the pre-comiled .bin files on gitHub as well...that way you can just drag and drop them to your Nucleo board without concern..

The software consists of a server application that runs on the raspberryPi, the client software that runs on the remote machine you are using to perform tasks and view the spectra, and the firmware for the microcontrollers if you count that.. Above it the first version of the client software for the remote is written in python and uses PyQt4 for the interface..It also uses matplotlib and numpy to plot the spectra.. It also uses the API for posting the data to the internet for sharing... There will be a large amount of development with this soon.. Accessing the RRUFF online raman spectral database is coming, and many other features.. Since it's written in python, and uses PyQT4... it runs in linux and windows both.. Happy about that too..

Here's the view of the same spectra shown above..this time from a web browser, which could be on your phone (I've tested it, works great), chromebook, tablet or whatever... This is something I wanted to include from day one..I'm very excited I was able to get this done so well. I plan on expanding to other data sharing sites too...

So, the process is pretty well explained 'the process'.... But basically, the server software on the raspi doesn't really have a gui... it just runs and does what it needs to do.. The client connects via the IP decide to take a you put your sample in..move over to your client 'get sample' it send a command to the raspberryPi across the network...the raspberryPi send various commands to the microcontrollers and begins the process of taking a sample... it might need to take several images, and process them, etc.... then it crunches some data... and sends it to your client.. now, before you clicked get sample.. the raspberryPi determined if you are on a PC or some other device... if you're on a PC it just spits the regular spectra to you and your client software goes out and does the spectral search through the databases, etc.. and obtains its match and displays it to you, etc... if you're on a less powerful device, say a smart phone.. the raspberryPi does the search and crunching, comparisons, etc. itself and spits out the resulting match to you...and a graph.. How is that for simple?

Connectedness might be a subjective term.....but ramanPi meets or beats any expectation in this department... Being connected to the internet is central to the system.. Without internet access, ramanPi would not be able to identify the compounds under test as maintaining a local spectral database is hardly short of insanity. ramanPi also isn't a standalone requires a workstation with client software which displays the spectra, etc.. In short, ramanPi is a lab instrument that analyzes samples of compounds in cuvettes inserted into the system through the cuvette tray...ramanPi can take commands through the integrated touch panel and display to do certain things like open and close the cuvette tray, configure some items, show system status, etc.. A remote workstation running the client software connects to ramanPi through the network and requests that it start the analysis, or a number of other tasks..the remote workstation is ultimately where the spectra is can also send that data to to share it on the internet either from the workstation or a smart phone or other portable device.. You can also configure ramanPi to tweet your latest data when you're done! If you're looking at ramanPi in the IoT (internet of things) perspective... then set up the system with a flow cuvette and set up a job to do a periodic sample of your homes incoming water supply, and then have it post that data to twitter and when it detects abnormal levels of dangerous compounds! There's a ton of applications where you could configure ramanPi to monitor dangerous levels of certain compounds and alert about a text message or email when your home brew is just right or has gone bad!?!?!

Please read more about how raman spectroscopy and this system works!

Read more »

  • 1 × Raspberry Pi Model B+ 512MB RAM $39.95ea Adafruit Product ID: 1914
  • 1 × ARM Nucleo Board STM32F4 STM32F401RE 512K $10.33ea Mouser Part Numer:511-NUCLEO-F401RE
  • 1 × Tosbia TCD1304DG Linear CCD Array Detector $14.99ea eBay
  • 3 × Black Plastic 3D Printer Filament Cartridge (I used an XYZ daVinci v1.0 - 1.75mm 600grams per cartridge) $28.00ea Amazon
  • 1 × Set of ramanPi PCB Kit (3x prototype boards, some solder and a long weekend) $TBD - Probably around $20ea

View all 77 components

  • ramanPi is ON HOLD

    fl@C@03/02/2018 at 02:36 1 comment

    I just wanted to drop an update..                                        Thursday, March 1, 2018

    In case everyone didn't already notice....   My efforts for ramanPi are currently on hold.  =D

    I will be returning to the project once I have completed a number of other milestones in larger project(s).  When I return my efforts toward ramanPi, I will be completely redesigning the optics, electronics and software.  I still have a need for an inexpensive raman spectrometer, so this will happen.  

    If anyone would like to take a leading role in coordinating other developers, etc. in the interim....please let me know and we can talk about how that might there still seems to be a lot of interest int this project..

    Also, I want to take this moment for the people who either haven't read thoroughly through this project, it's logs, etc..  This project is listed as 'work in progress'....meaning it is not a fully functioning raman spectrometer as yet.  Much development is still required.  If you want a completely functional raman spectrometer of this nature,  I'll urge you to contribute to this project!  



  • moar of the things

    fl@C@03/10/2017 at 08:08 2 comments

    So, I thought I'd throw a couple of these in for inspiration.... I'm really enjoying Fusion360... Anyone interested in helping with creating these?

    This is the beamSplitterAssembly reborn into a simpler, and easier to print design.. No more of that tiny little carriage for the cube, this one is much more robust and a way simpler design..

  • And...I'm feeling productive..

    fl@C@03/09/2017 at 07:53 0 comments

    And, so the beginnings of the new beam splitter assembly... I'm enjoying fusion 360 so far.. Took me a minute to get the hang of it, but I'm progressing...

    So, again...comments, questions are all welcome!

  • First new part - a new objectiveLensMount!

    fl@C@03/09/2017 at 04:44 0 comments

    Well, here it is...! A new start and a new part... I'll be adding these parts to the gitLab Repo as I finish them.. If you'd like to contribute to the creation, let me know through a DM here! The collaborative features of fusion 360 should make it pretty easy.. As always, questions or comments are welcome!

  • Moving On...

    fl@C@03/08/2017 at 23:23 0 comments

    Ok, the gitlab repository has started ( ).. I'm basically giving up on the website for I don't have the time to try to keep it from the constant bot attacks or whatever...

    So, this brings me to the next point... I'm going to be starting an updated version of ramanPi in the new gitlab repo. I am interested in everyone's opinion on this, so if you have any.....let me know here...asap!

    The new design will be created in Autodesk Fusion 360. The releases will be housed in the gitlab repo, and collaboration will be through fusion360.. If you'd like to get in on it from the start, now is the time! I have a TON of people who've wanted to join the dev team through this website... I'm going to approve them all... If you are still interested, let me know through a DM here, same goes if you're not interested anymore..

    Optics will be fairly similar, electronics are going to be majorly different (and I am going to take my time this time, not being rushed with a contest)... and hopefully, the whole thing benefits from better design software, more expertise, more experience, more care and time taken, etc...etc..

    Let's get going, finally... I've had a few failed starts...but my plate is clear now...Proof is in the pudding.. =D

  • gitHub vs. gitLab and other exciting news.

    fl@C@10/12/2016 at 01:01 0 comments

    I'm thinking about moving the repo from gitHub...and over to gitLab.. GitLab seems to be a lot better suited to what I'm trying to accomplish.. I'll probably keep gitHub there, and maybe update it with major updates or at certain intervals...but it won't be the repository that gets the regular pushes, etc.. Any questions or comments about that are welcome!

    Also......I am directing some efforts towards a redesign of the electronics in ramanPi... Meaning the four boards (interface, control, imaging, and power boards) will narrowed down to a single board....and that board will have a connector for a raspberryPi zero to sit on... I haven't gone through the specifics of how the zero will connect completely since there's the business with the USB, etc. to deal with in order to get wifi/networking....but the significant cost savings warrants a close look...this redesign is an effort to cut costs and that's exciting news.. is on it's way back to life, thanks to some help from a generous web developer! Looks like the bot attacks are no longer an it's just back to business..!

  • MagPi Issue 50 - ramanPi is #7 !

    fl@C@09/30/2016 at 11:13 0 comments

    So, to my amazement...ramanPi is reaching more and more people... this time it looks like the great people over at Raspberry Pi's MagPi magazine included ramanPi in it's "Top 20 RaspberryPi Projects" and the "MagPi Issue 50 - Top 50 Raspberry Projects".. And a while ago they wrote a great bit on ramanPi in their blog..!

    Thanks to them, and everyone for everything..!

  • Update.

    fl@C@05/08/2016 at 17:42 6 comments

    So.. I figured I'd consolidate the last few logs into this one to make it easier to follow what's going on...

    Hackers.. I moved over to a new host...and it's helped with reliability... But it hasn't stopped the 1,004 malicious login attempts and constant bot traffic trying to overwhelm the site.. I don't have the resources, time or whatever to spend on mitigating the constant attacks...

    Soo..... Basically, as a result.. I can't seem to recover anyone's email addresses, etc. If you were interested in developing, or were participating... Contact me here, I know a lot of people have..and I'm trying to keep up.. I'll get to you soon! But I'm thinking of just forming the 'team' here at to make life easier. It's not as organized, and a little restrictive...but it's here.

    So, hopefully some of you see this..and so on... Here's to picking up where we left off... :D I'll try to update here with what I can..

  • ramanPi and 3D Printing for the Citizen Scientist @localMotors

    fl@C@05/08/2015 at 15:26 0 comments

    Hey, short notice... But if you're going to be in the Phoenix area the week of the 14th, I will be in town at Local Motors to talk about ramanPi and 3D Printing for the Citizen Scientist..!

    Hopefully I can put up a video of the talk after if you missed out and are still interested!

    PM me if you're interested in more details!

  • Developer Developments

    fl@C@04/28/2015 at 23:04 0 comments

    So, it's been a great past couple weeks! I have had some really talented and incredibly smart people contact me and offer their help to contribute to ramanPi..!! I'm very excited about where this is going and I think by the end of it, we will have a very good system.

    We have a couple Python gurus, one of which has both PyQt4 and signal processing experience as well as being an electrical engineer with FPGA skills. Another being skilled with the various libraries we'll be using in addition to a multitude of programming languages and has a Masters in Physics. There's a couple people who have some in depth knowledge and experience with optics and lasers as well as raman systems, both in usage and design.. Another who is very skilled with FPGA design and will make the difference for the imagingBoard.. All of these people are being very gracious in offering their time, experience, knowledge and skills to work together to bring ramanPi to the next level and make it a system that can be used for serious science in the school, in the lab or at home!

    I'd really like to take a moment and thank everyone for all of this.. It's going to be very exciting!

    If you're interested in contributing as well, you can contact me at!

View all 88 project logs

  • 1
    Step 1

    Below is a list of build instruction logs that will instruct you on how to go all the way from sourcing your components to printing the parts, and constructing your very own raman spectrometer!

    To begin, you will need some tools..  Pretty much every section requires similar tools.  If a section requires a special tool not listed here, it will state that and show you which tool is appropriate.

    Tools Required:

    • 1. Needle Nosed Pliers
    • 2. 1.5mm Hex Driver
    • 3. 5/16 Hex Driver
    • 4. Philips Screw Driver
    • 5. Precision Tweezers
    • 6. Nitrile Gloves
    • 7. Cotton Gloves
    • 8. KimTech KimWipes

    3D Printed Part Guidelines:

    Printing the 3D Printable parts will take you probably about a week. The spectrometer portion alone took about 15 hours on my XYZ daVinci 1.0 printer.. The 5.25" Drive tray takes about 10, and most of the other parts are about 6 or 8 hours.. Print in high enough quality to make sure the parts end up solid enough that they won't crumble in your hands..use 30-50% density... Supports are a good idea and the spectrometer really should be printed with the inside facing the floor. I managed well with .2mm height, you might want to try .1 or whichever is best for your printer. All the parts have been designed for use with ABS plastic and I would recommend using black ABS filament.  For parts with beam paths, I am investigating different ways to coat the interior for reduction in reflections, etc. For now, if you like you can coat them with a flat black paint..this will help keep the noise floor down.

    All of the 3D Printable objects are located in the gitHub repository.  They have been created with openSCAD and can be modified, etc.  You can view the .STL files and you can download and edit / modify the .SCAD files as well.  

    Sections You Will Be Building and Configuring:

    Following Instructions:

    Each section of the raman spectrometer system is divided into separate build logs to make it easier to find a section and keep the flow.  You'll see each section has a "LET'S BUILD IT" graphic..

    You can click on that and it will take you to the appropriate instructional build log associated with that section!  At the end of the instructional build log, there will be a link to return here...or you can just close the tab and this tab should be here waiting!

  • 2
    Step 2

    Section: 1

    A Completed objectiveLens Mount

    Components Required:

    Click on the graphic above to open a new tab with instructions on how to build your objectiveLens Mount!

  • 3
    Step 3

    Section: 2

    A completed beamSplitter Assembly

    Components Required:

    Click on the graphic above to open a new tab with instructions on how to build your beamSplitter Assembly!

View all 13 instructions

Enjoy this project?



reinhard.enne wrote 10/26/2021 at 18:54 point

Hi, it seems that not much is happening since a while at this project. Is it finished?
I tried to replicate the spectrometer by slicing the stl files, but I was unhappy with the optical path: the focussing point was far before the sensor and fixing it by taking the hand-milling device as not successfull (too less headroom to adjust the big mirror). So I made my own spectrometer design from scratch (but tightly inspired by the original) by using freecad. This one seems to work better. Moreover it is possible to rotate the grating from outside. Now I'd like to go further, and a lot of questions came up.

For example there are some hints to put a lense which focusses the light onto the spectrometer slit, but I canot find any lens mount. Was this idea dropped, and the microscope objective is used tor that?

Might it be possible to use one of the (reflective) 532nm-noth filters to bring the scattered light to the spectrometer instead of the mirror cube?


  Are you sure? yes | no

arthur_jordan05 wrote 01/01/2021 at 14:26 point

Obtaining those raman filters is a pain an therefore I wonder whether you could just attach a self-built linear ccd-based spectrometer and cover the spectral line where the laser wavelength is projected on the ccd with a delicate line of really black paint (black 3.0). Can't you get around the need for an unaffordable notch or edge filter this way? Somebody certainly had that that idea before since it's so simple but I've never seen an answer why this should not be possible...

  Are you sure? yes | no

A. M. Aitken wrote 01/07/2021 at 21:29 point

The problem isn't a strong beam hitting the CCD, so much as a small amount of that beam having been scattered everywhere by the grating.  So the faint signal now has a high background and also potentially ghost lines (without a holographic grating).

You typically want 4 to 6 OD, a single grating with no filter might have more than 1% of stray light.  It can work, but it's not ideal.

For a 532nm laser, a Schott OG550 filter is supposed to work pretty well as a blocking filter.  These are not dichroic and they cut off a bit of the spectrum, but they are cheap.

  Are you sure? yes | no

arthur_jordan05 wrote 01/08/2021 at 14:17 point

thank you for the explanation! Totally makes sense. Interestingly, notch filters for 532nm, albeit not very narrow and strong ones seem to be quite cheap and common. 

I've ordered some here

Seen some different listings on ebay too. What if two of those are used in series? I'll do some experiments as soon as they arrive...

Did anyone try those out?

Also planning to play around with 785nm.

  Are you sure? yes | no

frank.beissel wrote 07/01/2018 at 00:33 point

Where is this project at now? What help is needed to get it to the next stage?

  Are you sure? yes | no

Andriy lut wrote 11/15/2017 at 03:51 point

 I was wondering if this would be possible for community college. I go to school in Boston

  Are you sure? yes | no

ray.dubeau wrote 03/22/2017 at 17:19 point


In the process of having the components from the original project 3D printed.  Ran into some inconsistencies with the scad and stl files.  With minor revisions was able to get all of the components except the laserShutterBypass.  There isn't a cad or stl on the project for this component.  Perhaps someone has this file.  Will proceed as much as possible and keep everyone updated on my progress.  Would like to hear of other experiences with building this project.

Regards, Ray

  Are you sure? yes | no

chandan61 wrote 01/12/2017 at 18:04 point


Can I control this system with smartphone

  Are you sure? yes | no

boris wrote 12/02/2016 at 11:08 point

Hi all,

I have a question about the microscope objective: is it an infinity corrected or for 165 mm tube.



  Are you sure? yes | no

Simon wrote 10/31/2016 at 09:14 point

Hello all

Does anybody have one set of boards for sale? If yes contact me on PM.

Regards, Simon

  Are you sure? yes | no

Jeremy Reeve wrote 08/28/2016 at 21:38 point

Hi!  I've tried to contact fl@c@ but no joy.  I have quite a few of the components and I'm looking at eventually modelling the whole system in goptical to make it easy to fit to components that people either already have or are readily/cheaply available.  Anyway, I'm busy with other work currently but any clues on contacting fl@c@ would be most welcome.

  Are you sure? yes | no

fl@C@ wrote 10/12/2016 at 01:03 point

Hey Jeremy..  Hopefully you got my email!  Sorry I've been out of the loop recently.. But now I'm back.. :D

  Are you sure? yes | no

Simon wrote 08/18/2016 at 15:18 point

I would like to build this device. Is there any possibility to make a direct contact with you fl@c@? What is the status of project in this moment (August 2016)? 

Thank you regarding your work on this project and shearing this knowledge with us.

  Are you sure? yes | no

fl@C@ wrote 10/12/2016 at 01:04 point

Hey Simon, sure thing..!  PM me here on the and I'll answer whatever you need!

  Are you sure? yes | no

evergladesmammals wrote 07/14/2016 at 16:02 point

OUTSTANDING! Congratulations on such an ambitious achievement. Thank you so much for sharing your hard work with everyone.  I'm a perpetually underfunded ecologist and I could only dream of having a spectrometer such as this. I have my hands full right now but later this year I will start building your Raman Spectrometer one way or another. 

This is what I love about the 'maker' community - ingenuity and the can do spirit to take on challenges. I work primarily with government "biologists" that balk at the smallest of challenges, and that are utterly without the spark of imagination and ingenuity. My thanks to you and to everyone in the maker community for invigorating my imagination for what is possible. 

  Are you sure? yes | no

fl@C@ wrote 10/12/2016 at 01:10 point

Hey evergladesmammals, thank you very much!  I'd love to hear about your progress with the build!  I know what you mean, I've been told more times than I can remember that what I want to do can't be done..  I'm very happy to see the maker community break all kinds of barriers, it's exciting to see where people's imaginations and creativity take them....and if it can contribute to scientific pursuits, all the better!  Thanks for the encouragement!

  Are you sure? yes | no

Jong KIM wrote 06/22/2016 at 03:04 point

Hi, I have been learning from  your fascinating project.

I tried to visit your new site. The site seems to have some trouble in reaching for the protection from some unwanted visits. 

If you have some changes to your projects, just let us to know. ; )

  Are you sure? yes | no

fl@C@ wrote 10/12/2016 at 01:11 point

Hey Jong KIM!  Thank you....there will be plenty of changes soon!  And, the site should be back and running now....with lots of improvements pending!

  Are you sure? yes | no

Jong KIM wrote 10/14/2016 at 04:10 point

Great news! You're back.

I'm sure you will surely make wonderful contributions to the community.


  Are you sure? yes | no

Jarrah Peddie wrote 06/14/2016 at 02:07 point

This may have been mentioned before, and I don't even know if you are still using your DaVinci, but just in case. Its pretty easy to remove the stock firmware and replace it with a open source version and run it with Repetier-Host.

The control this gives you over temperatures makes printing a shitload better. The DaVinci Runs way to cold by default. I just did it on mine after running the stock firmware for ~8 months and regret not doing it sooner.

I run mine with blue painters tape now, works brilliant as long as the bed temp is around 110, much neater and less messy than gluestick or acetone slurry.

Did a further write up about it on my blog, with links to all the resources you need

Great project, Thanks!

  Are you sure? yes | no

tyler wrote 05/12/2016 at 12:31 point

hi f@lC@ I really want to make this, but im only 18 years old, so I'm going to save money to get all the equipment I should have about $1800 by the end of summer, do you know how much the total cost would be to make it I really want to, $1800 is about my budget, so could you give me an estimate. Thanks

  Are you sure? yes | no

Agnes Mindila wrote 04/20/2016 at 09:41 point

Can I buy It for my research project? if Yes how much?

  Are you sure? yes | no

esben rossel wrote 03/30/2016 at 16:03 point

Here's an application of Raman spectroscopy I've not seen before:

  Are you sure? yes | no

ifriad wrote 03/23/2016 at 06:43 point

Dear fl@C@

My name is Ihab Riad, I am an assistant prof. at the Physics department, University of Khartoum, Sudan. Recently I have initiated efforts in my department to start a workshop for the purpose of designing and building lab equipment to be made available to our undergraduate laboratories at reasonable prices.

We are motivated for this as Sudan is economically stressed and very little money is made available to research and education. 

I now came across your product an think it will be a good addition to my undergraduate laboratory and very much hope that I can soon raise money to build one here.

I am wondering if you have upgraded your system as to use FPGA. 

I would also like to point you to these products I think they can reduce the number of boards that you are using for the display and system control.  and

Do you think that you can produce some spectral data that you can compare to the data in the following database.,Cl/display=default/R060422

Cheers Ihab

  Are you sure? yes | no

Shpoople wrote 01/20/2016 at 17:56 point

It would be pretty cool if you took the actual spectrometer portion of this setup and turned it into a regular optical spectrometer that fit into a cubesat.

Also, on another note, I hope you are aware that STMicro specifically prohibits people form using their nucleo boards on a finished project. I don't actually know if that was your plan because I couldn't make it through those massive logs but just thought I'd warn you before you get into any trouble.

  Are you sure? yes | no

fl@C@ wrote 01/20/2016 at 21:22 point

Actually, that's a big part of the plan....making the spectrometer portion work as a standalone unit...and make it compatible with the Ocean Optics USB4000..  Not sure if making it fit into a cubesat is an easy task, but who knows!  

The plan also includes integrating the electronics down to a single board (imaging board excluded since that'll be on the spectrometer.)...  And STMicro has been very supportive to me, and very helpful!!  They even gave me a shout out on their facebook page a while back! ( )  But yes, I'd like to stray away from using the nucleo boads in the future.. 


  Are you sure? yes | no

satir wrote 08/12/2015 at 10:17 point


Great project!

I would like to purchase kit when it will be available for sales.



  Are you sure? yes | no

cosmobird wrote 04/09/2015 at 05:15 point

Hi fl@C@,

congratulations for almost completing your implementation. Happy to see the status of the project and great discussions. I being a part of local GNU/Linux user group, often i have presented your project to our members. Some of them understood like us. As i have already forked your source code, i hope we will contribute to achieve the design goals. 

I am  Proud about the project.

  Are you sure? yes | no

fl@C@ wrote 04/09/2015 at 05:31 point

Hey Neo..  Thanks!  And thanks for passing the word on about it!  I'd be very interested to see whatever progress you make... I'd be very happy to see comments, etc if you want to join in the forums at so other devs can be up to date too!  The fun part is just starting! :D

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates