Please take the Community Survey by Aug 4: your insights are critical!

Public Lab Research note

  • 11

ramanPi - The 3D Printable Raspberry Pi Raman Spectrometer

by flatCat |

flatCat was awarded the Basic Barnstar by warren for their work in this research note.

flatCat was awarded the Excessive Enthusiasm Barnstar by 31gane for their work in this research note.

ramanPi is looking for developers!!!

****If you have Python, pyQt4, matplotlib, signal processing, optics, raman spectroscopy or FPGA experience contact dev @ ramapi .org! Or go to dev . ramanPi . org and sign up to the developer forums!

What I want to do:

Build a Raman Spectrometer based on a Raspberry Pi, make it 3D Printable and customizable..

An open source 3D Printable Raman Spectrometer that uses a raspberryPi, a couple of arduino compatible ARM boards, a really bright laser and some parts you can grab from eBay, adafruit, sparkFun, Mouser, or wherever...!

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!

My attempt and results

For the most current information, please visit I keep pretty detailed logs of my progress on that site.. Please let me know if you like it! I am a semi-finalist in the hackadayPrize!

Questions and next steps

Finish it and go to space!

Why I'm interested

Because Science!!!

Here's the new 'Semifinalist' video...

There are some pictures below.. just a couple.. But there are a TON more and a LOT more information over at did a bio on me!!
ST Micro gave me a shoutout on their Facebook page!
I'll be tweeting on gitHub updates as well as from here!
The gitHub for this project Email me at flatCat1597 at gmail......

And a quick youtube video overview...

Index of Instructions and Informational project logs: Information: controlBoard Schematic and Firmware
Information: powerControlBoard Schematic
Information: imagingBoard Schematic and Firmware
Information: interfaceBoard Schematic and Firmware
Build Instruction: Objective Lens Mount
Build Instruction: Beam Splitter Assembly
Build Instruction: Laser Shutter Assembly
Build Instruction: Mirror Mount Assembly
Build Instruction: Laser Emitter Assembly
Build Instruction: Filter Selector Assembly
Build Instruction: Spectrometer
Alignment Instruction: Spectrometer
Build Instruction: Optical Assembly
Build Instruction: TFT LCD and Touch Panel

The entire unit.. TFT LCD, Touchscreen display... Neopixel 'working' indicator...Cuvette tray is on the right under the keypad...

Some pictures of the optical assembly...

full_01.png parts_04.png parts_05.png parts_06.png parts_03.png parts_01.png parts_02.png
The filter selector assembly....
filter_01.png filter_02.png
The system from the side with covers removed...
System overview..

-------- older stuff... I need to clean up here.. =)

Here are some recent (now a little older) shots of the spectrometer portion...The spectrometer can be used independently from the raman portion, if someone wishes to build just the sepctrometer... It will perform similarly to an ocean optics, etc.. I will be designing adapters for fiber, etc...and it plugs into a PC via USB...
20140910_122821_RichtoneHDR.jpg 20140910_123044_RichtoneHDR.jpg 20140910_123626_RichtoneHDR.jpg 20140910_123727_RichtoneHDR.jpg 20140910_123742_RichtoneHDR.jpg 20140910_123752_RichtoneHDR.jpg 20140910_131240_RichtoneHDR.jpg 20140910_131338_RichtoneHDR.jpg 20140910_131408_RichtoneHDR.jpg 20140910_125940_RichtoneHDR.jpg 20140910_125947_RichtoneHDR.jpg spectrometer.png spectrometer2.png veryNice_nameBrandCanolaOil_532nm_2.png veryNice_sunflowerOil_532nm.png

These are some test stands I whipped up for testing my geometry for the spectrometer...

This is the raman portion of the system...From the laser emitter on the right to the objective lens, beam splitter, etc...

A closer look, albeit incomplete view of the raman portion.. this is missing the filter selection assembly...and of course, there's no spectrometer attached either....

This is the interface controller board with the display and touch keypad...and the neopixel indicator ring..

A system overview of how things are connected..

Another more detailed, but probably a little outdated by now...

The casing for the filter selector wheel...

The raspberryPi, and the controller boards in their slots...

A test setup I used for testing the CCD and optics for the spectrometer..

The CCD Detector Array... Toshiba TCD1304 attached to an ST Nucleo F401RE which transmits the data to the raspberryPi via serial.

Inside the box, from the side..

From the top...

And a couple .gifs that show some stuff.. :)




I would love to hear any feedback or field any questions anyone has! Like I said, there is a TON more information over on my project page at

spectrometer spectrometry raman cuvette 3d-printing hackaday

barnstar:basic barnstar:excessive-enthusiasm response:11079


Wow! So awesome!!!

Thanks Warren! I'm finishing up the spectrometer parts today! I'll post some pics when I finish printing them...


Is there any way we can put this data into Spectral workbench?

Hi Matthew.. I don't see why not... It might take a slight adaptation, one that I had already considered doing anyway... using the raspiCam instead of the CCD Array... The only problem I can think of would be using Spectral Workbench on a raspberryPi.. I haven't tried very hard, but I wasn't successful last time I tried.
I plan on releasing several (about 3 or 4) versions of the spectrometer that are graduating levels of complexity... Such as the first using a raspiCam or webcam, the second using something like a photo-diode array and the third, which you see here using a CCD array.. One might also use a PC instead of a raspberryPi.. There's really no reason the spectrometer portion cannot be plugged via usb into a host PC..
In addition to that, I am taking requests... :) I want this to be as open and easy for people as possible, if anyone has suggestions, I am all ears!!

And as promised, here are a couple shots of the spectrometer progress...








I can't stop being flabbergasted at the intricacy of your creation.

Currently, CSV data can be imported into spectral workbench, so there should be some way to make it work. I wonder if the new Pi browser will fix some of the issues?

Thank you Matthew! I'm glad you appreciate it! I'm having a great time creating this thing..

If CSV data can be imported, then that should be a slam dunk. I can create an option to export to CSV no problem.. I will have to give the new browser a try.. I've been a little busy with other parts.. :)

I'd like to make a note too, I'm working on making the spectrometer portion of this work standalone too. So someone could just build that part and use it without the rest of the raman portion..

I looked around a bit but couldn't see a total price to build and maybe hours spent? Quite an amazing project.

@Kentells - I haven't quite finished yet... But I started in late June...I would hate to even think how many hours I've spent on this so far.. Let's just say, a LOT.. And probably double that by the time I'll be done. Price, since it's not totally done.......I'd have to guess about $1000 so far... but that's been my investment.. If someone else were to build one, not having to do all the research and make the same mistakes... it'd be closer to $600.. Most of that is optics, so if you can source cheaper optics than what I bought from'd be cheaper..and for a raman system - $600 is pretty cheap.. I'm also going to guess that with all the parts in front of you...including the printed could put this together in around a week of casual work..not including calibration and alignment.. ;) The spectrometer portion alone takes my daVinci 3D printer about 15 hours, set to print in high quality set on the fast speed... Thanks, I hope it gets even better with time!

Hello Real nice work,I built auto samplers for Alcott Chromatragraphy several years ago and I think you also have access to Mr Strongs of Sci America work published in articles called"The Amature Scientist",If not please check them out you will find alot of usefull info....Anyway you have built a real nice updated unit....Walter C. Hynson

Thank you! I will have to take a look at that article.. It sounds interesting..Thank you for sharing that..!
I just looked at ... Looks like they have a nice product lineup.. :) Thanks for the compliments!

Hi, this is awesome! :) I'm an atomic physicist and co-founder of the Taipei Hackerspace. We have a bunch of 3D printers here that people learned to use really well recently, and I'd like to build a little physics lab into the space - this would be a great addition, or even kickstarting piece, for that. :) I'm also working on open-hardware for research, and you guys really show that I have to step up my game. Congrats, and I'll be sure to follow this project. :)

@imrehg Hi, thanks! This is actually my first project using a 3D printer... Looks like you guys are doing some pretty cool things there! I like the synthetic aperture radar :) Sounds like we have pretty common goals.. I'm not a member of any hackerspaces, I've thought about it... but I want to develop a number of devices like this for people to use and adapt.. Unfortunately, at least for now.. there's no 'you guys' here.. lol.. It's just me working on this.. I started it for a need I had for another project..and then the hackaday prize, and the folks at hackaday inspired me to share it with the world.. =) There's a lot more detailed information at .. Thanks for the good word! I'll be sure to keep an eye on your open-hardware projects!

Hey @imrehg , great to hear from you! Did we meet back in April when i was in Taipei at OSDC? Also, do you know Muyueh and CLKao?

@flatCat that sounds like a good evolution of a project, and glad you were inspired to share it ("Do things and tell people!" is one of our motto here). So far I got great response sharing your design, people are actually really excited about scientific research even when / despite that they don't know where to start! :)

@liz it's quite possible, though can make sure next time you are in town! :) The two guys I heard of, and looks like we have a lot of common friends, but probably not yet!

Hi can you share information about raspberryPi Interconnections

Hi Peter... All of the information and documentation is located on the website... You can also find the board layouts, schematics, software, firmware and the 3d parts related files on the github repository....

Hi I could not find the information or documentation on the Interconnections between the Main raspberryPi board and with three Nucleo Board.

Can you please let me know how the three Nucleo Board is connected to the main raspberryPi board(wiring details)

Hi Peter... The main block diagram, shows it.. and some of the project logs indicate it.. and I suppose I could have indicated it better... but the nucleo boards only connect to the raspberry pi through usb (they do not draw power from the raspi, just a usb-serial link).. the only other interconnect is the reset line from the raspi to the nulceo which isn't really important yet and not necessary or implemented yet...but allows the raspi to reset each nucleo if needed...

I will make sure to update the documentation to make sure this is more clear... Thanks :)

Hi I hope the the below photo is how the nucleo boards is connected to the raspberry pi through usb


Hi Peter... Perhaps try emailing me directly... Your diagram above depicts the Nucleo's USB plugged into the HDMI of the raspberryPi B+...
I'll go with the raspi B+ since that what you show (not what I used in the ramanPi but should still work)...
Below is a diagram showing the nucleo plugged into the raspberryPi B+ via USB... raspberry-pi-B__stm32.jpg

Here is a diagram showing the connectors and their functions for the raspberryPi B+...



Sorry about the wrong connection anyway thanks for the information and regarding the Raspberry Pi as per your BOM it is Raspberry Pi Model B+ 512MB RAM

No need to be sorry! I hope I helped... Also, if you are building the ramanPi using the schematics/boards I designed....don't forget to swap the jumper on the nucleo to use external power!
Page 17/56 through 20/56 of the user manual....

Hi, Can you please let me know in Github which file has to used for 3d printing,

Thanks Peter

Hi, Can you please let me know in Github which file has to used for 3d printing as their are two folder one is 3d printable and another is 3d printble retired

Thanks Peter

Hi Peter... The 'retired' directory contains the older version that I started with.. The 3d printable folder is the current version that you see above and on the hackaday page..

This is awesome. Could anyone give me an estimate of the cost of this assuming that I have a commercial 3D printer? I see an earlier post states ~$600-$1000. Is that accurate?

@HoshiChemist Hi, thanks..! If you're building according to the current design without any mods, it'll probably cost you around that.. Depending on where you source everything and how much your filament costs, etc.. I am gearing up to make kits too, no word on prices just yet...but I'm trying to make this as convenient for people as I can..! Kits will include a new version of the boards, optics, a choice between plastic and aluminum parts for the optical paths, and a few other enhancements.. I'd love to hear feedback from anyone, or suggestions as well!


Can 3D printable component can be made from sheet metal .

Please let me know


@peter2975 - I would imagine sheet metal would be exceedingly difficult to work in these dimensions and retain the accuracy required.. Having said that, I am hoping in a couple months to be able to start offering aluminum parts and kits for ramanPi.. The aluminum parts will be cast and machined, then anodized based on the 3d models created for the printed plastic parts.. I may also later be able to offer nylon printed parts.. Check out for more details...


I am using pursa i3 printer with cura software.After printing the parts i am not getting good finish as your. I am using PLA filament

can you please share your printing settings or method to get good finish.

Regards Peter

@peter2975 I would not recommend using PLA filament... You can refer to the '3D Printed Part Guidlines' on the hackaday page at listed in the instructions for reference...
But they basically come down to the following:

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.

Hope that helps!

The links to the hackaday website are no longer functional. Does anyone know of a working website still hosting the Build Instructions?


Like Garret said a few days ago, we can't access the hackaday website anymore. Does anyone has informations about it ?

You must be logged in to comment.