Overview

The AM312 (also sold as the MB-102 or Senba AM312) is an ultra-miniature passive infrared (PIR) motion detection module engineered for low-power, battery-operated IoT sensors. Measuring just 13 mm×10 mm13\text{ mm} \times 10\text{ mm}, it integrates a dual-element pyroelectric sensor and a digital signal processing (DSP) ASIC underneath a tiny white dome Fresnel lens.

Consuming a standby current of just 15 μA15\ \mu\text{A} and supporting a wide input voltage range (2.7V2.7\text{V} to 12.0V12.0\text{V} DC), the AM312 is the preferred motion sensor for battery-powered ESP32/ESP8266 ESPHome nodes, Home Assistant motion sensors, and Zigbee/LoRa occupancy detectors.

Quick reference

Operating voltage (VCC)2.7 V to 12.0 V DC (3.3V or 5V nominal)
Standby current15 μA15\ \mu\text{A} typical
Detection distance3.0 to 5.0 meters (10 to 16 feet10\text{ to }16\text{ feet})
Detection angle<100<100^\circ cone
Output logic level3.3V Active-High (3.3V3.3\text{V} when motion detected, 0V0\text{V} idle)
Delay time (tdelayt_{delay})~2.3 seconds fixed automatic pulse width
Block time (tblockt_{block})~2.0 seconds non-repeatable re-trigger block time
Dimensions13 mm×10 mm13\text{ mm} \times 10\text{ mm} PCB (12 mm12\text{ mm} lens diameter)

Pinout

3-pin 0.1" (2.54 mm) connector header:

text
        ┌───────────────────┐
        │  [Mini Dome Lens] │
        └─┬───────┬───────┬─┘
         VCC     OUT     GND
          1       2       3
PinNameTypeDescription
1VCCPowerPower supply input (+2.7 V to +12.0 V DC)
2OUTDigital OutputActive-High digital output (3.3V logic HIGH during motion)
3GNDPowerGround reference (0 V)

Specifications

ParameterSymbolMinTypMaxUnitConditions
Supply VoltageVCCV_{CC}2.73.3 / 5.012.0VDC
Standby CurrentIstandbyI_{standby}1520µAVCC=3.3 VV_{CC} = 3.3\text{ V}, idle
High Output VoltageVOHV_{OH}3.03.33.6VMotion detected
Low Output VoltageVOLV_{OL}0.00.00.2VNo motion
Motion Hold Delaytdelayt_{delay}2.02.32.8sFixed internal timer
Re-trigger Block Timetblockt_{block}1.52.02.5sSensor reset lockout period
Operating TemperatureToprT_{opr}-2080°CAmbient air

Signal Timing Diagram

text
 Motion Event:      [ Human Passes Sensor ]
 OUT (Pin 2):   ────┐                     ┌────────────────────
                    │<──── 2.3 sec ──────>│
                    └─────────────────────┘
  1. Idle State: Pin 2 (OUT) sits at 0V (15 μA15\ \mu\text{A} standby draw).
  2. Motion Trigger: When a thermal IR body (9.4 μm9.4\ \mu\text{m} wavelength) moves across the Fresnel zones, OUT goes High (3.3V) for ~2.3 seconds.
  3. Block Period: After returning to 0V, the module blocks new triggers for ~2.0 seconds to allow pyroelectric elements to thermally re-stabilize.

Wiring

AM312 PinArduino / MCUESP32Notes
VCC5V / 3.3V3.3VWorks down to 2.7V (battery direct)
OUTDigital D2 (INT0)GPIO 4Direct 3.3V logic output
GNDGNDGNDSystem ground

Example (ESPHome Motion Sensor)

yaml
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO4
      mode: INPUT_PULLDOWN
    name: "Living Room Motion Detector"
    device_class: motion

Common mistakes

  • Misidentifying pinout order: Looking at the rear PCB with header pins pointing down: Pin 1 (Left) = VCC, Pin 2 (Center) = OUT, Pin 3 (Right) = GND. Connecting VCC to GND damages the internal ASIC.
  • Expecting continuous high output during static presence: Like all PIR sensors, the AM312 detects change in thermal IR position. Sitting completely motionless causes OUT to return to 0V after 2.3 seconds.

Notes

  • AM312 vs HC-SR501: AM312 is 10×10\times smaller, draws 15 μA15\ \mu\text{A} (vs 50 μA50\ \mu\text{A}), operates down to 2.7V, and eliminates bulky potentiometers.

Assets & downloads