Introduction: Screaming Doorbell

If you have ever seen Murder by Death (1976) or the "Billy Lipps" episode of Psych, you already know that a doorbell that screams can be very entertaining. Once you have the necessary materials, it should only take a couple of hours to configure your home's doorbell the same way, which is what you will need to greet trick-or-treaters this Halloween.

Prerequisites

  • [optional] Doorbell
  • Speakers (powered)
  • Keyboard+Display (HDMI)
  • Wire cutter/stripper/tape

Materials

  • Raspberry Pi model B/B+ (with case and power supply)
  • Long thin speaker wire
  • Stereo audio cable (3.5mm)
  • [optional] Push-button switch (if not using your existing doorbell)

Notes

  1. This doorbell customization is meant to be temporary. A more permanent approach might involve boxing the RPi with a small speaker, and including a wireless network adapter for remote access.

  2. The "speaker wire" is just a wire for the doorbell signal. It is not used for the speakers in this tutorial. Note that you might need shielded wire (possibly shielding the RPi itself). My wire was not shielded and unfortunately we experienced many "false alarms" when the doorbell rang with no one there.

  3. Material cost (assuming you have the prerequisites): ~$50 (USD).

References

  1. http://www.youtube-mp3.org
  2. http://makezine.com/projects/tutorial-raspberry-pi...

  3. http://www.opentechguides.com/how-to/article/raspb...

  4. https://www.raspberrypi.org/documentation/linux/usage/cron.md

Step 1: Hook Up the Raspberry Pi and Install Raspbian

  • The keyboard and display should be connected to the Pi at this time
  • Raspbian should have the default configuration (boot to command line)
  • Login as the default user [pi] with the default password [raspberry]

Step 2: Create a Directory "/home/pi/doorbell" for the Program Files

  • pi@raspberrypi ~ $ mkdir doorbell
  • pi@raspberrypi ~ $ cd doorbell

Step 3: Copy the Program and Sound Files to This Directory

Note: To avoid setting up network access or using putty, shutdown the RPi ("sudo shutdown -h now"), insert the SD card in your computer, and copy the files directly to the SD card. The files will appear in the "/boot" directory when you restart the RPi.

Step 4: Make Both Script Files Executable

  • pi@raspberrypi ~/doorbell $ chmod +x doorbell.py
  • pi@raspberrypi ~/doorbell $ chmod +x doorbell.sh

Step 5: Configure Raspbian to Auto-login and Auto-start Doorbell.sh [Ref#3/#4]

I believe that the approach described in Ref #3 only works on Raspbian Wheezy. For Raspbian Jessie, I recommend using the 'crontab' method described in Ref #4. This might work with Wheezy as well.

To use the 'crontab' method...

  1. Enter 'crontab -e' to open the crontab editor
  2. Add the line "@reboot /home/pi/doorbell/doorbell.sh"
  3. Save the changes and close the crontab editor
  4. Enter 'crontab -l' to confirm that the changes were applied

Step 6: Strip the Speaker Wire at Both Ends

Step 7: Connect One End of the Speaker Wire to the Raspberry Pi

  • One wire goes to pin 14 (GND)
  • One wire goes to pin 16 (GPIO 23)
  • Some pin connection hardware may be needed

Note: At this point, you can do the last two steps as a test by touching the wires together by hand.

Step 8: Decide How to Connect to the Doorbell

Select ONE of the following options:

[A] Use a separate wired (unpowered) push-button switch

[B] Cut power to the home doorbell and connect to the existing switch

[C] Use your existing doorbell wiring as-is -- Additional circuitry may be required!

!!! WARNING: Connecting the Raspberry Pi to an unknown powered circuit can easily destroy it !!!

When in doubt, simply choose option [A]. It is the easiest and does not involve any risk to the doorbell or RPi. I am using option [B], as it is more authentic, and only two bedrooms (in addition to the doorbell itself) need to go without power during the trick-or-treating. Option [C] is riskier and more difficult (it is not covered by this tutorial).

Step 9: Option [A] : Use a Separate Wired Push-button Switch

  • A typical push-button switch has two leads (closed when button is pressed)
  • Connect the speaker wire to these two leads and secure with electrical tape
  • Mount the switch at the front door, so that a visitor will use it instead of the existing doorbell
  • Run the speaker wire from the switch and back to the Raspberry Pi (inside)
  • Try to make it all look as authentic as possible!

Step 10: Option [B] : Cut Power to the Home Doorbell and Connect to the Existing Switch

Note: This approach applies if your doorbell is wired and powered by the electrical wiring in the home.

  • Locate the central breaker box for the house/apartment
  • Flip the switches on/off to determine which one powers the doorbell
  • Make sure that the doorbell circuit is OFF (and stays off) before proceeding
  • Open the doorbell chime box [image] and disconnect the two incoming wires
  • Connect the speaker wire to these two wires and secure with electrical tape

Note: DO NOT restore power to the doorbell circuit until AFTER the wiring has been returned to its original state. Powering the doorbell circuit with the RPi connected could easily destroy it!

Step 11: Install the 3.5mm Audio Cable: RPi Audio Output --> Speaker Input

Step 12: Turn on the Powered Speakers and Then Plug in the Power to the Pi

  • At this point, there is no need for a keyboard, display, or network connection

  • When done booting, it will play the first sound in the list ("wait for it......")

  • It then plays a random sound from the list each time the doorbell rings

Comments

author
DanW175 (author)2017-05-13

but the scream sound effect from the episode of Psych is not in this article I would really like this sound effect for the doorbell nothing else will do

author
ChrisB3 (author)DanW1752017-05-14

Hi Dan,

The files attached to the instructable should include two .wav files.
One is from the movie "Murder by Death" which is identical to Psych.
The other one is just a random screaming sound I found on the internet.

Please confirm that you listened to both .wav files. One of them should sound like Psych.

- Chris

author
DanW175 (author)ChrisB32017-05-14

Yes the first 1 is somewhat close, but not the same. 5 minutes into this video and 7:39, etc https://vimeo.com/98394519

author
CamdenS (author)2015-10-20

I plan on making this project on haloween! Another idea insted of the doorbell is use a motion sensor.

author
ChrisB3 (author)CamdenS2015-10-30

I assume that a motion sensor would work just as well, but I like the idea that the person that made the mistake of pushing the doorbell might have caused the scream.

author
mpoulter1 (author)CamdenS2015-10-28

Camden, I am curious if you were able to make this work. Were you able to modify the indicated lines in inittab [step 5]? -mike

author
ChrisB3 (author)2015-10-30

OP here. Sorry for the delayed response!

I would like everyone that is trying to succeed. I have two notes from my experience:

1. Be VERY careful when connecting to your home's internal doorbell wiring. I destroyed at least one RPi because someone turned on the power in the circuit panel in the basement while the RPi was connected. You really should have some additional circuitry to protect your RPi. I'm sure it is not hard to do, but sorry this is not part of my instructions (I have not yet done it myself).

2. The audio from my RPi to my 2.1 powered computer speakers was not very loud. This depends on your speakers and amplification, of course. Just warning that having some extra amplification should help some. It is best if it sounds like a VERY loud scream coming from somewhere inside the house.

(and, I will try to get back to your specific technical questions later today)

author
mpoulter1 (author)2015-10-27

Thanks for posting! I am really trying to make this happen. However, I cannot find the inittab file anywhere [step 5]... I hope that any upgrades between when this was written and now haven't made this impossible to build. I was looking forward to pulling this off at Halloween!

author
mpoulter1 (author)mpoulter12015-10-29

One more thing - in case your Raspian doesn't play the sound files, you can follow the relatively simple steps here to load an audio player:

https://jeffskinnerbox.wordpress.com/2012/11/15/getting-audio-out-working-on-the-raspberry-pi/

author
mpoulter1 (author)mpoulter12015-10-29

I initially downloaded the latest version of Raspbian. This is why I cold not find the inittab file. For some reason beyond me, its been removed from the latest build.

I went back and downloaded Raspbian Wheezy, loaded it onto my sd card and poof - I now have an inittab file that I have been able to successfully edit. It took way more tinkering than anticipated, but I now have this working.

One more tip - in order to load more or different WAV files (not mp3's), you have to go in and edit the doorbell.py file to add their names.

I created a super loud thunderclap wav file - can't wait to see how much candy gets dropped...heheh. Just kidding. It's only MOSTLY super loud...

author
MsSweetSatisfaction (author)2014-10-19

I bet this makes any trick or treaters really jump! Thanks for sharing!