I want to this sensor and an Arduino board to obtain the wave length data and log or plot something like the following:

enter image description here

Here it shows how to connect to the Arduino board. But no code and no explanation.

But from the datasheet I don't understand how it functions. How does this sensor output the wave length data and how can I obtain the wavelength data similar to the plot shown above using a microcontroller board such as Arduino board?

  • 1
    \$\begingroup\$ You'll probably have to find an application note to get the details. From the looks of page 5, you provide a clock and a trigger. When you trigger the chip, it outputs the analog voltage from each CCD cell in the sensor. Each value corresponds to a particular wavelength. Say, the first value is for 300 nm, and the last one is for 800nm (or the other way around.) Cycle through until the chip says "done." (EOS) Convert each analog value in sychronization with the clock. Stack to make a plot. \$\endgroup\$
    – JRE
    Commented Nov 13, 2020 at 23:02
  • \$\begingroup\$ What particularly is unclear? So that we don't have to explain the whole datasheet. And with which Arduino, using ATMega328p? \$\endgroup\$
    – Justme
    Commented Nov 13, 2020 at 23:05
  • \$\begingroup\$ uC is ATMega328p \$\endgroup\$
    – user1245
    Commented Nov 13, 2020 at 23:09

1 Answer 1


The module has a linear CMOS sensor to detect brightness of different wavelengths. The readout is a 5V analog signal level for each pixel with a sync pulse.

Unfortunately the process needs a minimum clock of 200 kHz to set the pixel scanning rate, so the Arduino would need to provide at least 200 kHz clock and sample analog values in sync with the clock.

The ATMega328P ADC has a maximum sampling rate of 15 kHz so it is not possible with it.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.