Spectruino is an Arduino Spectrometer to measure light intensity vs. wavelength. Internally, this is achieved through a combination of diffraction grating with linear CCD camera and custom firmware. All technical specs here: http://myspectral.com/#technical

We are beta testing for them.

Setup[edit | edit source]

Installation Instructions for Arduino[edit | edit source]

Installation Instructions for mySight software Analyzer[edit | edit source]

Calibration[edit | edit source]

  • Copy and paste the file "CFG-spectruino-calibration.txt" into the main folder of mySight application.
  • If you use Processing source file, paste it into the /mySight/ folder and run the sketch.
  • The file contains calibration parameters and the serial number of your device.
  • You should now see wavelength [nm] in the main graph window of the mySight application.
  • Note: constantly updating the software on github, please check back soon.
  • open and edit mySight/mySight.pde

Software performs the following[edit | edit source]

  1. open serial ports, find Spectruino
  2. read-in stream of bytes from virtual serial port over USB cable
  3. split the incoming byte stream into a byte array of length 501, check if the HEADER bytes are present and contain the correct size of the array "501" and "501"
  4. construct Spectrum class from byte array
  5. plot Spectrum
  6. wait for keypress 1, 2, 3, ..... 0 if numeric key pressed, send command to Spectruino: "Set exposure time (N)" where N is encoded in software
  7. in Spectruino, when SetExposureTime(N) is encountered, an interrupt is triggered, and immediately confirmation characters are sent back, even in the middle of data stream transmission.
  8. pressing the key "space" will display readings of wavelength intensity - see code for more information
  9. calibration file is read-in at the beginning, which converts x-axis "Pixels" into "wavelength [nm]", file must be present in the folder where the executable resides.
  10. mouse click on the graph to save a PNG image

Serial port UART RS232 Communication Protocol description[edit | edit source]

  1. Plug-in Spectruino into a free USB port
  2. open serial port (e.g. COM4 on Windows) with your programming language (we recommend Processing)
  3. serial byte array as integer values from 0..255 is sent from Spectruino to PC: [pixel1 value] [pixel2 value] ... [pixel501 value], char(A), char(x), 0x01, 0xF5, char(B), 0x01, 0xF5, char(c), char(y)
  4. new measurement on Spectruino takes place, CCD sensor is being exposed to light
  5. step 3 is repeated
  6. if incoming characters from PC to Spectruino are received, an interrupt is generated

Setting new exposure time of the CCD sensor in Spectruino[edit | edit source]

Function setExposureTime(N) is called if you send the following 2 characters over the serial port: char(#) N where N is any hexadecimal byte from 0x01 to 0xFF

Calibration text[edit | edit source]

  1. Spectruino v1.0 beta TEST device serial# 013 20120921 a=slope [nm/px], b=intercept [px] y=a*x+b

0.7605552 374

FA info icon.svg Angle down icon.svg Page data
License CC-BY-SA-3.0
Language English (en)
Related 0 subpages, 1 pages link here
Impact 208 page views (more)
Created September 21, 2012 by Joshua M. Pearce
Last modified March 2, 2022 by Page script
Cookies help us deliver our services. By using our services, you agree to our use of cookies.