Introduction: LEDs As Light Sensors

LEDs are great for making light, but they can sense light too!

I recently stumbled upon this site which mentions, "In 1977, Forrest M. Mims reminds us in one of his "Engineer's Notebooks" that LEDs can also be used as photodiodes... " The page features a LED matrix being used as a multi-touch input but offers very little information. I still have no idea how to make his project, but I did learn how to use LEDs as light sensors.

This instructable goes over my experimenting with different kinds of LEDs as light sensors and making a dark activated night light using LEDs as sensors.

Step 1: What You Will Need

  • random assortment of LEDs
  • current limiting resistors for LEDs
  • multimeter
  • breadboard
  • bright flashlight
  • microcontroller (I used Arduino)

Step 2: How Does It Work?

According to Wikipedia:

LED as light sensor:

"A LED is simply a diode that has been doped specifically for efficient light emission and has been packaged in a transparent case. Therefore, if inserted into a circuit in the same way as a photodiode, which is essentially the same thing, the LED will perform the same function."


"A photodiode is a type of photodetector capable of converting light into either current or voltage, depending upon the mode of operation."

Step 3: Sensing

All you have to do is hook up the multimeter to read the voltage coming off the LED, that's it! Try pointing the LED at different light sources and see how the reading changes.

Step 4: Experimenting With Different LEDs

The wikipedia article also states, "As a photodiode, it is sensitive to wavelengths equal to or shorter than the predominant wavelength it emits. For example, a green LED will be sensitive to blue light and to some green light, but not to yellow or red light"

Get a few different color LEDs and see how the color affects the voltage output.

My Results:
(see second image)
The voltage readings for ambient light were consistent with the wavelength property explained above. IR had the highest voltage and blue had the lowest.
The max reading I get seemed to do more with the type of LED rather than the color. The red, yellow, and green ultra bright LEDs put out the most voltage.
Dark was .001 or 0 for all of them.

As for current, my multimeter read .000 amps. I'm sure it puts out some, but nothing I can measure. If someone has some equipment that can get a reading I'd be interested to know what it is.

Step 5: Add Some Programming

Now that we have some nifty LED sensors (aka - normal LEDs) it's time to make them do something. I make a quick Arduino sketch that turns on an LED when it gets dark. The code is very straightforward; when the voltage from the sensing LED goes below a set level the Arduino knows it is dark and turns on an LED. I used the red super brights for the sensors because they had the best range (IR was too sensitive).

Note: This program is just a simple example I thought of and made in a few minutes. This is by no means the only thing you can do with this concept. The meat of this instructable is in the experimenting.

Now that you know how to use LEDs as light sensors go and make something awesome!

Get the LED Out! Contest

Participated in the
Get the LED Out! Contest