SiC photodiodes


I am trying to read the output signal from five photodiodes using an Arduino.
I keep getting faulty readings or at least not exactly what I am supposed to and also weird behaviour of the spectra, e.g. I get higher peaks when I cover the photodiodes than when I shine light on them. I am quite sure that the circuit is correctly wired and powered, so I’d like to check if the code I use is good.

code source: DIY Science: Measuring Light with a Photodiode II | Outside Science


#define inPin0 0

void setup(void) {



void loop(void) {

int pinRead0 = analogRead(inPin0);
float pVolt0 = pinRead0 / 1024.0 * 5.0;



I am using AD 549 opamps, R=50 Mohm and C=0.5 pF as suggested by the photodiodes’ datasheet (attached for one of the photodiodes); for the same photodiode I also attach the print_screen of the most recent reading I’ve got. Note that the higher peaks at the end are when I covered the photodiode.

Fritzing diagram and opamp datasheet also attached.

I’ll appreciate any suggestion on improving my small project.

Thanks in advance!

datasheet.pdf (420 KB)

JEC1-4LT.4.e.pdf (401 KB)