PIR Motion Sensor with Arduino

Hi folks I am back ones again to share with you my simple but useful project and step by step descriptive video to show you, how you can auto turn on the room Light when some come inside the room. It’s only work when someone moving in the room and after few second light will turn off automatically. To detect the motion I have used PIR Motion Sensor and program the arduino board to read the sensor signal and turn on the light for few second.


List of components to make this prototype.

  1. Arduino UNO
  2. PIR Motion Sensor
  3. LED
  4. Jumper Wire



PIR Motion Sensor with Arduino Video tutorial.

Subscribe to our channel



Arduino code for PIR Motion Sensor prototype

//the time we give the sensor to calibrate (10-60 secs according to the datasheet)
int calibrationTime = 30;        

//the time when the sensor outputs a low impulse
long unsigned int lowIn;         

//the amount of milliseconds the sensor has to be low 
//before we assume all motion has stopped
long unsigned int pause = 5000;  

boolean lockLow = true;
boolean takeLowTime;  

int pirPin = 3;    //the digital pin connected to the PIR sensor's output
int ledPin = 13;

void setup(){
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
  digitalWrite(pirPin, LOW);

  //give the sensor some time to calibrate
  Serial.print("calibrating sensor ");
    for(int i = 0; i < calibrationTime; i++){
    Serial.println(" done");
    Serial.println("SENSOR ACTIVE");

void loop(){

     if(digitalRead(pirPin) == HIGH){
       digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state
         //makes sure we wait for a transition to LOW before any further output is made:
         lockLow = false;            
         Serial.print("motion detected at ");
         Serial.println(" sec"); 
         takeLowTime = true;

     if(digitalRead(pirPin) == LOW){       
       digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state

        lowIn = millis();          //save the time of the transition from high to LOW
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase
       //if the sensor is low for more than the given pause, 
       //we assume that no more motion is going to happen
       if(!lockLow && millis() - lowIn > pause){  
           //makes sure this block of code is only executed again after 
           //a new motion sequence has been detected
           lockLow = true;                        
           Serial.print("motion ended at ");      //output
           Serial.print((millis() - pause)/1000);
           Serial.println(" sec");

Related Post

  1. aravind 2 years ago

    sir its very urgent i made this project but the led is always on it is not turning off it shows motion detected at 30s but the motion never ends

    • Ben 12 months ago

      hi aravind I think the pir sensor is spoilt. I had the same issue, bought a new pir sensor, plugged it in and now it works!

  2. amirul nizam 2 years ago

    Hello, i would like to ask. after constructing all the component and upload the code into board.

    there are no changes on led after calibrating, motion detected all the time.

    covering the pir motion using cardboard, also did not response well.

    the led doesnt blink just like demonstration video.

    thank you.

  3. nabihah mardhiah 2 years ago

    hye, if i’m not using LED, how can i know the sensor detect motion or not?

    • Chantuen 2 years ago

      you can see the light on the Arduino Uno board it have a light on it

  4. sherk 2 years ago

    hi sir
    program error
    56 digitalWrite(ledPin, LOW);
    “LedPin was not declared in this scope”
    you can guide me how to fix it?

  5. Jaytee 2 years ago

    great tut. I want more

  6. Afiq 1 year ago

    Cannot verify this program because Serial.printIn(“sec”); was error. So how?

  7. HGYGT 1 year ago

    mine will not program
    it just says it is not allowed here

  8. cha cha 12 months ago

    i need someone that is good at sensors in arduino helping me in my final project
    bonus is offer!

Leave a reply

Your email address will not be published. Required fields are marked *



Log in with your credentials


Forgot your details?


Create Account