Detect motion instantly with the HC-SR501 PIR Motion Detector Sensor Module — the most popular passive infrared sensor for Arduino, ESP32, and Raspberry Pi projects. It detects the infrared heat signature of people, animals, and other warm objects up to 7 meters (21 feet) away across a 120° detection cone, and outputs a clean 3.3V digital signal that any microcontroller can read directly. Two onboard potentiometers let you adjust sensitivity and time delay, and a jumper selects between single and repeatable trigger modes.
Three wires, no libraries, no calibration — just connect 5V, GND, and read the output pin. When motion is detected, the output goes HIGH. When it stops, the output goes LOW. It's that simple.
⚡ Key Features
- Wide detection range: 3m to 7m (9ft to 21ft), adjustable via onboard sensitivity potentiometer.
- Wide detection angle: ~120° cone from the Fresnel lens — covers an entire room or hallway.
- Adjustable time delay: 3 seconds to 5 minutes — set how long the output stays HIGH after detection.
- Dual trigger modes: Jumper-selectable Single (L) or Repeatable (H) trigger. Repeatable mode keeps the output HIGH as long as motion continues — ideal for automatic lighting.
- Simple digital output: 3.3V HIGH when motion detected, 0V LOW when no motion. Compatible with 3.3V and 5V logic — no level shifting needed.
- Wide operating voltage: 5V to 20V DC — works with USB, batteries, and a wide range of power supplies.
- Ultra-low power: Only 65µA quiescent current — ideal for battery-powered projects.
- No libraries needed: Uses a single digitalRead() — works immediately with basic Arduino code.
- Compact: 32mm × 24mm PCB with 23mm Fresnel lens dome.
🔧 How It Works
The HC-SR501 uses a pyroelectric sensor behind a Fresnel lens to detect changes in infrared radiation. When a warm object (person, pet, vehicle) moves across the sensor's field of view, the change in IR energy triggers the BISS0001 signal processing IC, which outputs a clean digital HIGH signal.
- Detects: Moving warm objects — people, animals, warm vehicles.
- Does NOT detect: Stationary objects, objects behind glass (glass blocks IR), or objects at the same temperature as the background.
- Does NOT measure: Distance, direction, speed, or number of people — it's a simple motion yes/no sensor.
📌 Pinout
| Pin | Label | Connect To | Function |
|---|
| 1 | VCC | 5V – 20V DC | Power supply. Output is always 3.3V regardless of supply voltage. |
| 2 | OUT | Digital pin (e.g., D2) | 3.3V HIGH = motion detected, 0V LOW = no motion. |
| 3 | GND | Ground | Common ground with your microcontroller. |
Note: Pin order may vary between manufacturers. Always check the silkscreen labels on your specific module.
🔧 Onboard Adjustments
| Control | Function | Range |
|---|
| Sensitivity pot | Detection range | ~3m to ~7m (CW = more sensitive) |
| Time delay pot | Output HIGH duration | ~3 seconds to ~5 minutes (CW = longer) |
| Trigger jumper | Trigger mode | L = Single trigger, H = Repeatable trigger |
🎯 Perfect For
- Automatic lighting — hallway, bathroom, closet, porch, and stairway lights
- Security alarms — trigger buzzers, sirens, or notifications on motion
- Smart home / Home Assistant — connect via ESP32 or Pi for automations
- Occupancy detection — HVAC control, energy saving, meeting room availability
- People counting — approximate count using single trigger mode
- Pet detection — automatic feeders, pet doors, activity monitoring
- Halloween props — trigger animatronics, sound effects, or lighting
- Wildlife cameras — activate a camera when an animal passes by
- Automatic fan control — turn on ventilation when someone enters a room
- Arduino & STEM projects — teach digital input, sensor integration, and automation
📐 Specifications
- Sensor type: Passive Infrared (PIR), pyroelectric
- Processing IC: BISS0001
- Operating voltage: 5V – 20V DC
- Quiescent current: ~65µA
- Output signal: Digital — HIGH = 3.3V, LOW = 0V
- Detection range: 3m – 7m (adjustable)
- Detection angle: ~120° cone
- Time delay: 3 seconds – 5 minutes (adjustable)
- Blockage time: ~2.5 seconds after each trigger cycle
- Trigger modes: Single (L) / Repeatable (H), jumper selectable
- Warm-up time: 30–60 seconds after power-up
- Operating temperature: −15°C to +70°C
- PCB dimensions: 32mm × 24mm (1.27" × 0.96")
- Lens diameter: 23mm (Fresnel lens)
🔌 Compatible With
- Arduino Uno, Mega, Nano, Leonardo — direct connection, read with any digital pin
- ESP32 / ESP8266 — 3.3V output is safe for ESP GPIO. Power from VIN or external 5V (not 3.3V rail)
- Raspberry Pi — 3.3V output is safe for Pi GPIO. Power from 5V pin
- STM32, AVR, PIC, and any microcontroller with a digital input
- Standalone — output can directly drive a small LED, relay module, or buzzer without a microcontroller
📦 Package Contents
- 5 × (5 Pieces) HC-SR501 PIR Motion Detector Sensor Module (with Fresnel lens installed)
Arduino, jumper wires, breadboard, and power supply are not included.
💡 Tip — Reducing False Triggers: If you experience random activations, add a 10µF– and a across the VCC and GND pins directly at the sensor. This filters power supply noise and is the single most effective fix. Full details in our User Guide.
📄 Documentation & Resources