Having a motion sensor alarm in your home can add an extra layer of security and give you peace of mind when you're away. The best part is that building a basic motion sensor alarm with an Arduino is surprisingly easy and affordable.

In this comprehensive guide, I'll walk you through every step of constructing your own Arduino motion sensor alarm, from gathering the components you'll need to writing the code that brings the system to life. I'll also provide tips for installing and positioning the sensor, troubleshooting issues, and customizing the alarm to suit your needs.

Required Components

The great thing about building projects with Arduino is that you can keep the parts list short and simple. Here are the main components you'll need:

Arduino Board

The Arduino Uno or any other Arduino board will work nicely. The Arduino acts as the brain of the alarm system.

PIR Motion Sensor

This passive infrared (PIR) sensor detects motion by measuring infrared radiation. It's the easiest way to add motion-sensing capabilities.


A small piezo buzzer that provides the audible alarm when motion is detected. Choose one with an operating voltage of 5V.


A solderless breadboard makes it easy to prototype and connect components to the Arduino.

Jumper wires

Jumper wires are used to connect components to the Arduino board and breadboard.

9V Battery

An external 9V battery will power the Arduino and other components.

Circuit Design

With the components ready, it's time to build the circuit. Here are the steps to connect everything together:

  1. Insert the Arduino into the breadboard.

  2. Connect the positive (+) rail on the breadboard to the 5V pin on the Arduino.

  3. Connect the negative (-) rail on the breadboard to the GND pin on the Arduino.

  4. Connect the positive lead of the PIR sensor to the 5V rail.

  5. Connect the ground lead of the PIR sensor to the negative rail.

  6. Connect the output pin of the PIR sensor to digital pin 2 on the Arduino.

  7. Connect the positive lead of the buzzer to digital pin 3 on the Arduino.

  8. Connect the negative lead of the buzzer to the negative rail.

  9. Connect the 9V battery to the power rails to provide power.

That completes the circuit! The PIR sensor and buzzer are now wired up to the Arduino and ready to be programmed.

Writing the Code

The Arduino code brings the motion sensor alarm to life by checking for movement, triggering the buzzer, and controlling timing. Here are the key steps:

  1. Set pin 2 as an input for the PIR sensor.

  2. Set pin 3 as an output for the buzzer.

  3. Create a variable for the buzzer duration.

  4. In the loop() function, read the state of the PIR sensor.

  5. If motion is detected, turn the buzzer on for the set duration.

  6. Add a short delay after triggering the buzzer before checking for motion again.

The complete code can be tweaked as desired, such as adjusting the buzzer duration or adding functionality like a countdown timer.

Installing and Positioning the Sensor

Once the circuit is built and coded, it's time for installation. Here are some tips:

Troubleshooting Issues

Despite the simple build, you might run into glitches. Here's how to troubleshoot common problems:

Customizing the Alarm

Once the basic alarm is up and running, there are plenty of ways to expand its capabilities:

The options are endless for customizing to suit your exact needs!


Building your own motion sensor alarm with Arduino provides affordable security that you can control and modify. This guide covered sourcing components, constructing the circuit, installing the sensor, coding, troubleshooting, and customization. With the steps outlined above, you'll be able to create a fully-functional PIR-based security system to help protect your home.