Enabling Motion Detection

#Enabling Motion Detection

WARNING: Only compatible with Raspberry Pi

#####Do not enable or attempt to install on any thing other than a Smart-Mirror compatible Raspberry Pi Device.

Installing Dependencies

Motion Detection requires Johnny-five.io as well as Raspi-io.

make sure you're within the smart-mirror folder.

cd ~/smart-mirror

from the smart-mirror folder run the following command.

npm install johnny-five && npm install raspi-io


Use the Motion Settings of the ConfigUI to configure and enable the motion detection after installing dependencies.

VariableUsageData TypeDefault Value if not included in config.js


Identify GPIO input Pin connected to output pin of the PIR device or other device used to detect motion




enable motion detection



Making it all work

Parts required

  • (optional!) LED (color of your choice)

  • (optional!) Resistor (based on draw of LED)

Wiring Diagram with LED

Wiring Diagram without LED

Basic Functionality

Motion detection works with AutoTimer Settings. Using Johnny-Five's motion API the PIR device is connected to a PIN on the Raspberry Pi. Suggested PIN is GPIO 26 as illustrated in figure 1 and figure 2 above. When the motionstart event is triggered the auto-sleep timer is stopped and will remain stopped until the motionend event is triggered. When the motionend event is triggered the auto-sleep timer is started and set to the config.autoTimer.autoSleep interval set in configUI.


A live chat to get help and discuss mirror related issues: discord chat. Usually there are a few folks hanging around in the lobby, but if there aren't you are probably better off filing an issue. Please tag @justbill2020 on any motion detection issues.

Last updated