How to Build a Simple Arduino-Based Motion Sensor Alarm that You've Never Heard Of

Building a motion sensor alarm with an Arduino is a fun weekend project that can add an extra layer of security to your home or office. With just a few common electronic components, you can construct a device that makes an audible alarm when motion is detected. Even if you've never tinkered with electronics before, this straightforward alarm system is totally doable for beginners.

Here's a step-by-step guide to building your own Arduino motion sensor alarm that you can customize to suit your needs.

What You'll Need

To build the alarm, you'll need:

Optional Parts

These components are very inexpensive and can be purchased online or at most electronics stores. The key elements are the Arduino board, which acts as the brains of the system, and the PIR sensor, which detects motion in its range.

How a PIR Motion Sensor Works

The PIR (passive infrared) motion sensor is the heart of this project. It allows the Arduino to detect movement within approximately 20 feet.

Inside the sensor are two slots cut into the housing, each containing a pyroelectric sensor made of a crystalline material. These sensors detect levels of infrared radiation. When a warm body like a human or animal passes in front of the PIR, the sensors detect the sudden change in infrared radiation, causing an increase in voltage that triggers the output pin.

Essentially, the PIR sensor detects the infrared signature of a living thing moving within its range. The PIR modules have circuitry that detects this change in voltage and toggles the output pin high when motion is sensed.

Connecting the Sensor to the Arduino

Wiring up the motion sensor to the Arduino is very straightforward. Follow these steps:

That's it for the connections! The PIR sensor requires only power and ground to operate, and a single output pin that goes HIGH when motion is detected.

Using a Breadboard

For the initial prototyping, I recommend using a solderless breadboard to connect the components without needing to solder. Just insert the jumper wires and components into the breadboard holes per the wiring diagram.

This allows you to tweak the design as needed before committing to a permanent soldered circuit.

Arduino Sketch to Detect Motion

Now for the software side of things. The Arduino needs to be programmed to detect the state of the PIR sensor pin and trigger the alarm when it goes HIGH.

Here is a basic Arduino sketch to accomplish this:

const int pirPin = 3; // PIR connected to pin 3
const int buzzer = 9; // Buzzer connected to pin 9

void setup() {

pinMode(pirPin, INPUT); // Set pin as input
pinMode(buzzer, OUTPUT); // Set pin as output


void loop(){

if(digitalRead(pirPin) == HIGH) { // If motion detected

 digitalWrite(buzzer, HIGH); // Sound alarm

else {

 digitalWrite(buzzer, LOW); // Disable alarm



The sketch checks the pirPin continuously in the loop. When motion is detected and the pin goes high, it sounds the alarm by setting the buzzer pin HIGH.

This basic code is all you need to detect motion and activate the alarm!

Adding an Alarm Sound with a Buzzer

A simple buzzer or piezo speaker is perfect for making an audible alarm. Just connect one pin of the buzzer to pin 9 on the Arduino, and connect the other pin to ground.

Then within the Arduino sketch, set pin 9 HIGH to activate the buzzer. The alarm will sound until the pin is set LOW again.

You can easily substitute a different tone buzzer, or connect the pin to a small 8 ohm speaker if you want a customizable alarm sound. The code remains the same.

Adjusting Alarm Volume

To make the buzzer louder, use a transistor or MOSFET to switch the buzzer and provide more current. An NPN transistor like the 2N2222 with a 1K resistor biases the buzzer correctly for full volume.

Optional Enhancements

There are all kinds of ways to enhance this basic motion alarm:

The possibilities are endless! The Arduino is so versatile that this motion alarm can evolve into a much more complex project over time.

Creating a Portable Enclosure

Once you've tested and finalized the circuit on a breadboard, transfer it to a permanent soldered board or stripboard.

The alarm can be powered portably with a 9V battery connected via a battery clip. Make sure to include an on/off switch to conserve power when not in use.

For a slick finish, mount all the components inside a plastic hobby enclosure. This protects the electronics and gives your DIY motion alarm a polished look.


Building your own Arduino motion alarm is a super satisfying electronics project. With just a Passive Infrared Sensor and a few standard components, the Arduino can detect intruders and activate an audible alarm.

This simple project is also a great starting point for enhancing your Arduino skills. You can tweak the code and circuit endlessly to create a fully customized motion alarm that fits your needs, perfect for adding cheap security anywhere.

So grab an Arduino and PIR sensor, follow the wiring diagram, upload the sketch, and enjoy bringing your own unique motion alarm to life! Let me know in the comments if you end up building one.