I have a Vishay TSSP77038 IR receiver that I would like to read the output of. It is connected as shown in the picture - Vs to 5V, GND to GND and the output to a pin on the Arduino.

My problem is that the reading is constantly low (it is active low so says it is receiving a IR signal), even when i completely cover the sensor or I am in a dark room. Can someone please tell help? Thanks a lot in advance :) enter image description here

  • 1
    All my IR receivers require a pull-up resistor on the OUT pin.
    – Gerben
    Dec 13, 2016 at 20:50
  • 1
    Are you sure you don't have it wired up backwards? This package would be easy to turn around. It can also be mounted with the lenses either upright or to the side, adding additionally possibilities for confusion. Jun 12, 2017 at 22:51

2 Answers 2


Gerben is correct it looks like you need a pull up resistor so that the pin is high unless the receiver drives it low.

I found this, which was the closest to useful information I found. Have a look at the proximity sensor section, it is similar to what you are using.

You'll want to know a value, I haven't got a clue. I use 4.7K for I2C pull ups. It's probably easier to start high (weaker) and work your way down, because if you put a 100K resistor in and the signal is low, then the resistor is too strong and you need a smaller one.

  • 1
    From the datasheet, it looked like there was already a 33kOhm pull-up in the component itself. 4.7K is probably fine. The value doesn't really matter that much.
    – Gerben
    Dec 15, 2016 at 11:33
  • 1
    If there's a Pull up resistor inside it already, why does it need another? Is there anyway to get around needing an extra one?
    – Simon
    Dec 15, 2016 at 15:13
  • My first thoughts were its either to week or its disabled by some configuration option, but I doubt either of those would be the case here. Is it possible that the internal one is suitable when VCC is at the lower end of the range (1.8V) and not suitable at the upper end of the range? Dec 15, 2016 at 15:18
  • You should not need an external pullup resistor unless you have something else loading the line or are running the Arduino at a substantially higher voltage than the sensor. In theory a very high data rate could cause that to be needed, but the sensor can only respond so fast to begin with, so that is probably not an issue. Jun 12, 2017 at 22:50

Because this part has an internal pull-up resistor, seeing the data line consistently low is most likely cause by one of:

  • Reversed installation on the circuit board. This part can actually be installed in two orientations, with the lenses up or to the side, so there are more opportunities than usual to get the orientation of the contacts wrong.

  • Electrical damage from past misuse

  • A wiring problem, short, or additional device holding the data line low

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.