// Turn off LED after hold time (simulates retrigger management) if (millis() - lastMotionTime > MOTION_HOLD_MS) digitalWrite(LED_PIN, LOW);
This article serves as your : a comprehensive guide covering every technical parameter, common pitfalls, circuit improvements, and practical tweaks to make the HW416B outperform its generic copy-paste documentation. Part 1: What Exactly is the HW416B? (And Why Most Datasheets Fail) The HW416B is a motion detector module based on the passive infrared principle. It senses changes in infrared radiation—specifically, the heat signature of a moving human or animal. Unlike its cousin the HC-SR501, the HW416B is often marketed as a miniature or low-voltage variant , though specifications vary wildly between sellers. Typical (But Often Unreliable) Datasheet Claims | Parameter | Common Value | Problem | |-----------|--------------|---------| | Operating Voltage | 3.3V – 5V DC | Many fail below 4.5V | | Quiescent Current | <50 µA | Often 80–100 µA in reality | | Detection Range | Up to 7 meters | Drops to 3-4 meters without proper lens | | Output High | VCC – 0.3V | Can be as low as 2.8V at 3.3V input | | Trigger Mode | Single / Repeatable (Jumper) | Jumper labeling often wrong | hw416b pir sensor datasheet better
// Optional: deep sleep here if using battery // delay(100); // instead of busy loop // Turn off LED after hold time (simulates
For ESP32 deep sleep applications, connect HW416B OUT to a wake-up pin and use esp_sleep_enable_ext0_wakeup() . Use this better troubleshooting table when your HW416B misbehaves. Use this better troubleshooting table when your HW416B
HW416B OUT → 1kΩ resistor → Base of BC547 Emitter of BC547 → GND Collector → Relay coil negative terminal Relay coil positive → VCC (with flyback diode) The stock fresnel lens is cheap plastic. You can upgrade the lens with a universal PIR lens (e.g., from a KC7783R) to achieve the claimed 7 meters. Also, the sensor is less sensitive to motion moving directly toward it versus moving across its field of view.
In your microcontroller code, wait at least 30 seconds after boot before reading the sensor, or add a manual reset using a transistor to short the output low during startup. Problem C: Weak Output Driving The HW416B cannot directly power a relay, buzzer, or LED strip (it will drop voltage drastically).
| Feature | HW416B | HC-SR501 | |---------|--------|----------| | Size | Smaller (32mm x 24mm) | Larger (48mm x 28mm) | | Voltage range | 3.0–5.5V | 4.5–20V | | Quiescent current | ~55µA | ~100µA (but stable) | | Retriggering jumper | Yes (poorly labeled) | Yes (clearly labeled) | | Built-in regulator | No | Yes (AMS1117 3.3V) | | Best for | Battery-powered, compact devices | Arduino projects, higher voltage |