Simple and cheap indicator LED detector / ambient light sensor

I decided to share this, because I often see people here looking for to get trigger from devices that they can’t / don’t want to open and hack. If it has indicator LED (could be wireless doorbell, laundry machine, video intercom etc.), here’s likely the simplest component to detect it.

Vishay TEPT4400 visible light phototransistor ($2 for 10pcs on AE).
Just like normal IR phototransistors, but for visible light spectrum (peak ~550nm).

Ok, nothing special here, but it happens to have a sensitivity that is in the sweet spot for use with Esp.
My plan was to tune it with external resistors and use analog threshold sensor. But I found out no external components were needed, Esp internal pullup was perfect fit for desired sensitivity. Only Esphome Gpio_binary_sensor was needed. Collector to Gpio, emitter to GND.

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO5
      inverted: true
      mode:
        input: true
        pullup: true
    name: "Light Sensor" 
    id: light_sensor
    filters:
      - delayed_on_off: 50ms

It detected nicely all indicator LEDs (different colors) I had in my devices around. Could be easily attached to any LED with Sticy Tack for dirty quick integration.

It detects also indirect daylight or sufficient artificial ambient light, so easily adapted for these purposes. The view angle is relatively narrow, so it worked also as a hand wave detection (contactless button) at few centimeters distance when pointed to normal ambient light source.

5 Likes