How To Build A Magical Smart Doorbell

Watch It:

Want the code? Particle code here, hook.io code here.

Addendum: I was using hook.io in this hack to keep my Particle access token and device ID secret while letting my roommies set up the doorbell on their own IFTTT accounts. You can make the doorbell work without hook.io, although it will be less secure, by making the web request go directly to Particle:

You can get your device ID from the devices drawer in Particle Build.

You can get your device ID from the devices drawer in Particle Build.

You can get your access token from the settings drawer in Particle Build. Your access token is like your password, so you aren't supposed to share it with anyone you don't trust. Args here are 1 for the first part of the song, and 2 for the second part.

You can get your access token from the settings drawer in Particle Build. Your access token is like your password, so you aren't supposed to share it with anyone you don't trust.

Args here are 1 for the first part of the song, and 2 for the second part.


Read It:

I like this book by David Rose on how to make better, more enchanted technology. Tech should make our lives magically easier, like in the case of this Prokofiev-inspired geofencing doorbell. It plays a different theme song for each member of your household as they get closer to home. So, for example, when I’m 5 minutes away it can play part of a song, and then when I’m right outside the door, it can play the rest of it.

Great for surprise parties.

It’s also more specific than a regular doorbell. If you have a roommate, they can have a different theme. And if you live with more people, everyone gets their own.

David Rose’s original concept is based on Prokofiev’s Peter and the Wolf, where character entrances are supported by music. In my video, the song plays three different video game themes: Zelda, Final Fantasy, and Pokemon. So, I’m replacing classical instruments with video game themes but, you get the idea.

Building a magic doorbell is shockingly easy. For the doorbell itself, all you need is a Particle Internet Button and a power source. You can make the rest of the system with your computer, and free accounts on Particle Build, hook.io, and IFTTT. And to track location, we’ll use a smartphone. (This system assumes that everyone in the household has a smartphone. If they don’t, there are some workaround you can do, but it requires more hardware.)

The Internet Button can play music and light patterns when stuff happens online. So we can go on Particle Build, assign different music themes to different people, add some light patterns, and download the code to our Internet Button. If you don’t feel like writing this yourself, don’t worry, you can use my code.

Now we need a way to send our location to the internet. Enter IFTTT. IFTTT, or If This Then That, can take a ton of different services and hook them up to other services. So, IF we enter a certain location, THEN send a text, email, tweet, or other message. In this case, IF we enter a 5 minute radius of the house, THEN we’ll send a webhook to hook.io, where we can build a mediator that takes the message, translates it, and passes along the info to our internet button. So when we get close to the house, IFTTT sends a message to our device to play our theme song. We can even create a second applet with a tighter location radius so that it plays the rest of the theme when we walk in the door.