Control Your Halloween Decorations With Arduino




About: My name is Jason Poel Smith. In my free time, I am an Inventor, Maker, Hacker, Tinker, and all around Mad Genius

Animated Halloween props are a lot of fun. But the props that you buy at the store have some major limitations.

One problem is that each prop is activated by its own sensor. So it is difficult to get them to work together in unison. If the props are out of sync, the overall effect isn't as scary.

Another problem is that the built-in "motion sensors" aren't very effective. Most props are activated by a light sensor that detects the change in light when someone walks by. So in order for them to work, they need light to be shining on them. They won't work at all in the dark. They can also be falsely triggered if the lighting in the room changes.

So I worked out a system that lets you control all your animated Halloween props with a single microcontroller (such as an Arduino). This lets you exactly choreograph how and when each prop will turn on an off. It also lets you use external sensors that you can customize for your exact setup.


Step 1: Watch the Video

Here is a video walkthrough of the project.

Step 2: Materials

Here are the materials and tools that you will need for this project.


Halloween Props with a "Try Me" button

Arduino Microcontroller

5 x NPN Switching Transistor

5 x 1 kohm Resistor


Circuit Breadboard

Nonconductive Tape




Small Screwdrivers

Wire Strippers

Soldering Iron and Solder

Step 3: Find Halloween Props With a "Try Me" Button

There are many different kinds of animated Halloween props and they can all be hacked in one way or another. But for the purposes of this project, I am going to focus on battery powered Halloween props that have a "Try Me" button. These props will have a button somewhere on the package that will let you activate the programmed animation. This lets you see the prop in action before you buy it.

The "Try Me" button lets you activate the prop remotely. By connecting to the terminals of this switch, you can control the prop with an external circuit such as an Arduino.

So when looking for props, try to find ones that have an external play button that activates the animations.

Step 4: Disassemble the Button

The easiest way to connect to the prop is at the terminals of the button. In order to do this, you need to disassemble the button. You can usually pry open the plastic housing with a small screw driver. If it is snapped together, just depress each of the tabs and it will pop open. If it is glued, you may need to crack open the glue seam.

Inside you will find a small switch with two or four exposed terminals.

Safety Warning: As stated before, this procedure is only intended for battery powered props. I do not recommend disassembling switches for AC powered props. This can be very dangerous if not handled properly.

Step 5: Use a Multimeter to Identify the Terminals of the Switch

Use a multimeter to measure the voltage between the two sides of the switch. The measured values will be different depending on the design of the prop. The only thing that you need to be concerned with is the relative polarity. You need to know which terminal is more positive and which terminal is more negative.

To help keep track of which terminal is which, I used colored markers to make side of the positive terminal red and the negative terminal black.

Step 6: Test the Terminals With a Resistor

There are two types of "ON" switches that you might find on a Halloween prop. The first type is a low current signal switch. These just send a small signal to the control chip on the prop. The second type is a high current power switch. This switch connects the prop to the battery pack and has to handle all the power that is required by the prop. We need to know which type of switch it is so that we can use an appropriate transistor to activate the prop.

To test which type of switch it is, take a 1 kohm resistor and touch the two leads of the resistor to the two terminals of the switch that are connected to the prop. If there isn't a large enough exposed surface, you can disconnect the switch at the base of the prop and touch the leads of the resistor the terminals of the prop itself.

If the animation activates, then it is a low current switch and you will be able to use low current transistor to activate the prop. If it does not activate, then it is probably a high current switch and you should use a "power transistor" (rated for at least 1 amp) to activate it.

Step 7: Make an External Transistor Switch

You can use a transistor to simulate the button being pressed. First select an appropriate NPN transistor. Then connect the "collector" pin of the transistor to the positive terminal of the switch and connect the "emitter" pin of the transistor to the negative terminal of the switch. Because we will need to make more connections to transistor later, you will probably want to connect to the switch with small jumper wires. When you apply a positive voltage (relative to the emitter pin) to the "base" pin of the transistor, the two terminals of the switch will be effectively connected and the prop will play its animation. A 1 kohm resistor added to the base pin of the transistor helps to protect it from excessive current that could potentially damage it.

Step 8: Connect the Transistor Switch to the Arduino

Now you need to connect the transistor switch to your microcontroller. Connect the GND pin of your microcontroller to the emitter pin on your transistor. Then connect one of the digital pins to the 1 kohm resistor that is connected to the base pin of the transistor. When the digital pin is set to a HIGH output, the transistor will activate the prop.

Step 9: Add Additional Props

Repeat the previous steps to add additional props. You can control as many props as there are digital output pins on your microcontroller.

Step 10: Add External Sensors

Now you can add your own external sensors to activate the system. Here are links to a few examples.

Pressure Plates:

Proximity Sensors:

Motion Sensors:

Step 11: Sample Arduino Code

//Here is some really basic sample code that you can use to test your system.

int PropOnePin = 8; // Prop One connected to digital pin 8
int PropTwoPin = 9; // Prop One connected to digital pin 9 int PropThreePin = 10; // Prop One connected to digital pin 10 int PropFourPin = 11; // Prop One connected to digital pin 11 int PropFivePin = 12; // Prop One connected to digital pin 12 int SensorPin = 3; // sensor connected to analog pin 3 int SensorVal = 0; // variable to store the value read

void setup() { pinMode(PropOnePin, OUTPUT); // sets the digital pin as output pinMode(PropTwoPin, OUTPUT); // sets the digital pin as output pinMode(PropThreePin, OUTPUT); // sets the digital pin as output pinMode(PropFourPin, OUTPUT); // sets the digital pin as output pinMode(PropFivePin, OUTPUT); // sets the digital pin as output }

void loop() { SensorVal = analogRead(SensorPin); // read the input pin if (SensorVal >100) { digitalWrite(PropThreePin, HIGH); digitalWrite(PropFourPin, HIGH); digitalWrite(PropTwoPin, HIGH); digitalWrite(PropOnePin, HIGH); digitalWrite(PropFivePin, HIGH);

delay(10000); digitalWrite(PropThreePin, LOW); digitalWrite(PropFivePin, LOW); digitalWrite(PropOnePin, LOW); digitalWrite(PropTwoPin, LOW); digitalWrite(PropFourPin, LOW);

delay(5000); digitalWrite(PropThreePin, HIGH); digitalWrite(PropFourPin, HIGH); digitalWrite(PropTwoPin, HIGH); digitalWrite(PropOnePin, HIGH); digitalWrite(PropFivePin, HIGH);

delay(10000); digitalWrite(PropThreePin, LOW); digitalWrite(PropFivePin, LOW); digitalWrite(PropOnePin, LOW); digitalWrite(PropTwoPin, LOW); digitalWrite(PropFourPin, LOW); delay(5000); } }

Step 12: Enjoy Your Automated Halloween Props

Now all you have to do is set up the props in your haunted house and enjoy the fun of scaring your guests.



    • Classroom Science Contest

      Classroom Science Contest
    • Woodworking Contest

      Woodworking Contest
    • Party Challenge

      Party Challenge

    16 Discussions


    6 months ago

    Thank you for this amazing tutorial !
    I followed it, and it works fine until I tried with 8 low current props… I can run 6 of them (doesn’t matter which) but the last 2 never fire up… Is it possible that such props are drawing too much current from the Arduino ?

    1 reply
    DIY Hacks and How TosKrepsL

    Reply 6 months ago

    Probably not. The Arduino isn't powering the prop, it is just controlling the switch. Can you post a picture of how you have everything connected.


    2 years ago

    Would the wiring be similar if I wanted to try this with a Raspberry Pi?

    1 reply

    2 years ago

    In a multi prop system how do you control what prop operates when?

    1 reply

    4 years ago on Introduction

    I have a problem with one of my props, Boris the Butler from ASDA originally.

    I wired up two other props and they word fine, however when I wire up the butler he starts immediately to stutter and won't stop. I have tested his circuit by switching one of the other props onto it, and putting him on one of their circuits. I've tested I have the polarity correct, he has the same voltage and current as the others, the transistor is working (as tested on the other props). If I short his wires together then he works. I even tried removing the transistor and connecting him directly to the Arduino, but the same thing every time.

    The odd thing is that even if I rapidly short his wires or hold them together I cannot get him to stutter; connect him to the circuit and he starts immediately.

    I am pulling my heair out with this one. Any suggestions?

    3 replies

    Did you test the switch with a resistor as mentioned in step 6? If it is a high current switch, it could cause the problem. You may need to use a power transistor. Also check to make sure that the batteries are full. If it is a high current circuit, when it starts up the voltage will drop and that can mess with internal voltage sensors.

    Way ahead of you. Tested the switch with a resistor, took readings of the votls, amps and resistance, tried a power transistor, nothing seems to help.

    Batteries were running low, so I have replaced them with fresh batteries, made no difference.


    Hi there, we have showcased this great instructable in our blog.

    In adition, we are searching for more Halloween projects ideas for our incompany party... ;)

    1 reply

    Thanks. Well, if you are looking for some more Halloween projects, here are a few of mine.

    Or you can just search the whole Instructables site:


    4 years ago on Introduction

    Great instructable! I wouldn't have thought to test the switches with a resistor but you are spot on. One question came to mind; would you want to disable the on-board motion sensor or whatever mechanism the manufacturer meant to trigger the prop? This would ensure the prop doesn't go off as the manufacturer intended, but only goes off as you intend, with the additional pressure pad, motion sensor, proximity sensor, etc., that are connected to the Arduino.

    Thanks for the great ideas!!

    2 replies

    Most of these props have a switch that deactivated the motion sensor. That way they don't kill the batteries before the hit the shelves. But the "try me" button will still work with the motion sensor off.