Motion Detector Bricklet


The Motion Detector Bricklet is discontinued and is no longer sold. The Motion Detector Bricklet 2.0 is the recommended replacement.


  • Passive Infrared Motion Sensor
  • Detects motion in distances of up to 7m (configurable)
  • High sensing angle (100°)


The Motion Detector Bricklet is equipped with a passive infrared (PIR) sensor. It can be used to extend Bricks to sense movement of people and animals. It has a configurable detection range of 3m to 7m with a sensing angle of 100°.

By using configurable events it is possible to react on detected motion without polling.

Technical Specifications

Property Value
Current Consumption 1mA
Detection Range 3-7m (configurable)
Sensing Angle 100°
Delay Time 3-200s (configurable)
Block Time 2.5s
Dimensions (W x D x H) 25 x 45 x 30mm (0.98 x 1.78 x 1.18")
Weight 12g


Test your Motion Detector Bricklet

To test a Motion Detector Bricklet you need to have Brick Daemon and Brick Viewer installed. Brick Daemon acts as a proxy between the USB interface of the Bricks and the API bindings. Brick Viewer connects to Brick Daemon. It helps to figure out basic information about the connected Bricks and Bricklets and allows to test them.

Connect the Motion Detector Bricklet to a Brick with a Bricklet Cable. Attach the motion detector on top of the Bricklet.

If you connect the Brick to the PC over USB, you should see a new tab named "Motion Detector Bricklet" in the Brick Viewer after a moment. Select this tab. If everything went as expected you can now see when a motion is detected.

Motion Detector Bricklet in Brick Viewer

After this test you can go on with writing your own application. See the Programming Interface section for the API of the Motion Detector Bricklet and examples in different programming languages.

Sensitivity, Delay Time and Block Time

Motion Detector Image with potentiometer labled

The sensor is equipped with two potentiometers. The potentiometer on the right side adjusts the sensitivity of the sensor which controls the detection range (3-7m). Turning the potentiometer clockwise increase the range.

The potentiometer on the left side adjusts the delay time of the sensor (5s-200s). This is the time the sensor stays in the "motion detected" state after no motion is detected anymore. Rotating the potentiometer clockwise increase the delay time.

If motion is detected the sensor enters the "motion detected" state and stays in this state as long as there is continuous motion. After no motion is detected anymore the sensor stays in the "motion detected" state for the duration of the delay time. If no motion is detected during the delay time then the sensor enters the "no motion detected" state. But if motion is detected during the delay time then it stays in the "motion detected" state. This means the sensor will only leave the "motion detected" state if there is no motion for the duration of the delay time.

If the sensor enters the "no motion detected" state it will ignore motion for the duration of the block time (2.5s, not configurable). After the block time the sensor is ready to detect motion again if there is any.

Status LED

The blue LED on the Bricklet is on if the sensor is in the "motion detected" state and is off if the sensor is in the "no motion detected" state.


A laser-cut case for the Motion Detector Bricklet is available.

Case for Motion Detector Bricklet

The assembly is easiest if you follow the following steps:

  • Screw spacers to the Bricklet,
  • screw bottom plate to bottom spacers,
  • build up side plates,
  • plug side plates into bottom plate and
  • screw top plate to top spacers.

Below you can see an exploded assembly drawing of the Motion Detector Bricklet case:

Exploded assembly drawing for Motion Detector Bricklet

Hint: There is a protective film on both sides of the plates, you have to remove it before assembly.

Programming Interface

See Programming Interface for a detailed description.

Language API Examples Installation
C/C++ API Examples Installation
C# API Examples Installation
Delphi/Lazarus API Examples Installation
Go API Examples Installation
Java API Examples Installation
JavaScript API Examples Installation
LabVIEW API Examples Installation
Mathematica API Examples Installation
MATLAB/Octave API Examples Installation
MQTT API Examples Installation
openHAB API Examples Installation
Perl API Examples Installation
PHP API Examples Installation
Python API Examples Installation
Ruby API Examples Installation
Rust API Examples Installation
Shell API Examples Installation
Visual Basic .NET API Examples Installation
Modbus API