Sensor Datasheet Better — Hw416b Pir
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.
// Turn off LED after hold time (simulates retrigger management) if (millis() - lastMotionTime > MOTION_HOLD_MS) digitalWrite(LED_PIN, LOW); hw416b pir sensor datasheet better
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). HW416B OUT → 1kΩ resistor → Base of
// HW416B Better Interface - No delay() blocking, edge detection const int PIR_PIN = 2; const int LED_PIN = 13; // Turn off LED after hold time (simulates
The HW416B can be better for low-power, 3.3V systems (ESP32, Raspberry Pi Pico) if you follow the power filtering advice above. Otherwise, the HC-SR501 is more forgiving. Part 5: Real-World Example Code (Better Than Datasheet Snippets) Most sample code is lazy delay() -based nonsense. Here is a robust Arduino example that handles warm-up, debouncing, and low-power mode using the HW416B parameters.