top of page

Interfacing LDR Sensor with Arduino

Updated: Apr 6

While watching the cricket match you must have heard, Bad light stopped the play. Do you know how they are determining it? Also, while going to shopping malls you would have noticed the doors will be opening automatically when you go near it. Have you ever wondered how these are happening? It's all because of the Light Dependent Sensors (LDR). They are also called as photoresistors.

This article gives you a brief explanation of #LDR sensor working . The output of these sensors can be viewed only with the help of #Arduino boards. The article provides step by step instructions involved in this pretty simple interfacing, starting from the list of #electronic components required.

Table of contents :

Apparatus Required :

The list provides all the hardware components required for the #interfacing.

Hardware Components for LDR Interfacing with Arduino:

1.LDR Sensor:

This is a cadmium-sulfide cell works based on the principle of Photoconductivity. It is basically a resistor whose resistance value changes depending upon the intensity of light. When the light falls on the surface of the senor, material conductivity varies as a result of which resistance also varies.

LDR Sensor
LDR Sensor

LDR Sensor Working and Versatile Applications

The LDR sensor, also known as a photoresistor, is a remarkable component that operates on the principle of photoconductivity. This unique property enables it to sense changes in light intensity and alter its resistance accordingly. Let's explore how LDR sensors work and the wide range of applications where they can be used:

LDR Sensor Working:

When exposed to light, the LDR's semiconductor material experiences a change in conductivity. In well-lit conditions, the LDR's resistance decreases significantly, allowing more current to flow through it. Conversely, in low light or darkness, the LDR's resistance increases, restricting the flow of current.

This variation in resistance is the key to understanding how LDR sensors work. When connected to a voltage source, such as an Arduino, the varying resistance at the LDR causes a corresponding change in voltage across it. This voltage change can be measured and interpreted to determine the intensity of the incident light.

LDR Can Be Used To:

  1. Automatic Lighting Control: LDR sensors are widely used in automatic lighting systems. They can detect ambient light levels and trigger the activation or deactivation of artificial lighting sources. This capability contributes to energy conservation and convenience, ensuring lights are only active when necessary.

  2. Solar Energy Systems: In solar panels and solar-powered devices, LDR sensors are used to monitor sunlight intensity. By adjusting the angle of the solar panels or redirecting them towards the sun, the system maximizes energy harvesting efficiency.

  3. Security and Surveillance: LDR sensors are integrated into security and surveillance systems to detect changes in outdoor lighting conditions. This information can be used to trigger motion-activated lights or cameras, enhancing the security of a premises.

  4. Plant Growth Monitoring: LDR sensors play a vital role in horticulture and indoor gardening. They assist in monitoring natural light exposure, allowing growers to adjust artificial lighting or shade to optimize plant growth.

  5. Weather Stations: Weather monitoring stations use LDR sensors to gauge natural light levels during the day. This data contributes to weather forecasting models and helps analyze climate patterns.

  6. Day-Night Detection: LDR sensors can be employed to detect day-night transitions, enabling the automation of devices or systems based on the time of day.

  7. Art and Interactive Installations: LDR sensors are popular in interactive art installations. They can be utilized to create dynamic and responsive artworks that change with varying light conditions or user interaction.

In conclusion, the LDR sensor's ability to measure changes in light intensity makes it an invaluable component in various applications. From automated lighting to environmental monitoring and creative art projects, the LDR sensor's working principle unlocks a wide array of possibilities. By incorporating LDR sensors into your electronic projects, you can add intelligence, efficiency, and interactivity to your designs.


The ARDUINO UNO board can be powered from the computer by fixing appropriate cable in the USB port. It can also be powered using AC power supply with the help of Barrel Jack port. The voltage regulator present in the Arduino board resists the excessive flow of voltage to the microprocessor as it may get damaged. Here, we are using the Arduino board to connect the LDR sensor and display the output.

  • 3.3 V pin- Helps in supplying 3.3 V output voltage.

  • 5 V pin- Helps in supplying 5 V output voltage.

  • GND pin- Helps to ground the circuit.

  • VIN pin- To connect the AC power supply.

Arduino UNO
Arduino UNO

3.Jumper wires:

These are simple connecting wires, that are used to connect the ends without any soldering. The male wires have the ends that can be connected to other ends and the female wires are the ones that have the receiving end.

Jumper Wires
Jumper Wires


The resistor prevents the damage of the sensor as well as the Arduino board by preventing the excessive flow of current at any situation. The value of the resistor used in this interfacing circuit is 100k.



In this section, let's see the connections made to the interface of the LDR sensor to the Arduino board.

What goes where?

  • At first, one terminal of the LDR sensor is connected to the 5V pin of the Arduino board. Another end of the sensor is connected to the analog pin A0 of the Arduino.

  • The same end which is connected to the analog pin A0 is connected to the resistor of value 100k ohm.

  • The other terminal of the resistor is connected to the ground (GND) pin of the Arduino board. All these connections between the pins are carried out with the help of jumper wires.

After completing the connections, the Arduino board is connected to a computer and the device gets boots up.


NOTE: The code file is the Arduino IDE file and should be changed into .ino file after downloading the code.


After connecting the Arduino to the computer, the device gets on and the code is compiled in our computer system. Based on our room light, the values are stored in the output variable. By placing a finger over the LDR sensor, the intensity of the light gets decreased followed by a reduction in the resistance value. For increasing the intensity of the light, a mobile flashlight can be placed over the sensor. Then the value of the resistance increases.

ON circuit setup
ON circuit setup

By opening the serial monitor in your computer, we can able to see the change in resistance values (0- 1024) recorded by the LDR #sensor depending on the intensity of the light.

The setup in OFF condition.

OFF Circuit Setup
OFF Circuit Setup

Practical implementation of this interfacing is also available as a video.

Check the Project working video here - Interfacing LDR Sensor with Arduino

Video Credits: Abhishek Goud.

This interfacing can also be achieved through various platforms but the Arduino has way more controlling options such as mobile SMS, Internet, Bluetooth. The cost of the Arduino board is also reliable so that everyone could purchase and make use of it.\

LDR Circuit and Working Principle

An LDR, or Light Dependent Resistor, is a vital component used for light sensing applications. The LDR circuit operates based on the principle of photoconductivity, where its resistance varies with changes in light intensity. The LDR sensor can be used to measure and respond to the ambient light in the environment, making it a valuable tool for a wide range of projects.

Arduino Circuit Diagram for LDR Interfacing

To interface an LDR sensor with an Arduino board, a simple yet effective circuit is employed. One terminal of the LDR sensor is connected to the 5V pin of the Arduino, while the other terminal is connected to both the analog pin A0 and a 100k ohm resistor. The other terminal of the resistor is connected to the ground (GND) pin of the Arduino board. This circuit enables the Arduino to read and process the varying resistance values of the LDR, providing valuable light intensity data

Arduino Circuit Diagram
Arduino Circuit Diagram

Applications of LDR in Arduino Projects

LDRs offer a myriad of applications when interfaced with Arduino boards. These versatile light sensors find use in:

1. Ambient Light Sensing: LDRs are ideal for detecting changes in natural light levels, allowing automatic adjustments in indoor lighting systems.

2. Smart Home Automation: LDRs can be integrated into smart home setups to regulate lighting, blinds, and temperature based on natural light conditions.

3. Security Systems: LDRs play a crucial role in creating cost-effective and energy-efficient security systems by triggering lights or cameras based on detected light levels.

4. Plant Growth Monitoring: LDRs can be utilized to monitor sunlight exposure for indoor plants and optimize their growth conditions.

5. Weather Stations: In weather monitoring setups, LDRs help gauge sunlight intensity and record daylight patterns.

Exploring LDR Sensor Data with Arduino

With the LDR sensor connected to the Arduino board, the system can now capture light intensity data in real-time. As the light intensity changes, the LDR sensor's resistance also fluctuates. Placing a finger over the LDR sensor reduces light exposure, leading to decreased resistance. Conversely, increasing light intensity, like using a mobile flashlight, results in increased resistance.

Leveraging Arduino's Control Options with LDR Sensors

Arduino boards provide extensive control options to work with LDR sensors. By integrating other modules such as GSM shields, Wi-Fi modules, or Bluetooth, you can enable your Arduino project to respond to light data with various actions. For instance, you can create a smart lighting system that adjusts brightness based on detected light levels or remotely control devices through SMS or Internet commands.

In conclusion, interfacing LDR sensors with Arduino opens up a world of possibilities in light sensing applications. The simplicity and affordability of this setup make it accessible to both hobbyists and professionals, fostering innovation and creativity in electronic projects.

LDR Sensor Arduino Working

With the circuit set up, the LDR sensor can now interact with the Arduino board. As ambient light levels change, the LDR's resistance varies, causing a change in the voltage at the junction of the LDR and the resistor. The Arduino's analog-to-digital converter (ADC) measures this voltage and converts it into a digital value.

By using appropriate code, the Arduino can map these digital values to corresponding light intensity levels. This information can then be utilized in various applications. For example, you can program the Arduino to activate a light source when the room becomes too dark or send a notification when there's a sudden change in light intensity.

With the Arduino's flexibility and the accuracy of the LDR sensor, you can create sophisticated and practical solutions for automatic light control, environmental monitoring, or even innovative art installations.

In conclusion:

interfacing an LDR sensor with an Arduino board unlocks a world of possibilities in light-based applications. Whether you're a beginner exploring electronics or an experienced hobbyist working on complex projects, the combination of Arduino's versatile control options and the LDR sensor's reliable light sensing capabilities will undoubtedly open the door to exciting innovations and experiments. So, gather your components, follow the Arduino circuit diagram, and start creating your own projects today!

See also:

Learn electronics from Learn Electronics!

Follow us -

Please do follow us i.e #learnelectronicsindia to get daily updates about new blogs, videos, courses, quizzes, and contests.

Check us :

Click on the below links for internship and other opportunities:

398 views6 comments

Related Posts

See All


Daipayan Maitra
Daipayan Maitra
Aug 10, 2023

This blog helped me understand the LDR Arduino code and its implementation. It's great to find such informative content. Well done!


Bravo on explaining ldr interfacing with Arduino in such a straightforward manner. Your blog has ignited my curiosity to dive deeper into electronics. Keep up the great work!


Anushka Gupta
Anushka Gupta
Jul 31, 2023

This blog by Learn Electronics India is a true masterpiece! Interfacing LDR Sensor with Arduino can be overwhelming for beginners like me, but your article broke it down into manageable steps. The inclusion of circuit diagrams and sample codes helped me understand the concepts better. It's evident that the author genuinely wants readers to succeed in their projects. Thank you for this outstanding contribution to the electronics community.


LearnElectronics India simplifies complex concepts beautifully. Thank you!


Jun 21, 2023

I appreciate the detailed explanation of LDR sensor Arduino code in this blog. It helped me understand the concept better. Kudos to the author!