DIY Smart Home Doorbell for Less Than $40!

109K26624

Intro: DIY Smart Home Doorbell for Less Than $40!

Smart doorbells are an amazing tool but still an expensive one (~$200)! Today in this Instructables, we propose to help you build your own smart home doorbell for less than $40.

We will guide you through the basic core steps to build the doorbell with simple components and no need for coding or manual skills. If you’re passionate about woodwork and/or 3D printing, you can of course go further and give your doorbell a beautiful case (if you do so please share with us!). For the sake of simplicity, we will keep our explanations to the “raw” version of the doorbell.

FEATURES

With this Instructables, you will be able to create a doorbell that can:

  • Warn you when someone rings it (duh!) on your smartphone
  • Use your house/office lights as a visual notification tool
  • Send you a picture of your guest on your smartphone
  • Allow you to open the door remotely

All this without any special tech knowledge and no expensive equipment!

FOR WHOM?
This Instructable can be great for you if you are:

  • A tech enthusiast, eager to learn more about the IoT/smart home world
  • An experienced home automation maker who wants to add new and fun features to their house and make it even more automated
  • A disabled person or a relative: IoT devices are great for people with limited mobility. We receive every day feedbacks from our products’ users who are able to remotely trigger health care equipment, automate household tasks or start unreachable appliances and we’re immensely proud that our work can slightly improve their daily lives.
  • Someone passionate about DIY projects who doesn’t know much about tech yet
  • Or simply a lazy person!

We hope you’ll find this instructable as accessible and fun as we do!

STEP 1: REQUIRED MATERIAL

  • Raspberry Pi 2, 3 ($20~$35) // for RPi 2, you will need Bluetooth & WiFi dongles
  • 8Gb SD card ($6)
  • GPIO breadboard + wires ($5)
  • 1 GPIO button
  • An old webcam

Optional: Philips Hue bulb (link), MicroBot Push ( link)

The entire installation should take less than 1 hour.

STEP 2: SET UP YOUR PROTA PI

You first need to build the smart hub that will control the automation of your ring bell and connect all devices together. Prota OS for Raspberry Pi is our free smart hub OS which is very easy to install. In no time you will turn your Raspberry Pi into a smart home automation hub!

You can download Prota OS here. Then burn it on the SD card.
We made an easy guide you can follow to set up your Prota Pi.
Alternatively, you can check this Instructables.

STEP 3: SET UP YOUR GPIO BREADBOARD AND BUTTON

We will now set up the breadboard and its button that will officiate as the ringbell of our project!

To avoid getting lost with your breadboard, follow this visual to remember which dedicated role has each pin.

Position your wires and button as it is on the picture below:

Now connect the ground wire to a ground pin and the other one to (for instance) GPIO18.

  • Now let’s open Prota Space.
  • If you haven’t done it yet, download the GPIO app in App Libraries.
  • In GPIO app, click on GPIO18.
  • Select “Interrupt” and “Pull up”. Click on “set”.

The button is now set up.

STEP 4: SET UP YOUR TELEGRAM BOT AND YOUR WEBCAM

A Telegram bot is a virtual assistant that you can create on Telegram messenger app.

If you want to learn more about Telegram bots, don’t hesitate to read this previous Instructables .

  • Download Telegram app on your smartphone and create an account
  • Download Telegram app on your Prota Pi (in App Libraries)
  • Open the Telegram app on Prota and click on “Request Authorization”
  • Set a name and username for your bot, then click on "Create"

Your bot is now created! Once the automation is setup (next step), the bot will send you a notification + a photo of the person that rang your smart doorbell. If you have a MicroBot Push, you will also be able to open the door by sending a message to your bot!

Now let’s quickly set up your old webcam to turn it into a smart cam!

  • Plug-in the camera’s USB cable to your Raspberry Pi
  • Download the Webcam app on your Prota Pi (in App Libraries)
  • Open the app to check that the camera is now working (it should start to automatically take screenshots in case of any motion)

Now that the bot and the webcam are set up, we need to create the automation workflow

STEP 5: WRITE THE AUTOMATION STORY

Stories app is what allows you to set up your automation workflows by writing them in natural language.

We need to automate two things:

  1. What happens after the guest press the ringbell (various notifications)
  2. The remote opening of your door (if you have a MicroBot Push)


Let’s set first the notification storyline:

  • Open Stories app, click on + and then on “when”
  • Click on “set sensor” and select GPIO. The event should be “detects a rising interrupt on pin GPIO18”. This means “when your ring bell is pressed”.
  • Now we will set the actions that follow this trigger. Select Webcam, the action event should be “webcam take a snapshot”.
  • Click on the “then” button on the top right corner. Select Telegram for the next action, select your bot, select “send ? to ?” and for the instructions add a notification text like “Someone is at the door!”
  • Click on “then”. Select “send a photo to” and add the instructions for “to” field and select “snapshot file” to be sent.

Optionally, if you have a Philips Hue bulb, add this part “Then Philips Hue alarms rapidly” so that you also have a visual warning at your desk.

Now let’s configure the commands to open the door. If you have a door at home or at the office that can open with a button, MicroBot can automate it! First, install your MicroBot Push on the door lock button as we did in our office.

Then, pair it with your Prota’s MicroBot Push app. Once this is done, write the following storyline:
“When Telegram Bot receives a message” and add the condition “Text equal to ‘Open’” “Then Door Push press the button” Now, once notified of your guest arrival, a simple text “Open” sent to your Telegram Bot will open the door!

DONE! You can now test it before installing it all next to your door (see gif at the top of this step)

STEP 6: INSTALL AND USE!

Let's see how it looks once installed!

We hoped you liked this Instructables and are ready to create your own smart doorbell.
If you enjoyed reading and testing this project, don't forget to "favorite" it and to follow us on Instructables and on Twitter!

BETA PROGRAM
You like Prota OS and want to test our newest apps before their release?
Subscribe your email address here to enroll or get further information on our Beta program.

You like our projects? Make your own!

We are currently (and until July 30) running a maker contest. Show us the creative projects you can do with Prota OS and win awesome prizes!

More info here - https://support.prota.info/hc/en-us/community/top...

18 Comments

Can raspberry pi zero w be used for this project?
Hi. I have created my bot and Telegram is online. But cannot ping.there got pop-up say telegram object[object].

I also can't add "set actor" Telegram-bot because "There is no actor under Telegram-bot".
please advise me how to solve this issue

i have done function on 15/1/2019 but now i cannot use my doorbell

Regards,
Hello thanks for your tutorial !
Everything is working exept that in stories when i do "then" i choose telegram bot i can't see my bot in "actors" any idea ? i tryed to remove and create new bot but still doesn't work :(

Hi. What I have now is "When.... GPIO pin etc int pin 18.... Webcame take snapshot" And this is working, when I push my button it will store the image and I can watch it via app. But Telegram integration is very buggy. I have created my bot and Telegram is online. But I can't add "set actor" Telegram-bot because "There is no actor under Telegram-bot". Is this project dead? Thank. To bad it is not working. Regards, Chris.
Instead of taking image of person come on door how can we start video streaming on owner's mobile/app using notifications?

plz help how can we stream video once person press bell button
If i want to add a motion sensor that sense the present of people in 5 sec. what should i do?

connect the output pin of a motionsensor (e.g. a PIR) to a pin of the raspberry.
Whenever the pin goes HIGH instruct camera to take picture. A short python program can do that.
Wasn't sure what you meant with the 'in 5 seconds'. Does that mean someone needs to be present for 5 secs? then just set timer and recheck if still presence in 5 secs

Hi,

is it possible to capture a picture from a network webcam and add it to the notification?

regards

Stefan

Hello Naran, is your breadboard button essentially just connecting GPIO18 to ground?

Thank you!

write by python language ?

Hi!
No need to write any code! Simply burn your sd card with our Prota OS that you can find here https://prota.info/prota/pi/
There is also on this same page a guide that you can follow for a step-by-step guidance on the setup.

Best regards!

Prota is not booting, using Pi2