Introduction
DIY home automation enthusiasts need PIR sensors that integrate easily with platforms like Home Assistant, ESPHome, and Tasmota. This guide covers the best options for custom smart home setups.
Integration Options for DIY
ESPHome / Tasmota
Flash ESP8266/ESP32 boards to create custom Wi-Fi sensors. Full control over firmware and features.
Zigbee (Zigbee2MQTT / ZHA)
Low-power sensors that work with USB dongles. Wide ecosystem, good battery life.
Z-Wave
Certified sensors with excellent reliability. Requires Z-Wave USB dongle.
DIY with Arduino
Raw sensor modules for custom projects. Lowest cost, most flexible.
Top PIR Sensors for DIY
Best ESPHome: AM312 PIR Sensor
Price: $2-3
Voltage: 2.7-12V (3.3V compatible)
Current: 35µA
Size: 10×8mm
Features: Direct 3.3V connection, small size, low power
Integration: ESPHome, Tasmota, Arduino
Best for: Battery-powered ESP32 sensors, compact designs
ESPHome Config:
binary_sensor:
- platform: gpio
pin: GPIO4
name: "Living Room Motion"
device_class: motion
Best Zigbee: Aqara Motion Sensor P1
Price: $21.99
Battery life: 5 years (CR2450)
Range: 7m, 170°
Features: Compact size, temperature sensor, wide field of view
Integration: Zigbee2MQTT, ZHA, Deconz
Best for: Zigbee networks, long battery life
Best Z-Wave: Ecolink PIR Motion Detector
Price: $44.99
Battery life: 5 years (CR123A)
Range: 12m, 90°
Features: Pet-immune option, tamper switch
Integration: Z-Wave JS, zwavejs2mqtt
Best for: Z-Wave networks, professional-grade reliability
Best Budget DIY: HC-SR501
Price: $2-3
Voltage: 4.5-20V (5V recommended)
Current: 50-65µA
Features: Adjustable sensitivity and hold time
Integration: Arduino, ESPHome (with level shifter)
Best for: USB-powered projects, beginners
Best Thread/Matter: Eve Motion
Price: $39.95
Battery life: 3 years (2x AA lithium)
Range: 12m, 120°
Features: Thread mesh networking, Matter certified
Integration: Home Assistant via Matter, Apple Home
Best for: Multi-platform smart homes, future-proofing
DIY ESPHome Battery-Powered Sensor
esphome:
name: battery-motion
platform: ESP8266
board: nodemcuv2
deep_sleep:
run_duration: 10s
sleep_duration: 600s
wakeup_pin: GPIO4
wakeup_pin_mode: KEEP_AWAKE
binary_sensor:
- platform: gpio
pin: GPIO4
name: "Battery Motion"
device_class: motion
Comparison Table
| Option | Cost | Battery Life | Integration | Skill Level | AM312 + ESP32 | Aqara P1 | Ecolink | HC-SR501 |
|---|
