I am trying to interface the status LEDs of a third-party device to the GPIO of my ESP32. I am using internal pull-ups on the ESP32 inputs and trying to trigger on the voltage drop that occurs when the LEDs switch on.
For blue and green LEDs, this voltage drop is from +3.3 V to +0.8 - 1.0 V, and the ESP32 triggers fine. The voltage drop of the red LED is much smaller, from +3.3 V to +2.16 V, which is insufficient for my ESP32.
Within the device, both anode and cathode of the LEDs disappear into active circuitry that I don't control, and I mustn't load this device too much.
I know I might be able to solve this problem by programming my ESP32 differently, but my preferred solution would be to pull +2.16 V closer to 0 V, to get a nice logic level. I don't need bidirectionality, and inverting the logic would be OK if this is a major simplifier. There is no particular bandwidth requirement, although the LEDs happen to be PWM-driven at 4kHz.