Introduction: Ultimate Arduino Halloween
This is not a stand-alone Instructable. Its purpose is to serve as an overview and intro to the “real” Instructables linked below. This avoids repetition and mistakes and you can skip it if you have no interest in the overview of our Halloween projects. Each of the linked Instructables is stand-alone but will make more sense in the context provided here.
Its other purpose is to share our experience with various components; servos, relays, circuits, LEDs, etc. None of it is authoritative but hopefully it will make you aware of things that you previously had not considered.
This is a themed Halloween display. All of the props have a link back to a notable scene, character, or prop from a scary or Halloween movie. Admittedly a few of them are a stretch but that's called artistic license. There are no slasher movies that make the cut. This is intended to entertain kids even if their parents need to identify some of the movie references.
We are a father/daughter team, both computer engineers, who share the engineering and computer programming. She does virtually all of the artistic work. Virtually everything is homemade including most of the costumes, artwork, and masks. All of the animatronics and programming are home-built as well. There are no live action players, all of the characters are animatronic props.
The first display was set up in 2013 and it has grown every year since. Originally Stephen King based, it expanded into Halloween and scary movie (with a little TV tossed in) themed. Before an exhibit is added, it first must meet the theme requirement. Ideally we look for some recognizable scene that everyone knows about even if you never saw the movie. In the case of remakes, the original is better even if the remake broadens its appeal and recognition.
The second criteria for addition is can we make it cheaply. There are a lot of great ideas but many of them would require specialized items that would blow the budget. Home Depot is a big source of stuff and anything that can be repurposed or rescued from scrap is a big plus. And lastly it needs to be broken down for storage for 51 weeks. While we build and tweak all year, most of the displays are only out for a week.
Mostly, we set up and move inside each night. So as we build we look to include portability, self-containment, and durability.
Most of the props are driven with Arduinos. Some use one, several require two to offload different functions. Currently we use Pro Minis, Unos, and Megas. Pi Zero-W is being added now.
Below is a cameo description of each of the exhibits. As Instructables are added, we will include their links. Comment here if you’d like to see a particular one written up. We are getting to them as we can.
Before the cameos, we've offered some observations, insights and lessons learned. Feel free to disregard if you have had a different experience or have a different opinion.
Step 1: A Brief Discussion on Sound Modules
Most of our projects use embedded sound; might be a memorable quote from a movie ("Danny's not here Mrs. Torrance"), a longer quote ("The Raven" by Edgar Allen Poe), or much longer musical or soundtrack scores. Since they are tied into other actions, motion sensors etc, they need to be integrated with and controlled by the underlying micro controller. If you're just looking for.background music or creepy sounds, make it easy on yourself and use the music player tucked in the back. But if you plan on doing anything beyond that, you'll need to fool around with the sound modules that are available.
There are a bunch of options; sound shields run in the $20 range but are quick and easy to set up and use. We opt for the $3-$5 module and suck up the extra work to setup on the assumption that we can use what we learned over again. We have been experimenting with different modules which means different code, libraries and approaches but there are a lot of lessons learned. This is not a primmer for these modules; there is a lot of info out there on each one.
Common across all of them is the ways they operate. Most are 16 pin, need 5V (some are 3V even within the same module so pay attention), ground, have 2 to 4 speaker pins, and one BUSY pin. The remaining pins are KEY pins and operate like pushbuttons. Drop an input to ground to a pin and it plays the corresponding file. That is generally referred to as KEY mode. The corresponding file to the key1 pin is the first file on the device; that may be the first one copied or it may be alphabetically. Trial and error prevails here. Easy to determine if you only need one file. Generally you do not need a library installed if you you are using KEY mode. Its easy and straightforward.
The other mode is serial and some of the modules have different serial options but essentially you install a library, configure a TX and RX between the MCU and the sound module. More complicated and trickier to setup but more a flexible programming option.
All of them have a BUSY pin which just tells you if the module is playing or not. If using a library, there is probably a function call which returns a T/F. Handy for while loop control when your music is playing. If going KEY mode, simply read the pin; HIGH probably means its playing.
Not all sound formats are created equal. These may come up as MP3 players but don't believe it. Some only play WAV files, some MP3 files, and one uses an AD4 format. They are all picky about types of encoding and bit rates. Don't expect to simply copy a file and go. If you don't have Audacity, get it; you can expect to resample files. Use the lowest bit rate that sounds good and is supported by your module. That reduces filesize.
Don't be fooled by advertised storage. These always (?) are advertised in terms of megaBITS not megaBYTES. So a 8Mb -- usually listed as 8M -- module will hold only 1MB of sound. Not a problem for a few small sounds but you're not getting a 3 minute song on it.
The onboard amplifiers here can drive a small speaker but don't expect much. Add an amplifier or use old powered computer speakers. Generally they all provide both DAC and PWM speaker outputs.
Our first foray into sound was the WTV020-SD. There are a couple of versions and they are widely available on eBay. This player uses a microSD card for storage. I would avoid this at all costs. While cheap, they generally only work with 1G cards and are very picky about the card. You can't buy legit 1G cards anymore and the knockoffs don't seem to work. If you have an old phone that used a 1G card, you might be able to recycle it here but while convenient, the SD card is a problem for these modules. It also uses AD4 files so you'll need to convert WAV files to use it.
Next up was the WT588. There are three versions. The 16 pin version and one of the 28 pin versions do not have an onboard USB port. You need a separate programmer to load files. Not a huge problem if you are using multiple WT588s like we are; the programmer is only 10 bucks. The USB version is only on the 28 pin package so its a bit bigger. These are pretty nice; play WAV files and are easy to use in your project. The software to load files is clunky though. There are plenty of videos out there on how to load files. Its kind of comical starting with the Chinese interface (there is an option for English but its not saved session to session) and you can't use the full keyboard in your file name. The software doesn't know about "E"s and other characters for example. These are available in multiple memory sizes; generally get the largest you can find. The price difference is trivial.
Our current favorite seems to have gone out of production. Its the MP3FLASH-16P. There are still a few out there but I've only come across a 16Mb (2MB) version. The USB port is onboard; plug it in to your computer and it shows up as removable drive. Too easy. It also plays MP3 files in stereo which is a huge plus for us. These are pretty straightforward to use but there is only a Chinese manual for it.
There are a couple of others out there. We will eventually give them a shot.
Step 2: A Brief Discussion on Servos
Avoid using USB power when using servos. Servos draw a lot of current in very brief spikes. They can draw more power than USB typically supports and can cause erratic behavior of the Arduino. (one servo probably won't give you any issues). In extreme cases, its possible to damage the USB host in addition to the Arduino. The first indication of trouble will be the COMM port dropping offline from your host as the servo moves.
We add a 470 microFarad capacitor when using servos. Wire it in parallel with the servo from ground to the 5V servo power. It smooths out the power draw and we noticed that our sound processors behave better without the power flux caused by the servo. If you have one servo triggered by say a motion sensor, don't bother with the capacitor especially if you are powering through the DC barrel connector.
If you have a lot of servos in your project, consider using a second power supply for just the servos. Remember to tie the grounds together or you will see very erratic results. A servo/motor shield generally supports more servos as well as DC motors and has the circuitry to provide stable power to the Arduino through the Vin pin.
Step 3: A Brief Discussion of LEDs
There are lots of references on how to use LEDs in your projects. A great source for helping is this led wizard. It will help you decide on the correct led and resistor sizes in a basic circuit.
For anything more complicated, pre-built modules are the way to go. We like Adafruits's Neopixels. Lots of options in terms of size and configuration. They are based on WS2812, WS2811 and SK6812 LED/drivers, have great library support, and are readily available. There are other options out there that use the same addressable hardware. Make your choice based on what your project needs.
If you are just looking for straight illumination, go with cheaper LED tapes that are not addressable. They just need power attached and can be turned on and off with relays/MOSFETs.
LEDs can draw a lot of current. Yes you can power them from an Arduino.Too many will cause erratic behavior from the MCU and can damage equipment. If using more than a few, provide separate power and remember to tie the grounds together. Do the math ahead of time; calculate the current needed before you hook it up. As with servos, avoid USB computer power and use a separate power supply.
For the Pumpkin Patch, we ended up using MakeBlock RGB LED modules. They use the same chips as the Neopixel (WS2812, WS2811 and SK6812 LED/drivers). In fact there are lots of options that use these chips. Pay attention to what you are buying and what your project needs. . We chose the MakeBlock simply because of the form factor. They have 4 LEDs/module and had an integrated RJ25 port which made cabling 30 pumpkins much cleaner. We were going to add RJ ports to Neopixels and these turned out to be a bit cheaper and less work since they came already assembled.
We used 30 wires to 30 pumpkins. That was solely based on physical layout. We could have just as easily used 1 wire in a continuous stream to all the pumpkins but that would have required a pumpkin to pumpkin connection which we did not want.
Depending on your requirements, SPI or I2C based leds may provide a better form factor or software advantage. Again, it all depends on your project.
Addressable LEDs use memory and it adds up. Each of our individual LEDs uses 3 bytes of available RAM. Between the program code and dynamic RAM to do what we wanted with the Pumpkin Patch, we blew out of memory multiple times before we found an approach that worked. We also had an undesired side effect with these LEDs. In order to get the precise timing done when addressing them, the library affects interrupts and these in turn affect the internal Arduino clock. Bottom line is that Arduino functions that use the clock are unreliable. There are ways around it but we went with simple. We rigged up a Pro-Mini to supply a 1 second square timing wave to the Mega and triggered off of that wave vice the internal clock.
Step 4: A Brief Discussion on Electricity
This is not a primer on circuits and electricity. These are some observations and things that need to be mentioned. First off, if you are unfamiliar with the concepts of basic circuits, then you need to get up to speed before jumping in to any project. Even the simplest Blink example will make more sense if you know the terms and components referenced.
Alternating Current (AC) is what is available in your wall outlet. Direct Current comes from wall warts, batteries, and computer power supplies. They are very different, have different rules, and are used in different ways.
Most of the circuits we use are low voltage, low current, DC circuits. You're not likely to hurt yourself by doing something wrong. You may fry some components but won't be burning the house down. Your USB connection delivers 5V DC. A wall wart into the DC barrel jack typically is 9V. The wall wart performs the conversion of AC to DC power. If recycling an old phone or camera charger to power your project, ensure it meets your power requirements. Look for the output rating printed on it. We target 2A DC output for our pi and Arduino projects. A new one runs less than $10. Same thing if using a battery pack. Make sure you have a configuration that delivers both the correct voltage and current .
We have a bunch of wall warts from Enercell that we got when Radio Shack was closing; 90% off; couldn't bear it. We have them in a wide range of voltage and current combos and they use interchangeable tips so they are very handy. They were a Radio Shack brand but there are still some offered online. If you find one, the barrel connection on the UNO uses an "M" tip. The convention to use when making connections is RED for 5V, ORANGE for 3V, and BLACK for ground. We tend to follow that religiously and never use those colors for anything else.
AC circuits are another story. Its potentially dangerous and the net is full of bad examples of wiring. Don't approach AC circuits unless you are familiar with what you are doing.
Can you use an old computer power supply? The short answer is yes but..... For most purposes you don't need the power it can provide and its not worth the work to tie in the wires to your project. That said, we do use them and in fact have bought new ones because we ran out of old ones. They are cheap ($15 for a 400W version), deliver plenty of amps at 3, 5, and 12V and are easy to find. Why use one? If the project requirements tell you you need to. For example, the Wedding Clothes project uses 4 solenoids to control 4 pneumatic circuits. They are 12V DC and each draws 1.5A. That's potentially 6A and 72W; not getting that from a wall wart. It has LED tapes that also run at 12V plus all the normal 5V requirements in an Arduino project.
How do you turn things on and off? Use a relay. A relay acts exactly like a switch. When choosing a relay, you absolutely must be aware of the power requirements of the device you are cycling. Is it AC or DC; not all relays support both. How many amps will the load draw? What are the power requirements of the relay? Is it triggered on active HIGH or LOW? If using mechanical relays, we power them separately from the Arduino. If using solid state, not really necessary to give them separate power. An option for DC circuits (like for some LED applications) is a power MOSFET. Look for pre-built modules rather than making your own.
There are a bunch of relay modules out there. They come as single units all the way up to 16 on a single board. Most of the solid state relay modules (SSR) do not support DC circuits. Look carefully before buying. The advantage to SSR is that they are silent, will last forever as they have no moving parts, and are a good buy in low amperage versions. As the amps go up, their price goes up fast. Mechanical relays (basically magnetic switches) are noisy when they activate (there is a noticeable click), will wear out eventually, and have a higher power requirement than SSRs. These small modules though can control a lot of power for a relatively low price. The ones you typically see everywhere use a small rectangular cube relay made by Songle. They are blue in color. We have had terrible luck with them and refuse to buy them. At least one on each module has prematurely failed. Look for the ones that have a relay made by Omron. Its the same footprint, black in color, and infinitely more reliable. They cost more too. Omron relays are typically the ones seen on the SSR modules.
Things to know when selecting a relay module: AC or DC. control voltage (5VDC or 12VDC), default setting (NO-normally open or NC-normally closed), max current rating (typically 2A on SSR and 10 on mechanical), max voltage, and active (HIGH or LOW).
The single biggest error floating in the Internet examples is probably the wiring of AC relay circuits. Everyone wants an IoT device running something at home. When wiring a relay, always switch the load not the neutral. If you switch the load, there is no current to the device when the relay is off. If you switch the neutral, there is always power to the device which can result in injury or damage if you or something else touches it and completes the circuit. If you don't understand these term, you shouldn't be working with AC circuits.
Step 5: The Shining – Come Play With Us (2013)
The original display. This is a full size walk through of the scene where Danny is riding his trike in the hallway and sees the ghosts of the Grady twins. Its full of lots of Easter Eggs and include a picture of the same scene done in Peeps for the Washington Post. Uses motion sensors and simple sound cards with the appropriate phrases.
Step 6: The Shining – Here’s Johnny (2013)
Motion sensor activated, Jack Torrance’s face comes through the broken bathroom door and utters his iconic phrase. Not scary but startles the adults (it is above kid level) as the head bangs the broken door. Uses an Uno controlled PIR motion sensor and sound card to drive the servo driven head.
Step 7: Carrie – the Prom Scene (2014)
A bucket of continuous blood pours over Carrie as she stands in front of the senior prom backdrop. Uses a re-purposed swimming pool pump and a big plastic tub for one of the classics. TIP: Fake blood has a tendency to foam up. Add spa defoamer (available at swimming pool and hot tub dealers) to keep it from foaming and ruining the effect.
Step 8: Misery (2014)
Our simplest and one of the early additions. Plans are to have the Annie Wilkes skeleton swing a hammer at the Paul Sheldon's ankles. Just haven't quite gotten to it.
Step 9: It – Pennywise the Clown (2015)
Don’t ya want a balloon? This one is pretty creepy. Watch the animatronic eyes follow you around the corner.
Step 10: The Exorcist – Reagan’s Head Spinning (2016)
A true classic and surprisingly easy to do. An Uno, a stepper motor and driver and a sound card. The nightgown was purchased (pea soup vomit stains included) but the face makeup on the styrofoam head is all hand done.
Step 11: Beetlejuice – the Wedding Clothes (2016)
Remember Otho reading from The Handbook for the Recently Deceased and the reanimated wedding clothes on the dining room table? This is it. The two mannequins are inflated with an air compressor as Otho reads. This uses both an Uno and a Pro Mini, has 4 pneumatic circuits, 6 DC circuits, 4 AC circuits and more are planned to make them rise off the table. Adds a compressor and vacuum for a real crowd pleaser. ANd check out Otho's book; you can buy anything online.
Step 12: Ouija – the Ouija Board (2017)
No random movements. Capable of spelling anything from a keyboard or running in automode with a second Arduino pushing in pre-stored phrases. Stepper motors and some clever programming made this a hit when it debuted. This can be built for under a $100. See the full Instructable here.
Step 13: The Raven – Vinnie (2017) - VOTE
More about the Poe short story than the 1963 Vincent Price film, this is a full size skeleton who, in Vincent Price’s voice, reads the Raven aloud. This is not your $15 talking skull from a discount store. All home built, it processes sound files live and programmatically determines the jaw movements. Currently its being expanded and modified to work with more skulls and live radio broadcasts. See the full Instructable
Step 14: Hocus Pocus – Book of Spells (2017)
Compare at $75 on Amazon without the animatronic eyeball. Handmade out of an old router box. Give it a tap and wake up the eyeball.
Step 15: Haunted Mansion - Madam Leota (2017)
A simple Pepper’s Ghost with a 7” tablet and a hollow globe. Cheap and easy, there are lots of articles out there on how to build it. Best viewing was to put it on a high table.
Step 16: Pet Semetary – the NLDS Semetary (2017)
This is admittedly a stretch but…… Look at the sign; Pet Semetary style and font only changed to NLDS to capture our misery of the Washington Nationals giving up the Division Series in 2012, 2014, 2016, and 2017. (It’s a different choke in 2018). One headstone for each year along with an exposed coffin and NATs flag. Mainly all pinkboard from Home Depot. Hard to find in mid to late October if you’re interested in a graveyard theme.
Step 17: The Ring – the Telephone Call (2017)
This uses a telephone circa 1940, with a Pro Mini and two sound module to ring and playback the infamous “7 days” line. We needed two sound modules because we wanted the ring to come from the phone body and the voice to come through the speaker handset. The Arduino interfaces with the 80 year old phone through the speaker, handset, and cradle hook to know when its answered. The only problem was the number of kids who did not know how to answer a phone or hold it to their ear.
See if you can identify the people in the picture. Its not related to The Ring but is very much Halloween related and is one of the many Easter Eggs throughout the display.
Step 18: The Ring – Samara Climbs Out of the TV (2017)
Remember the dead girl from the well climbing out of the TV? She doesn't climb but does turn her head to look at you. We were surprised by the number of pretty young kids that recognized this one.
Step 19: The Pumpkin Patch – NEW FOR 2018 - VOTE
Not brand new but certainly kicked up a notch. The daughter half of the team loves to carve pumpkins. They typically stick in the theme as well. Over the years, she started adding foam pumpkins because of their relatively longer life. These are not your typical Jack-O-Lanterns and this is not a tutorial about carving. For 2018, they have been set to music with RGB LEDs. In its scripted mode, the various pumpkins illuminate in time with the music which is a composite of sounds and music from many movies and shows. As each sound/music bit plays, the appropriate pumpkin(s) illuminate. In organ mode, it processes any music and lights up different "bands" of pumpkins in different colors, all synced to the music. See the Instructable COMING SOON. See the gallery of pumpkins here.
Step 20: Snow White - Mirror Mirror - NEW FOR 2018 - VOTE
Our first digital effect, we recreated the iconic scene from the movie and added a few others. This is also our first use of a Raspberry pi Zero, Version 1 is pretty basic and straightforward; look for lots of additions in years to come. View the full Instructable
Step 21: 2019 and 2020 Updates
We added nothing in 2019. Weather was terrible and the Nats won the World Series so we are at a lot of playoff games. For 2020 we did a much scaled down Covid version and added the Sandworm for giving out candy
Step 22: New for 2021
We added a lot of real estate to the display this year. We found a bunch of old items at auction that we added tech to and will summarize here. As we have time to post specific write-ups we will.
The Radio Broadcast. October 30, 1938 was the original broadcast of War of the Worlds which caused all the issues in New York and New Jersey. We have the original Orson Wells broadcast playin on a vintage 1935 Philco radio.
Mommy and Baby. The pram is about 110 years old. When we found it, it was perfect. A few holes in the top, the metal sides show wear and fading, and it still rolls pretty well. Mommy is wearing a dress circa 1930s and baby has a christening gown from around 1930.
The Horror TV. This is a 1950 RCA Victor cabinent. We 3D printed new knobs, added a Pi Zero, an Arduino Uno and a LCD TV to get whatever we want on it. The channel changer knob rotates as channels change
Baby in a Rocker. An old dress recycled from a friend who wanted it to find a good home. Next step is to use a linear motion actuater to rock the chair.