Skip to product information
PIR Sensor HC-SR501 Motion Detector Pyroelectric Infrared Module
Rs. 59.00
Sale price
Rs. 59.00
Regular price
Rs. 89.00
Description
PIR Sensor HC-SR501
The HC-SR501 is a compact and highly efficient pir sensor module designed for detecting human motion. It captures changes in infrared radiation emitted by moving objects within its active range, making it a reliable pir motion sensor for automation tasks. Because the hc sr501 includes adjustable sensitivity and timing controls, users can fine-tune detection performance across a wide range of applications.Operating at 5V DC, this pir sensor is commonly used in security alarms, automatic lighting, and home automation projects. With a detection distance of up to 7 meters depending on conditions, the hc sr501 integrates seamlessly with popular platforms such as Arduino and Raspberry Pi. Its low power consumption also makes it suitable for portable or battery-powered devices, where a pir motion sensor must remain energy-efficient.
Technical Details – hc sr501 reference
- Item Type: Sensor
- Model Type: Motion Sensor Module
- Model No.: HC SR501
- Operating Voltage (V): 4.5 to 20
- Avg. Current Used (mA): 0.06
- Distance Measure (cm): 300 ~ 700
- Output Type: (High/ Low-level Signal) 3.3V TTL output
- Dimensions (L x W x H) mm: 32 x 24 x 18
- Weight (g): 10
- Operating Temperature (°C): -20 to 80
- Detection Angle: <140°
- Delay Time: 5 to 200s (Can be Adjusted, Default 5s +/- 3%)
Pin Definitions – pir motion sensor pins
- GND: Connects to Ground or Vss
- V+: Connects to Vdd (4.5V to 20 VDC)
- OUT: Output Connects to an I/O pin set to INPUT mode (or transistor/MOSFET)
Features
- Infrared Sensor with Control Circuit Board
- The Sensitivity and Holding Time Can be Adjusted
- Sensitive Setting: Turn to the Right, Distance Increases (About 7M); Turn to the Left, Distance Reduce (About 3M)
- Time Setting: Turn to Right, Time Increases (About 200S); Turn to Left, Time Reduce (About 5S)
Calibration
The pir sensor requires a ‘warm-up’ period to function correctly. This compensates for environmental temperature changes and can take 10–60 seconds. During this time, avoid motion in the sensing area.Sensitivity
The pir sensor has a detection range of approximately 20 feet, although this may vary with environmental factors. It responds to sudden infrared changes, while slowly shifting conditions are ignored as part of normal operation.Jumper Setting – pir motion sensor modes
- H: Retrigger Mode: Output remains HIGH when repeatedly triggered. Output is LOW when idle.
- L: Normal Mode: Output goes HIGH then LOW per trigger. Continuous motion causes repeated HIGH/LOW pulses.
Integration with Arduino of Passive Infrared Sensor

Sample Code
| int led = 13; // the pin that the LED is atteched to | |||||||||||||||||||||||||||||
| int sensor = 2; // the pin that the sensor is atteched to | |||||||||||||||||||||||||||||
| int state = LOW; // by default, no motion detected | |||||||||||||||||||||||||||||
| int val = 0; // variable to store the sensor status (value) | |||||||||||||||||||||||||||||
| void setup() { | |||||||||||||||||||||||||||||
| pinMode(led, OUTPUT); // initalize LED as an output | |||||||||||||||||||||||||||||
| pinMode(sensor, INPUT); // initialize sensor as an input | |||||||||||||||||||||||||||||
| Serial.begin(9600); // initialize serial | |||||||||||||||||||||||||||||
| } | |||||||||||||||||||||||||||||
| void loop(){ | |||||||||||||||||||||||||||||
| val = digitalRead(sensor); // read sensor value | |||||||||||||||||||||||||||||
| if (val == HIGH) { // check if the sensor is HIGH | |||||||||||||||||||||||||||||
| digitalWrite(led, HIGH); // turn LED ON | |||||||||||||||||||||||||||||
| delay(500); // delay 100 milliseconds | |||||||||||||||||||||||||||||
| if (state == LOW) { | |||||||||||||||||||||||||||||
| Serial.println("Motion detected!"); | |||||||||||||||||||||||||||||
| state = HIGH; // update variable state to HIGH | |||||||||||||||||||||||||||||
| } | |||||||||||||||||||||||||||||
| } | |||||||||||||||||||||||||||||
| else { | |||||||||||||||||||||||||||||
| digitalWrite(led, LOW); // turn LED OFF | |||||||||||||||||||||||||||||
| delay(500); // delay 200 milliseconds | |||||||||||||||||||||||||||||
| if (state == HIGH){ | |||||||||||||||||||||||||||||
| Serial.println("Motion stopped!"); | |||||||||||||||||||||||||||||
| state = LOW; // update variable state to LOW | |||||||||||||||||||||||||||||
| } | |||||||||||||||||||||||||||||
| } | |||||||||||||||||||||||||||||
|
} Integration with Raspberry Pi![]() Sample Code
|
