DAV5 V3.01 Raman Spectrometer

The only thing worth doing, is the thing worth doing right!

Similar projects worth following
The DAV5 V3.01 Spectrometer will be the only project build here on Hackaday in its category, with ongoing, full performance and specifications documentation, this project will also be at least 85-90% 3D printed!

This project has 4 major ;

a. To build a rugged and reliable low cost spectrometer with at least 85 to 90% 3D printable parts.

b. A spectrometer capable of producing consistent and professional quality results in the field, home or Lab

c. A device with upgradeable capabilities

d. An open source instrumentation device W/CAD(CNC .stl files)/schematic/technology files with NO copyright and/or licensing agreements.

**This project will also have full professional/analytical and chemical documentation.

***This project is in NO way related to, or in anyway, conceptualized to replicate the 3D Raman-Pi project here at Hackaday.***

UPDATE 6/18/2017 5:16:PM

Stepper program for the 28YBJ-48 (stepper MTR) and degrees step
Speed is controlled by a delay between each step.
The longer the delay the slower the rotation.
That delay value is obtained by reading and analog-to-digital
cover (A0 in this case/10K trimmer POT) which gives a value from
0 to 1023.

The value is divided by 4 and add 10 for a delay
in milliseconds:delay(analogRead(0)/4 +10)

For faster speeds change 10 to say 2.

This is calculated between every step to vary speed while stepping.

I incorporated unsigned long int Val, in order read a little bit more of the AN/Map
A nice feature of unsigned int's: if a val is unsigned, then val / 4 is optimized by the compiler into a bit shift, much more efficient than the actual division you would get if val was signed.

Highlights of this code:

1) NO debouncing program
2) NO external Stepper lib

4) unsigned long int val = (analogRead('...') / 4 + 2); if a val is unsigned, then val / 4 is optimized by the compiler into a bit shift, much more efficient than the actual division you get if val was signed.

5) Push button control incorporates 2 functions per switch;

1: momentary push & release = Start/Stop
2: press & hold = Continuous operation

I have run several tests using my Atmel 1284P Development Board and the data transfer protocol is working perfectly :)

*UPDATE* 5/1/2017 11:23AM

I had to make a revision to the firmware for the ATmeg1284P driver software, it's in a zip file at Github, same link below "

I rewrote to firmware on AtmelStudio 7.0 and uploaded the files to a new repository at my Github website, so it's all nice and tidy :) Here is the repository;

*UPDATE* 4/29/2017 3:55PM

This is the development board that I use from MCUdude over at the store, not only is this thing versatile, but lets me switch between different 40 pin chips, which of course right now I am using the ATMega1284P. One in the CCD detector circuit board and here in this Dev board.

This is my board with the ATMega1284P chip;

This is my projects MISSION STATEMENT:

This is the primary motivation for doing this project from its inception over a year ago to present day, I specialize in biological pigments and dyes. This is the ultimate direction that this project will be moving toward. Nanoparticles used as bio tags for an unprecedented level for cellular targeting eliminating the need to use the conventional methods of bio staining.


*UPDATE* 3/11/2017 4:55AM

The LS-532A-laser collimation tube assembly, is my design and build. I have assigned it this nomenclature for easy identification.

Here are the three components that will be a critical part of the CCD driver circuit, so I wanted to post a general feature and description of them, starting with the AD8021 opamp (which will be used as the pre amp for the ADC (AD7667)


The AD8021 is an exceptionally high performance, high speed voltage feedback amplifier that can be used in 16-bit resolution systems. It is designed to have both low voltage and low current noise (2.1 nV/√Hz typical and 2.1 pA/√Hz typical) while operating at the lowest quiescent supply current (7 mA @ ±5 V) among today’s high speed, low noise op amps. The AD8021 operates over a wide range of supply voltages from ±2.25 V to ±12 V, as well as from single 5 V supplies, making it ideal for high speed, low power instruments. An output disable pin allows further reduction of the quiescent supply current to 1.3 mA.

*UPDATE* 3/27/2017 5:54:AM

I eliminated the MAX232EIN from the circuit equation, it cannot handle the load placed on it from the AD8021 op amp, so it is going to be replaced by the MAX660 - Switched Capacitor Voltage Converter. The MAX660 CMOS charge-pump voltage converter is a versatile unregulated switched-capacitor inverter or doubler. Operating from a wide 1.5-V to 5.5-V supply voltage, the MAX660...

Read more »

Triple Turret Grating Project files

*UPDATED: 6/19/2017 Full project files + gerber files for PCB circuit board production included for the Triple turret grating mount.

x-zip-compressed - 320.48 kB - 06/19/2017 at 08:16


8BIT CCD driver circuit

8 Bit gerber files for PCB. (8 Bit CCD driver circuit board)

x-zip-compressed - 72.66 kB - 05/26/2017 at 12:53


NEW CCD update code may3.txt

*Updated FIRMWARE for 16 bit CCD driver circuit. 5/14/2017

plain - 4.88 kB - 05/14/2017 at 08:41


fixed the two problems above in the design files. The 2-transistor isolation circuit is now on the board. The DesignSpark Project Files are now updated.

x-zip-compressed - 54.77 kB - 05/04/2017 at 10:40


1tcd1304dg data sheet apr30.pdf

This is the data sheet for the TCD1304DG CCD chip

Adobe Portable Document Format - 316.20 kB - 04/30/2017 at 23:45


View all 23 files

  • 1 × Cuvette Holder W/ Exit slit plate Dimensions; 45 X 45 X 25 mm / 3D-printed by Sculpteo
  • 1 × (2) Square Mirror Mounts 26 X 13 X 26 mm
  • 1 × Round standoff M3 Nylon 13mm
  • 1 × Round standoff M3 Brass 11mm Used for enclosure
  • 1 × Machine screw Pan head phillips M3

View all 18 components

  • PowerPoint Presentation/DAV5 V3.01 Raman Spectrometer

    David H Haffner Sr3 days ago 0 comments

    PowerPoint presentation:

    V3.01 3D printable Raman Spectrometer Updated (when available)

    *note, in this case we are bypassing the exit slit by incorporating the triple turret system which gives us absolute control over wavelength selection.

  • 1 X 4 KeyPad Matrix & LCD Display Control Console

    David H Haffner Sr6 days ago 0 comments

    This is the control console for the DAV5 V3.01 Raman spectrometer, I designed it on FreeCad v0.16. I will be having this 3d printed by Sculpteo using POM material (powdered nylon type material,) color [white] for about $107.00US, as always, all my 3d parts are manufactured by Sculpteo and I have over 236 designs uploaded to their website at my personal shop their.

    This console utilizes a 1 x 4 keypad matrix # pad, to control the functions of the diffraction grating that is mounted on the triple turret.

    Adafruit Membrane 1x4 Keypad

    This keypad has 4 buttons, and since every key has its own wire line, no matrix code is required - just treat these like every day switches. The membrane is soft and has a removable paper backing to expose a strong adhesive so you can stick this on an enclosure and feed the cable through a slot.

    Dimensions 2 x 1.2 x 0.1 inches

  • Updated Concept Design For The DAV5 V3.01 Raman 3D Printable Spectrometer

    David H Haffner Sr06/21/2017 at 13:00 0 comments

    I am completely redesigning my project out of necessity, the new triple turret grating motor addition demands it, and will facilitate a far superior performance factor. The 8 bit CCD detector may sound slower but indeed will be compensated with superior optical focal equipment.

    I still have not solved the 16 bit circuit problem and I'm just not going to mess with it any longer, so I am building the 8 bit right now. I am presenting my hand drawn sketch (not the best,) but it illustrates the concept well I think.

    I will be using a 4x4 matrix keypad alongside a 20 x 4 (yellow display,) 12c LCD. This will not only control the triple turret stepper motor but will be interfaced with the CCD data capture software (I am getting a little better at C/C++ programming now, so I am feeling more confident.)

    I hope those that read this post all the way through ( and not just "skim" the header,) will appreciate the simplicity that I have incorporated into the firmware for the turret control, because there are no external lib's needed other than the one for the LCD, and the stepper MTR control is stripped down to it's simplest functions, why? because what I found was, the most efficient method for using the controls that people have the most trouble with i.e,. Start/Stop CW/CCW Debouncing button controls ect.,

    I have no debouncing code withing the control program because I have it in the hardware and it works with the momentary switches I use, besides, I tested 3 other prototype programs utilizing debouncing with PWM and all 3 failed, my guess perhaps too many "if" and "else" statements and not enough processing power in the Mega 2560 to handle the load (just my guess.)

    When I stripped it all down to a basic framework and controlled the coils directly with a delay function everything sprang to life the way I imagined it. So if it ain't broke, I ain't gonna fix it!

    Also I could not control the stepper MTR in the manner I wished using any type of stepper lib or with any type of PWM frequency manipulation, so instead of trying to re-invent the wheel, I just made everything simple :)

    I hope I have explained my new concept enough for a clear understanding for what I am trying to accomplish, if not, please feel to discuss it with me constructive criticism is always a good thing and more people should engage in it. Your not going to hurt my feelings...Really :)

    So please check out the video I posted the other day demonstrating the turret control program and it's new functions Updated...UniPolar Stepper Motor Controller Optimized

  • Updated...UniPolar Stepper Motor Controller Optimized

    David H Haffner Sr06/18/2017 at 10:09 4 comments

    Updated 6/26/17 1:58:PM

    I updated the code significantly, I added "
    lcd.setCursor(12, 2); lcd.print(i--);" to the lines of code that control the motor coils so the current shaft position can be seen on the LCD display,

    and incorporated a pin int sensorVal[] = { digitalRead [2][3] };//SW1 pin2 & SW2 pin3

    This will illuminat LED's #10(W) and LED #12(bl) to indicate that the switches

    on HIGH. These values are then displayed on the LCD menu on line 3 as a monitor

    of the switches values.

    Note: You can see on the LCD screen that CW & CCW do not change, this is because the speed is way too high and the LCD cannot capture the characters fast enough...I think? Everything works fine when it runs at normal speed.

    Here is my code as it stands right now;

    #include <LiquidCrystal_I2C.h>

    #include <Wire.h>

    /* Program 1 REV B

    Updated 6/26/2017 @ 1:48:PM

    Code concept and project design by David H Haffner Sr.

    Stepper program for the 28YBJ-48 (stepper MTR) and ULN2003 driver

    This particular stepper motor is 5.625 degrees per step


    This is in the public domain.

    Compiled size 6196 bytes.


    #define yellow 7 // M1

    #define orange 5 // M2

    #define brown 6 // M3

    #define blue 4 // M4

    #define CW 2 //Sw1 in schematic

    #define CCW 3 //Sw2 in schematic

    unsigned long int val = (analogRead('...') / 4 + 10);

    LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address

    void setup() {

    pinMode(10, OUTPUT);// this is the LED pin10

    pinMode(12, OUTPUT);// this is for LED pin12

    digitalWrite(CW, 1); // pull up on

    digitalWrite(CCW, 1); // pull up on

    pinMode(blue, OUTPUT);

    pinMode(brown, OUTPUT);

    pinMode(orange, OUTPUT);

    pinMode(yellow, OUTPUT);

    // all coils off

    digitalWrite(blue, 0);

    digitalWrite(brown, 0);

    digitalWrite(orange, 0);

    digitalWrite(yellow, 0);

    lcd.begin(20, 4); // initialize the lcd for 20 chars 4 lines, turn on backlight

    // ------- Quick 3 blinks of backlight -------------

    for (int i = 0; i < 3; i++)







    lcd.backlight(); // finish with backlight on

    // set up the LCD's number of columns and rows:

    lcd.begin(20, 4);

    // Print a message to the LCD.


    lcd.setCursor(12, 0);


    lcd.setCursor(0, 1);

    lcd.print("Direction:");//CCW or CC

    lcd.setCursor(0, 3);

    lcd.print("V3.01 Turret Control");//4th line for version display

    lcd.setCursor(0, 2);




    void loop() {

    if (!digitalRead(CW)) {




    if (!digitalRead(CCW)) {




    //read the pushbutton value into a variable

    int sensorVal_1 = digitalRead(CW);//SW pin

    //print out the value of the pushbutton


    // Keep in mind the pullup means the pushbutton's

    // logic is inverted. It goes HIGH when it's open,

    // and LOW when it's pressed. Turn on pin 10 when the

    // button's pressed, and off when it's not:

    if (sensorVal_1 == HIGH) {

    digitalWrite(10, LOW);//LED pin

    } else {

    digitalWrite(10, HIGH);//LED pin


    //read the pushbutton value into a variable

    int sensorVal_2 = digitalRead(CCW);//SW pin

    //print out the value of the pushbutton


    // Keep in mind the pullup means the pushbutton's

    // logic is inverted. It goes HIGH when it's open,

    // and LOW when it's pressed. Turn on pin 12 when the

    // button's pressed, and off when it's not:

    if (sensorVal_2 == HIGH) {

    digitalWrite(12, LOW);//LED pin

    } else {

    digitalWrite(12, HIGH);//LED pin


    } // end loop

    void all_coils_off(void) {

    digitalWrite(blue, 0);

    digitalWrite(brown, 0);

    digitalWrite(orange, 0);

    digitalWrite(yellow, 0);


    void reverse(int i) {


    lcd.setCursor(10, 1);



    while (1) {

    digitalWrite(blue, 1);

    digitalWrite(brown, 0);

    digitalWrite(orange, 1);

    digitalWrite(yellow, 0);

    delay(analogRead('...') / 4 + 10);


    if (i < 1) break;


    lcd.setCursor(12, 2);//print out the value of the pushbutton



    digitalWrite(blue, 0);

    digitalWrite(brown, 1);

    digitalWrite(orange, 1);


    Read more »

  • Microstepping The 28YBJ-48 Stepper Motor

    David H Haffner Sr06/09/2017 at 10:44 0 comments

    Advantages of multi-grating turrets in spectrometers

    Phase I

    There are significant advantages of multi-grating turrets in spectrometers. Quite often it becomes necessary to select two or three gratings to achieve efficient light throughput over a broad spectral region. Turrets make grating changes an easy push-button or computer controlled operation, and also reduce the risk of handling the delicate gratings.
    With this upgrade to the V3.01 Raman spectrometer, I’m bringing a level of functionality to this project that may be unprecedented. Imagine a piece of lab equipment costing under $1,600.00 having the same high precision and functionality as those costing ten’s of thousands more. How is this made possible?

    Through the innovations of 3D printing and the new type of techniques and materials that can be utilized.

    In my designs, I use glass-filled Nylon for all my parts. Objects printed in glass-filled nylon are made from a mix of polyamide powder and glass beads. The surface of the material is white and slightly porous. Glass-filled Nylon is more durable and resistant than Polyamide 12. It gives you great freedom in your designs – allowing for both complex and inclosed volumes. The material is great for technical parts that need resistance and loads. The surface of glass-filled nylon is not as accurate as polyamide but it will fit the requirements of technical parts. Also it fits my budgetary needs.

    The rendering above is the grating mount

    This panels above illustrate the fully assembled grating mount and 28YBJ-48 stepper motor

    Several studies have been done evaluating both off-axis and on-axis grating rotation techniques for spectral resolution and conclusions are that, careful alignment and focusing of the total system has a more dramatic impact on performance than the grating rotation technique chosen.

    The above figure illustrates both techniques, utilizing on and off axis grating rotation.

    This is the fully assembled system within the V3.01 Raman Spectrometer

    This is the end of phase I, in phase II I will be determining several points;

    • Operation: How easy is the system to set up and operate?
    • Computer control: How easy is the instrument computer control?

  • PLX-DAQ Arduino and Excel in Windows 10/Atmega1284

    David H Haffner Sr05/30/2017 at 06:41 0 comments

    UPDATE 5/30/2017 10:06:AM

    I have just tested this program on my Atmega1284P Dev board and it works perfectly :)

    I have Excel 2016 and Windows 10, two powerful platforms in my humble opinion, well thanks to an individual named Net^Devil over at the Arduino forums, he has a very clever program that I think perhaps has in large part solved a problem for me.

    I needed an alternative way of importing my CCD data directly into Excel, his program PLX-DAQ v2 does this and is completely open sourced. I have modified the sketch of the test program which makes it a lot more stable on the Excel data side (this may not be an issue for earlier versions of windows but is for windows 10).

    Here is the PLX GUI panel opened in Excel, on my Mega 2560 my com port is 3 and my baud rate is 14400 (right now any faster and excel stops working? don’t know yet)

    The documentation is good and easy to set the program up.

    This is the random number generator program running

    All data has been imported from the Atmega 2560 into Excel, you can see the data to your left in columns A and B.

    You an see here in the zoomed in view, that it makes life a lot easier when manipulating data and constructing charts all in one shot 

    The top chart is the raw data, and the bottom chart is a zoomed in view of the data "call outs".

    This is the test code for the random # generator for the Mega 2560, I’ve added the #include <util/delay_basic.h> lib, because I needed to incorporate a few delay functions to give Excel some time to catch it’s breath. Using the demo sketch by itself Excel, at least in Windows 10 will crash, so I increased millis() delay to at least (75) and added a couple of “do nothing” cycles, and it did the trick (but only at baud 14400).

    Still all in all, this is very promising and I hope to modify it so it is adaptable to my Atmega1284P MCU…Any help out there would be greatly appreciated!

    My project moves ever forward! :)

  • Fast 8 Bit CCD Driver Circuit REV B

    David H Haffner Sr05/26/2017 at 12:46 0 comments

    I had to put the 16 bit driver circuit on hold for right now, there is an over heating problem with the ADC that I cannot solve right now, I have 2 boards made up and both have the same issue.

    So I have decided to go ahead and build the fast 8 bit drive instead because I already know that it works flawlessly, and can still read all 3648 pixels from the CCD, It reads 3694 pixels, but the first 30 and the last 16 are dark reference or dummy pixels and are discarded.

    I have already drawn the schematic using Design Spark and will post the gerber files so you can order your own PCB and build it. I am including the BOM also.

    This next set of panels are from the 16 bit driver circuit

    This was the tail end of a CFL lamp (2300K/13W) but the ADC starts to overheat and you can start to see the results on screen.

    Although the spectral image is inverted, this was the best initial capture of the CFL lamp, from left to right; the 2 most important calibration bands are the blue bands on the left, which should be at 432nm and to the right at the green band should be at 546nm this gives the best "fit," so to speak.

    This was the first scan "dark counts."

    As I stated earlier, I'll still be working on this problem, but I need my project to start moving forward and it will with the 8 bit driver and still have very good resolution because of the optics and 1800 ln/mm holographic grating I am using and Raman edge pass filter, the only difference will be digitizing a frame will take 32ms instead of 16ms.

    Other than that, there isn't too much of a real difference.

  • Atmega 2560 Triple Turret Stepper Motor Control Circuit Board

    David H Haffner Sr05/22/2017 at 07:52 2 comments

    This is REV B of my Mega 2560 stepper Motor control circuit driver control board, I had to fix the switches as they were not working properly, now they do since I debounced them, I am posting a YouTube video showing it's operation

    Below is the Arduino breadboard schematic showing the entire layout;

    Next is the Fritzing schematic;

    Here is the schematic for the LM350T voltage regulator;

    Next is an Arduino barebones breadboard layout;

    A 4 panel snapshot view;

  • *Update* V3.01 Raman Spectrometer Prototype Redesign Works!

    David H Haffner Sr05/20/2017 at 10:26 0 comments

    My next post will be the data specs for the CCD driver circuit, yes, it works...Yippie! I had to place the circuit board back in my prototype testing platform for now, until I can find an appropriate enclosure, I wanted to 3D print one but it is way to big and very expensive, unless someone has a better idea I am open to it!

  • 28BYJ-48 Stepper MTR/Triple Grating Turret Control Assembly prototype design 1(a)

    David H Haffner Sr05/11/2017 at 19:01 0 comments

    I've been working on this concept for awhile on the side for this project, it's incorporated directly into the Czerny-Turner configuration. Most of the prototype is on a 590 pin breadboard with an LCD screen (1602-C) to display data output., motor control, speed and temp ect.,

    Here is the concept below with an explanation for each panel:

    This is the voltage regulator that I am using to power the entire control circuit, it uses an LM350-T voltage regulator with an adjustable pin#1 (GRN) and a 217K resistor at pin#2 so it can be adjusted from 1.2vdc to 9vdc at close to 0.9A. with ripple rejection and circuit protection diode.

    This is a view from the power supply section of the board

    Here is the basic design concept, Czerny-Turner Configuration with a few more add-on's for a cleaner and more stable Raman signal (addition of beamsplitter/Dicrotic mirror) The turret sits of course between the 2 focal mirrors, it has 3 sides with different varying degrees of diffraction grating, example panel below;

    By rotating the turret, you can choose specific wavelengths

    This is the LCD display screen, I have code written to display MTR speed but I'm trying to figure out how to incorporate a more specific menu so I can track temp, and position.

    The proto board as it stands now

    I was never an artist so please forgive me, this is a crude mock up of the turret and the specs for the motor and it's drive steps, I'm just wondering if the Atmega1284 can handle additional control commands into memory and still have enough breathing room to operate without crashing or latching up?

View all 101 project logs

  • 1
    Step 1

    These are the build instructions for my LS-532 CB/fiber optic laser collimation tube;

    New Holographic diffraction grating holder assembly.W/drawings:

    The newly re-designed parts came in so I began to prep them and wanted to include them here under build instructions;

    These are the first preliminary drawings and CAD blueprints depicting several aspects in the assembly design and by no means is this the final assembly steps;

  • 2
    Step 2

  • 3
    Step 3

    10X Lens Holder Base assembly and holder design W/ slide rail feature:

View all 13 instructions

Enjoy this project?



David H Haffner Sr wrote 03/09/2017 at 12:26 point

@fl@C@ , I did not mean to offend your project, my thoughts about your methodology are just my opinion, not a rant about my superior intellect. You made a few bold claims about your devices capabilities and did not provide enough documentation to support them, that's all I was getting at. 

In the scientific spectrum, there is always a clear trail of evidence that others should be able to follow in order to verify claims made, and to all experiments. 

Your project is quite extraordinary,

no doubt, but there are several flaws in some of the capabilites that you claim that it can do. As far as utilizing some of your design concepts, very few, the 3D prints are my own design, the Czerny-Turner configuration is just good science, the CCD detector and MCU, are NOT your design, so get over that. 

The .src code I am using is not yours either. When I talk about "full" documentation, that's exactly what I mean, not only the mechanical side of things, but the chemistry and spectroscopy side of things also...The process, that's what is important. Yes, the long boring techy stuff, the stuff like, what standard did you use to calibrate and verify your spectrometer? Did you use holmium Oxide?

Because when all is said and done, that is what I'll be using (and I'm going to have to make the $$ sacrifice of about $450.00US,) to verify that my spectrometer is on point and ready to go. I'm not recommending that anyone else has to do this, I'm doing it because I want this project to reflect my commitment to excellence.

Let me explain once more this projects details:

The DAV5 V3 Spectrometer will be the only project build here on Hackaday in its category, with ongoing, full performance and specifications documentation, this project will also be at least 95% 3D printed! The main goal for this project has 4 points: 

1) To build a rugged and reliable low cost spectrometer with 3D printable parts. 

2) A spectrometer capable of producing consistent and professional quality results in the field, home or Lab 

3) A device with upgradeable capabilities 

4) Every part of this project will have it's .STL file (for 3D-printing,) available for download. 

**This project will also have full professional/analytical and chemical documentation.

**Also as an aside, I have owned my Aries 532nm Green laser (150mW) for over 4 years,) so I did not rip that idea off either.

  Are you sure? yes | no

Loki wrote 03/03/2017 at 12:07 point

Especially with many cell phone cameras enabling access to RAW format images from their cameras (iPhone 6 and newer, many androids), is there any reason not to skip the CMOS all together, and use a cellphone camera; and also use it for the image processing?  Essentially, just have the light source, slit, diffraction, and raman filter in this device, and design it to mate to a cell phone camera?  That would give 8MP+ of resolution.

  Are you sure? yes | no

David H Haffner Sr wrote 03/03/2017 at 12:23 point

Well Loki, the problem with that idea is, cmos has a spectral limit of 1100nm, (metal oxide,) Raman spectroscopy requires a set up like the Czerny-Turner configuration. Also you need a stable laser source coupled with an appropriate bandpass filter.  

  Are you sure? yes | no

Loki wrote 03/03/2017 at 12:54 point

I think that's what I just said.  When I said "device", I meant external device: all the parts of this project (or the Montoya one), except for the CMOS camera and image pipeline.

  Are you sure? yes | no

David H Haffner Sr wrote 03/03/2017 at 13:01 point

"and design it to mate to a cell phone camera?  That would give 8MP+ of resolution."
you stated the above though, and that's what I was going by, if I misunderstood sorry.

  Are you sure? yes | no

Loki wrote 03/03/2017 at 13:07 point

No, that is correct.  Instead of using an older DSLR such as is used in the Montoya design, use a modern cell camera.

Could you explain more about why the CMOS spectral limit is a problem?  perhaps that's what I don't understand, in light of a CMOS sensor being successfully used in the Montoya design.

  Are you sure? yes | no

David H Haffner Sr wrote 03/03/2017 at 14:18 point

It all comes down to photons interacting with silicon. cmos if you are not familar, are 1000's of microscopic photo diodes, photons with an energy above 1.1eV will not necessarily interact with silicon. Their probability interaction depends on how much higher than the 1.1eV band gap the energy of the photon is, this defines an absorption coefficient  [cm-1] depending on the wavelength and the type of material.

This absorption coefficient defines which percentage of the photons entering a one centimeter material will be absorbed. 

To make it even simpler, silicon as a material substance, will only by its own nature, absorb so many photons no matter what, and it just so happens that the limit is approximately 1125nm.

So, as long as you are willing to stay around the 400 - 700nm range in the spectrum you'll be fine...see my point?

  Are you sure? yes | no

Loki wrote 03/03/2017 at 14:32 point

If we're going for stokes raman:

"Raman signals excited by a 532nm laser are distributed in the visible range, where the response is best for most silicon-based CCD chips. Meanwhile, Raman signals from 785nm systems fall within the NIR range (750-1050nm), where the response is still relatively good. For 1064nm, however, typically there is no response from the CCD above 1100nm" (

As long as we use a 532nm laser, the resulting stokes radiation we need to detect stays in the visible range - which would seem to allow for the use of a CMOS camera.  Also, to get around issues with low signal intensity, why are people sticking with 150mw range lasers, when so much higher power lasers are available for approximately the same cost?

  Are you sure? yes | no

David H Haffner Sr wrote 03/03/2017 at 15:07 point

Yes, you are correct about that, as I stated; as long as you stay within the boundaries of 400-700nm, a 532nm CW laser at at least 150mW will work. The reason I changed up my design scheme was that at 532nm for that particular set up would not have been very effective for analytical Raman spectral work of liquid mediums.

This type of Raman spectroscopy works best at the reflectance level, and I just didn't want to drastically re-design the whole system to accommodate it. Too many more parts and 3D printed parts, more headaches :( 

Ok, typical 785nm Raman spectroscopy is just NOT feasible for a cmos camera, after 700nm the spectrum gets very "scraggly," unpredictable and very unusable. - click on the pdf file that says; "Spectral Response of Silicon Sensors"

  Are you sure? yes | no

finstp wrote 02/28/2017 at 21:57 point

There is a very simple design for a home-made 3D printed Raman spectrometer in the literature, complete with very nice example spectra.

See 'A Homemade Cost Effective Raman Spectrometer with High Performance' by EH Montoya, A Arbildo and OR Baltuano published in Journal of Laboratory Chemical Education 3(4) p 67-75, (2015) doi:10.5923/j.lce.20150304.02. This could easily be coupled with the Spekwin32 software (see here on Hackaday), which can extract a linescan spectrum from the digital camera image and you have all the benefits of professional software too!

  Are you sure? yes | no

Michael Stone wrote 01/18/2017 at 01:32 point

This is actually really really awesome. Battelle is a defense contractor here in the states, they sell a biohazard detector that is pretty large for a lot of money, this thing can be made for a fraction of that cost and easily applied to do biohazard detection. Great work!

  Are you sure? yes | no

David Challener wrote 01/13/2017 at 19:19 point

I have been looking at Raman designs, and they all seem to have beam splitters in them. but I don't see one in your design. I have never been really sure why there was a beam splitter in the first place, so perhaps it isn't needed, but I don't understand why anyone would reduce the amplitude of the reflected light by a factor of 2 if it were not needed.  Additionally, Is more lines better or worse? (I can get a good 2500 lines per mm for $26).

  Are you sure? yes | no

David H Haffner Sr wrote 01/13/2017 at 19:56 point

Hey David, first, the more lines per mm the higher the spectral resolution, but will "reduce" your wavelength range, so when choosing a higher order grating you have to make sure you know what wavelength your working in.

1200 lines is perfect when using Holographic gratings or high quality ruled blaze angled gratings, the DVD piece is fine at 1540 lines, mostly because some of those lines are not placed so perfect during manufacturing, but there are enough good lines that are parallel where the diffractive properties are just fine, (hence the Schott glass color filter.)

Second, beam splitters, especially the cube type, are used to separate wavelength and power distribution of the laser's collimated light, in the case of Raman spectroscopy, it is used because in most set ups, there is an adjustable diffraction grating that can be rotated to select a particular wavelength. 

I don't have to use it, although it certainly would improve the overall sensitivity of my system but then it will start to become very complex and costly and since I am only concerned with the region between 500-4000 cm -1 (546.5 - 675.6nm,) I am confident all will be well. 

I know it may seem a bit strange why you would want to attenuate the incoming light beam, but depending on the application, you may want to only have 45% transmission 55% reflectance or aligned for maximum p-polarized transmission (99% reflected - 1% transmitted.) 

  Are you sure? yes | no

David H Haffner Sr wrote 01/13/2017 at 20:05 point

Also I wanted to add a quick note, mine has a secret weapon; 532nm, 12.5mm Diameter, Raman Edge Filter.

  Are you sure? yes | no

Ryan White wrote 01/23/2017 at 11:07 point

There ya go, that's what's up, but you've gotta hold your laser on that wavelength, and your laser needs to be single mode, what's your source?

  Are you sure? yes | no

David H Haffner Sr wrote 01/13/2017 at 08:38 point

Hey Ted, for an application such as this one, I would use a UV Reflective Holographic Grating, 1200/mm. Cost is around $131.00US, depending on the source and quality.

Also I wanted to add that, Holographic gratings have a low occurrence of periodic errors, which results in limited ghosting, unlike ruled gratings. The low stray light of these gratings makes them ideal for applications where the signal-to-noise ratio is critical, such as Raman Spectroscopy.

I am hoping that the Schott glass color filter placement with the diffraction grading placed before the spectral image strikes the detector, will eliminate the stray light and most ghosting effects, if not, I will be forced to adapt and use the holographic grading, which will cause a slight re-design and significant up-cost.

  Are you sure? yes | no

David Challener wrote 01/12/2017 at 22:56 point

So next question - why are you using a DVD for your diffraction grating?  I see them used in very low cost spectrometers, but they clearly aren't quite parallel lines.  Does this matter?

  Are you sure? yes | no

David H Haffner Sr wrote 01/12/2017 at 23:53 point

Hey David, good question, I'm using the 4.7G DVD piece with 1540 lines per mm. Spectral resolution is more important than how straight the lines may be on the diffraction grating, I've been researching this aspect for over a year now and I know that it does work, you just have to be willing to be patient and rotate the grating carefully until the spectral lines are straight.

I explained how to do this in a previous log and in some research notes on Public Lab. That is also why I cut the piece 18 x 18mm square and placed each corner on the flat top end of the Schott glass filter locking sleeve, so it can be rotated as you are watching the spectral lines in live capture mode on screen. 

I use a 2300K 13W CFL (compact fluorescent light) to calibrate the diffraction grating piece because of the mercury lines.

I hope this explanation helped!

  Are you sure? yes | no

David Challener wrote 01/11/2017 at 17:14 point

I am interested in building one of these.   Is it ready to go?

  Are you sure? yes | no

David H Haffner Sr wrote 01/11/2017 at 17:29 point

Hey David, everything is ready except the Raman longpass edge filter, I will not be able to purchase it until sometime next month, I included it on the bill of materials because it certainly needs to be there.

The rest of the device is performing beautiful in the UV/VIS range-300-800nm. It will do absorption/fluorescence and UV as it stands at this moment.

  Are you sure? yes | no

PointyOintment wrote 01/10/2017 at 09:22 point

> The DAV5 V3 Spectrometer will be the only project build here on Hackaday in its category

Even if the category is as narrow as "open-source 3D-printed Raman spectrometers", there's already another project in it: #ramanPi - Raman Spectrometer

  Are you sure? yes | no

David H Haffner Sr wrote 01/10/2017 at 11:38 point

Hey pointyointment, yes that is true, but the Ramanpi project's main documentation is mainly centered around the 3D printing of their design and on their concept of home automation. Proving their concept is very questionable for such bold claims.

They do not have sufficient scientific documentation validating the Raman aspects of their device. The process for doing so is very meticulous and precise and must be done with caution, scientific claims must be able to stand up to intense scientific scrutiny by your peer community and not be prefaced by popularity.

My project has intentional and methodical steps and protocols in order for clear validation, when I am ready to capture Raman signals that will be a whole separate set of steps and protocols.

Also, my project includes cost analysis for full transparency, in order to keep the projects main goal under $700.00US. The average cost even for a 3D printed version of high sensitivity and precision can cost upwards of $2500.00 to 3000.00US Total.

  Are you sure? yes | no

Ted Yapo wrote 01/13/2017 at 00:35 point

Do you know approximately how much cost it would add to the BOM to use a commercial replica grating instead?

  Are you sure? yes | no

fl@C@ wrote 03/09/2017 at 11:00 point

I would have hoped that you would have contributed to, instead of insulting a project that clearly inspired not only the name of this project, but the design as well..  Although, after reading your replies to most of the comments here.....It doesn't sound likely that your input would be very useful when taken as a member of a group, rather than you taking credit and imposing your superior knowledge on everyone.  If your understanding of ramanPi is limited to the thought that it is centered around home automation, maybe you should review the documentation again.  It's quite interesting that you seem to have chosen many of the same components, for such a questionable concept... 

  Are you sure? yes | no

Jarral Ryter wrote 01/05/2017 at 21:28 point

yes raman has some sort of light scattering by shining laser onto the sample.... maybe you made a fluorescence spectrometer. Which is still cool.

  Are you sure? yes | no

David H Haffner Sr wrote 11/24/2016 at 14:47 point

Hey Ryan, that's a good question, and I'm glad you asked it. Most Raman spectrometers are usually quite large and have very complicated optical designs, but the basic operating principle is still the same, resolving power of the optical mirrors and lines per mm on the diffraction grating.

A raman spectrometer can be composed of either a CCD or a CMOS detector, I have worked for a year researching the cmos type, and that is why I am using it, (cmos,) I am experimenting with the use of only one mirror, the square silver coated focusing one. The optical resolution of the spectrometer is determined by the input slit size and the optics inside the spectrometer. The best possible resolution that can be obtained is the diffraction limit, which is the resolution obtained with an infinitely small input slit. The diffraction limit is related to the size of the beam width inside the spectrometer.

The wider the beam, the more grating lines the beam illuminates and, therefore, the better the resolution. This is also referred to as the resolving power of the grating.

I will be posting a more detailed explanation of the theory and concept of my design, and the mathematics to back it up, plus I have research to back up this design also. So Raman merely means the resolving power of the spectrometer to clearly define the spectral lines with precise definition for accurate molecular finger printing.

  Are you sure? yes | no

Ryan White wrote 01/23/2017 at 11:03 point

OK, but, Raman spectrometers use high intensity laser sources and look for the signature in the Raman shift of the scattered light, right? So basically you're looking for very weak signals very close to, but not at, the wavelength of the light source. 

Raman spectrometers use laser sources of very high spectral purity (i.e. narrow spectral line width, low phase noise, whatever you want to call it) and very narrow band filters, and as far as I understand it both are tunable, you don't seem to have either. "modern instrumentation almost universally employs notch or edge filters for laser rejection and spectrographs either axial transmissive (AT), Czerny–Turner (CT) monochromator, or FT (Fourier transform spectroscopy based), and CCD detectors." -

This, as far as I can tell, is not a Raman spectrometer.

  Are you sure? yes | no

Ryan White wrote 01/23/2017 at 11:05 point

I've just seen your more recent comments, I'd love to see this working and I'd love to see how you're controlling the wavelength of the laser source. 

  Are you sure? yes | no

David H Haffner Sr wrote 01/23/2017 at 11:43 point

Ok Ryan, my laser is a CW (continuous wave,) 150mW DPSS, I have posted the specifications for it here many times, I have a 532nm CWL, 10nm FWHM, 25mm bandpass filter employed in my fiber optic laser collimation tube assembly, I have already stated in previous postings that I am waiting on my 532nm, 12.5mm Diameter, Raman Edge Filter, it costs $450.00US, I am not made of $$.

I never stated it was a Raman spectrometer YET, it will be by the time I am finished, I strive for perfection, not speed or popularity. I do NOT need a CCD to detect Raman signals.

Finally, I am not going to explain myself over and over again, when I have been quite clear in my research and documentation, not only about Raman spectroscopy, but spectroscopy and chemistry itself. Read my work.



  Are you sure? yes | no

Ryan White wrote 01/23/2017 at 11:48 point

Good luck with it! I'm watching with interest because I know how hard this stuff is, not because I think you won't do it. The internet is bad at capturing my tone, and (as I'm sure you know) there's been a lot of bullshit merchantry around handheld raman spectrometers for all kinds of applications, hence my skepticism. 

  Are you sure? yes | no

Ryan White wrote 01/23/2017 at 11:52 point

Nice write-ups as well, looking forward to seeing the results (and building one!) 

  Are you sure? yes | no

Ryan White wrote 11/24/2016 at 13:37 point

How is this Raman? 

  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