TEMT6000 arduino

Light to Arduino Experiment

light arduino experiment

Now we can stepped into the light with our favorite microcontroller Arduino! Since a vast number of analog/digital ambient light sensors/light sensor modules are now available at reasonable price, this is the right time to hook up one with our Arduino to build a light-based project – a simple street light controller for example.

For a serious builder, TSL2561 – the renowned light-to-digital converter that transforms light intensity to a digital signal output capable of direct I2C interface – is a wise choice.


The TSL2561 sensor combines one broadband photodiode (visible plus infrared) and one infraredresponding photodiode on a single CMOS integrated circuit capable of providing a near-photopic response over a 20-bit dynamic range (16-bit resolution). Two integrated ADCs convert the photodiode currents to a digital output that represents the irradiance measured on each channel. This digital output can be input to a microprocessor where illuminance (ambient light level) in lux is derived using an empirical formula to approximate the human eye response.

Commonly available TSL2561 Sensor Module (TSL2561 breakout board) provides an I2C interface, so all we need is to connect it to our Arduino. Although it is a respectable drive, handling hardware and software in the I2C background might not an easy chore for many Arduino beginners. So we are forced to introduce another simple alternative to the Light-To-Arduino Experiment. Here, inspite of the I2C interface, just an analog input of the Arduino is used. Needless to say, a simple add-on hardware is necessary for this little experiment.

The hardware is nothing but an ambient light sensor circuit wired around the silicon NPN epitaxial planar phototransistor TEMT6000 from Vishay Semiconductors.


TEMT6000 is available as a miniature transparent mold for surface mounting onto a printed circuit board.

In addition to the TEMT6000 ambient light sensor, only one resistor is required to complete the add-on hardware setup (see the circuit diagram). The circuit accepts any dc power source (VCC) from 3.3 to 5.5 volt. The analog output (OUT) of the circuit can be connected to any analog input of the Arduino, for example A1.

TEMT6000 pinout

Although it is very simple to fabricate the add-on hardware using TEMT6000 on a very small piece of smd prototyping board, the author opted for a readymade ambient light sensor module based on TEMT6000. The little sketch included here perform an “analogRead()” call on the analog input (A1) to get a value between 0 (minimum) and 1023 (maximum) that represents the light level being detected. After successful completion of the hardware wiring, just copy and paste the sketch into a new sketch in the Arduino IDE, compile it, and upload it to your Arduino. Next, open the serial monitor in Arduino IDE to watch the result.

TEMT6000 arduino

int lightLevel;
void setup()
void loop()
   lightLevel = analogRead(A1);
   Serial.println(lightLevel, DEC);


Join the conversation!

Error! Please fill all fields.
  • tom

    Have you ever tried audio communication over air using rf modules??is it possible/?? by cc2500 and some sort of codec ics like pcm 3060??

    • T.K.Hareendran

      @Tom: Interesting! Not tried yet…

      Feedback appreciated with thanks, and noted for future R&D…