PIR Sensor (HC-SR501)

Submitted by Jenn Case on Fri, 03/01/2013 - 08:24


Passive Infra-Red (PIR) sensors are used to detect motion based on the infrared heat in the surrounding area. This makes them a popular choice when building a system to detect potential intruders or people in general. These sensors can take for 10-60 seconds to warm up, so try to avoid motion during that time.


  • Arduino
  • PIR Sensor
  • Wires


Below is the schematic for using a PIR sensor. It is fairly simple.


Adafruit has a really good tutorial for how these sensors are used and various projects for them.

Below is the code for working with a PIR sensor. It should be noted that the PIR sensor does not respond immediately when motion stops. This has to do with the two potentiameters on the sensor.

int pirPin = 8;
int val;

void setup() {

void loop() {
  val = digitalRead(pirPin); //read state of the PIR
  if (val == LOW) {
    Serial.println("No motion"); //if the value read is low, there was no motion
  else {
    Serial.println("Motion!"); //if the value read was high, there was motion