Skip to Content

PIR Motion Sensor Module HC-SR501

The HC-SR501 is a passive infrared (PIR) motion sensor used to detect human or animal movement. It outputs a digital signal when motion is detected, making it ideal for applications like security, home automation, and robotics.

Package Includes:

  • 1 x HC-SR501 PIR Sensor

16.50 AED 16.50 AED Tax Included
16.50 AED Tax Included

Not Available For Sale

This combination does not exist.

Terms and Conditions
30-day money-back guarantee
Shipping: 2-3 Business Days

Features:

  • Operating Voltage: 4.8V to 20V
  • Idle Power Consumption: < 50µA
  • Active Power Consumption: ~65mA
  • Detection Range: Adjustable from 3 to 7 meters
  • Detection Angle: 120°
  • Output Signal: Digital HIGH (3.3V) or LOW (0V)
  • Adjustable Delay Time: 0.3 to 200 seconds (up to 10 minutes)
  • Adjustable Sensitivity
  • Trigger Modes: Single and Repeatable
  • Compatible with Arduino, Raspberry Pi, and other microcontrollers

Pinout:

  • VCC: 4.8V to 20V power input
  • GND: Ground
  • OUT: Digital output pin (HIGH when motion is detected)

HC-SR501 Pinout

Adjustments:

  • Sensitivity: Rotate potentiometer CW to increase range (up to 7m), CCW to decrease (min 3m)
  • Time Delay: Rotate CW to increase delay (up to 300s), CCW to decrease
  • Trigger Mode Jumper:
    • L (Single Trigger): Output goes HIGH for set time; additional motion is ignored
    • H (Repeatable Trigger): Each motion resets the HIGH time

Principle of Operation:

The module detects infrared radiation changes using a pyroelectric sensor. When motion is detected, the output pin goes HIGH and remains so for a user-defined delay period, after which it goes LOW again.

Applications:

  1. Security Systems
  2. Home Automation (e.g., automatic lighting)
  3. Robotics
  4. Energy-saving Systems
  5. Industrial Automation
  6. Smart Cameras
  7. Access Control
  8. Wildlife Monitoring

Example Circuit:

Connection to Arduino with an LED on pin 13:

HC-SR501 with Arduino

  • VCC → Arduino 5V
  • GND → Arduino GND
  • OUT → Arduino Digital Pin 2
  • LED → Arduino Digital Pin 13 + resistor

Arduino Code:


// Set up pins
int motionSensorPin = 2;
int ledPin = 13;

void setup() {
  pinMode(motionSensorPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int motionDetected = digitalRead(motionSensorPin);
  if (motionDetected == HIGH) {
    Serial.println("Motion detected!");
    digitalWrite(ledPin, HIGH);
    delay(1000);
  } else {
    digitalWrite(ledPin, LOW);
  }
}

Technical Details:

Voltage 4.8V – 20V
Current (Idle) <50 µA
Output 3.3V / 0V
Delay Time 0.3 – 200 s (up to 10 minutes)
Lock Time 2.5 s
Trigger L = Single, H = Repeat
Detection Range 3 – 7 meters
Detection Angle 120°
Operating Temp –15 to +70 °C
Dimensions 32 x 24 mm
Lens Diameter 23 mm

Resources:

Comparisons:

  • HC-SR505 vs HC-SR501:
    • HC-SR505: Higher sensitivity, 3m max range, 2.7V-12V, non-retriggerable
    • HC-SR501: Adjustable range up to 7m, 4.8V-20V, retriggerable