I have a simple photoresistor displaying values on a serial monitor every second so I can establish a value that I want to use to have it activate a relay.

It has worked fine for a few weeks, with bright sunlight values about 1000, total dark is 0. I soldered only the headers on a protoshield, and stacked it on the Arduino. I have nothing else on the protoshield and I am still using jumper wires to a breadboard, which I have not changed.

Why would the photoresistor values drop to approximately 40 (from 900's) when I stack the second board on the Arduino?

2 Answers 2


It should not happen.

I have changed this answer, because at first I read that the resulting value was changed by -40, but I think it drops from 900 to 40.

The shield is doing something, so it is not empty. Perhaps it shortcuts the AREF to GND. Perhaps you are reading an open input, and the sensor is at another analog pin. Perhaps the shield does something to the voltage pins.

A breadboard can have bad contacts. The shield can have bad contacts.

Be sure that the sensor is connected to the channel that you are reading. Measure the voltage at that analog input with a multimeter with and without the shield. Check the 5V, 3.3V and AREF pins with and without the shield.

  • 1
    thanks. i took off the shield and found out the readings did not change. i completely redid the breadboard and fixed the issue. what is weird, I even used a diagram from the sparkfun sik guide ( circuit 6) and ended up getting the inverse values (as it gets darker , the value goes up) I reversed pos and negative leads from what the diagram shows and got the right readings. I put the shield back on hooked it up and the values are correct, so it was both on the breadboard, and following the diagram on that "how to do it" guide.
    – mtmtntop
    Mar 3, 2017 at 0:34

Does the proto-shield have any LEDs on it?

You were probably connected to a pin unknowingly.

How is resistance being measured? A voltage divider with an analogRead()? Using a cheapo multimeter can cause problems.

Possibly, his proto-shield has some trace "wires" etched into it that were unseen, and he was connected to a floating pin or ground.

Or maybe the shield was shifted over one pin, and he wasn't connected to the pins he thought.

  • 1
    It says it only has headers on it, so it looks like the answer is no Jun 2, 2017 at 11:37
  • 1
    Can you provide more information to your answer? How can the OP test your theory. How do you suggest it should be fixed?
    – sa_leinad
    Jun 2, 2017 at 14:48
  • How is resistance being measured? A voltage divider with an analogRead? Using a cheapo multimeter can cause problems. Possibly his proto-shield has some traces that were unseen, and was connected to a floating pin. Or maybe the shield was shifted over one pin, and he wasn't connected to the pins he thought. Gotta love troubleshooting :)
    – Chris
    Jun 2, 2017 at 15:10
  • @Chris - you need to address your comment to someone, probably the OP, as otherwise no one will ever get notification that you are asking for clarification (and it may not be read by whoever you except to read it). In fact, it is better to post your comment under the original question, rather than your answer, as it looks as if you are asking yourself for this additional information, rather than asking the OP. Jun 2, 2017 at 22:31
  • Also, if you are adding more information to your answer, then it is preferable to edit your answer and add the information there, as comments can be deleted at any time. Plus, it consolidates the information, and saves other people from having to wade through comments in order to get the full picture. Jun 2, 2017 at 22:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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