Close
0%
0%

iDONT (Internet Doorbell ON/off Trigger)

iDon't as in I don't want my doorbell to ring.

Similar projects worth following
I don't know about you, but the doorbell seems to ring at the wrong time at our house. It's time to find a way to mute the bell on demand some open source technology!

Using an ESP8266, two relays, five ICs, and some R and Cs, the iDONT is placed between the doorbell transformer and existing wiring to the doorbell and chimes. The iDONT not only silences the doorbell on command from a smart phone, but sends a message when the doorbell is pressed even when the chimes are off!

Overview

Problem: A ringing doorbell at the wrong time can wreck meals, naps, or a once in a life time moment (queue dramatic music). Furthermore, when you're away, how can you know whether you've had any visitors, packages, or neighbors stop by.

Solution: You need a way to route the switch off the doorbell, but still know if someone is delivering the pizza. Don't just cut the doorbell cord, leaving your friends hanging out in the cold, make it smart enough to send you a text or email you when they arrive. All while the baby is still sleeping upstairs.

Brilliant yet ingenious, I think so.

Final video:

First video (look how far we have come):

The Plan

Here is the plan getting the open source iDONT project off the ground:

Take the current doorbell system and break the connection after the 16-24VAC transformer. Relays controlled by an ESP8266 connect:

  • The doorbell and bell/ringer to the ESP8266 for logging and sending information to a phone OR
  • The doorbell and bell/ringer to the transformer for normal operation

The advantage of having the smarts at the transformer is that the system is powered off of the transformer...no full time battery operation and thus recharge.

By using a double pole relay, I can either connect the doorbell to the AC transformer (normal operation) or to a 2.5V voltage regulator (LDO).  In normal operation, the voltage drops on the doorbell transformer, so a voltage monitor detects the drop and an input pin of the ESP modules goes from 3.3V to 0V. In "off" mode, the 2.5V LDO is connected to the chimes and doorbell. When the doorbell is pressed, the LDO current limits and it's power good signal that is connected to the ESP module drops from 3.3V to 0V. All of this takes only five ICs plus a ESP8266 module and a relay module.

The cost of the prototype is be under $25 (IC costs is under $20 is quanties of 1 plus additional Rs and Cs and mechanicals) on top of the existing doorbell, chime and transformer. If this were to go to production, I would guess that the hardware would be under $10, given how few components are needed for a  iDONT, but more for all the features I might have. Hackaday.io user Cdon raised the concern about the ESP's WIFI signal strength. So, I may need an external antenna for some people's setups...more costs.

The following flow diagram describes the basic architecture of the software:

A captive portal is an easy way to setup the iDONT. It allows any smart device or computer to control it without having to write an app for Apple, Android, and computer devices. The ESP8266 gets configured for the WiFi settings and setting message service to send a text alerting a person of the doorbell ring. The ES8266 also serves up a webpage to enable and disable the iDONT and config it. 

That said, security still is concern. Given that a person has to be on the same network to interact with the iDONT, and the device is only connected to the doorbell it is a low risk item. Additionally, the iDONT has no way of making the chimes trigger, so there is no way to prank residents with this.

The Business Plan: See this log.

License: MIT Open Source

Milestones

The following shows my plan to build the iDONT. This will be fun mixture of hardware and software.

Software Milestones

  • Install software to add the ESP32 to the Arduino IDE (done 4/1/17)
  • Get the classic Blink example working (done 4/1/17)
  • Control some relays (done 6/7/17)
  • Build a hello world webpage and wifi setup (done 6/7/17)
  • Build a webpage that controls the relays (done 6/7/17)
  • Add email and/or texting to when the doorbell is pressed and in off/silent mode. (done, SMS and IFTTT working)
  • Add logging abilities (bonus, did not add to ESP as with SMS/IFTTT your phone can store the messages creating a log)

Hardware milestones

  • Get Blink LED example working (done 4/1/17)
  • Get any old relay switching (done 6/7/17)
  • Find and buy the right relay (done)
  • Find and buy a doorbell kit to prototype with (done 6/7/17)
  • Find and buy a AC to 5VDC power supply (not...
Read more »

iDONT_KiCad.zip

All the KiCad files in a zip, included some exports of the schematic.

x-zip-compressed - 258.91 kB - 10/21/2017 at 06:10

Download

iDONT prototype BOM.xlsx

Lists all the ICs for the iDONT, Rs and Cs are not included.

sheet - 10.42 kB - 10/21/2017 at 06:05

Download

lib - 57.79 kB - 10/20/2017 at 03:42

Download

dcm - 10.79 kB - 10/20/2017 at 03:42

Download

sch - 21.39 kB - 10/20/2017 at 03:42

Download

View all 11 files

  • 1 × Existing Doorbell system
  • 1 × 18-24 AWG wire
  • 1 × See iDONT prototype BOM.xlsx for latest Electronic Components / Misc. Electronic Components

  • Ultimate Doorbell Test Day

    David Spinden11/01/2017 at 02:43 0 comments

    Today, October 31st is, at least in the United States, the day that the doorbell rings the most. I am happy to say that iDONT was active and ready for the test.  While we did not have as many doorbell pressers as normal (it was literally freezing here), we had over 10 presses by kids dressed in everything from lady bugs to giraffes and every one was sent to my phone. Great job iDONT!  

  • Truly A Need

    David Spinden10/16/2017 at 20:43 0 comments

    The main motivation of the iDONT is not allowing the doorbell to wake my family from sleep. Yesterday, we were blessed with a new addition to our family, as my wife gave birth to a girl we named Truly. I am looking forward to using iDONT now that she is here.

    All said, it has been a while since I have had an update.  There has been a lot of other things going on (the house has never looked better), but I have been able to get some time in on iDONT.  Over the next few days, I will share the final prototype and how it works.  Until then, I am going to enjoy holding my daughter.

  • Wrapping it Up (In a Box)

    David Spinden07/24/2017 at 12:46 0 comments

    One of the important details in making a product for the consumer market is the look.  Without spending a lot of time and or money, premade enclosures are a good option to get close.

    For this project, I am planning on starting with this enclosure:

    Bud Box's CU-1941 (Picture credit: Digikey)

    In addition to just a box, Digikey can customize itwith holes and add things like silk screen.  Nice.

  • KiCAD (or is it KEY-CAD??)

    David Spinden07/24/2017 at 04:44 0 comments

    I finally got around to making a proper schematic for what I am doing:I have also pushed all the KiCAD files to project's files. I hope to figure out version control with git soon.

  • iDONT Plan… but the Business Should Have One

    David Spinden07/24/2017 at 03:25 0 comments

    With over 12 years of designing electronics for manufacturing, I know I can build the hardware. On the embedded software size, Joel has 13 years of experience including the critical security training.  Together, we can take iDONT from concept to production ready. Here is how the business will run:

    1. Design a prototype circuit board. This means that the ESP chip is not soldered directly to the board, but “connectorized” to an ESP module board with headers. This allows for people with minimal soldering experience to build a working iDONT.
    2. Build, test, and debug the prototype iDONT using the prototype circuit board. This is both hardware and software. Shipping a robust working product from day one is key to success.
    3. Cerate detailed instructions.
    4. Sell 20 iDONTs on Tindie. Some would be fully assembled, programmed, and ready to go. Some would be a kit. And, finally a few would be just the circuit board. If the sale of the 20 units goes within two months, I believe that I have enough market/interest to…
    5. Create a production circuit board for manufacturing iDONT. This circuit board would have as few through-hole/hand soldered connections as possible to reduce cost. Additionally, using a SMT ESP module that has been FCC certified is about half the cost of a dev module that the prototype would use.
    6. Repeat steps two and three.
    7. Pursue Crowd Supply to get even bigger discounts by buying in quantity. Selling on Adafruit, Seeedstudio, Sparkfun, or Tindie (with the help of a contract manufacture) would be another option if Crowd Supply did not work out.  I want to help others with their doorbell woes, but need support to do so.  All these avenues offer so much behind the scenes help: setting up payment, shipping, making secure webpages, asking detailed questions that lead to better planning and ultimately success.

  • Captive Update

    David Spinden07/24/2017 at 03:04 0 comments

    I asked a buddy Joel, who is an experienced embedded programmer, to help with the project.  He came over this weekend and helped me get a captive portal working!  This is a huge step in making iDONT a consumer product rather than requiring programming the ESP module for a person's Wi-Fi credentials (SSID and password)  and upload the code.  With a captive portal, the iDONT broadcast it's own SSID and once you connect with your computer or smartphone, the iDONT asks for the credentials and flashes itself.  Great work tzapu and Joel!

    That said, this only works on an ESP8266, not on a ESP32.  Joel thought that with enough work, we could get it going on an ESP32, but given our requirements are small, everything will run just fine on a ESP8266.  As a bonus, the ESP8266 is also less expensive.  So, time to make a change.  

  • Current News

    David Spinden07/10/2017 at 21:09 0 comments

    I was honored to have a Hackaday front-page article of iDONT! Much better description of the project than I could ever come up with...

    I have been playing with a Non-Invasive Current Sensor that works with AC currents. Along with the ESP's built-in ADC and a conditioner circuit described here, doorbell presses when the doorbell is on/active can be detected. This would be good for logging and maybe additional smart home features which are beyond the scope of this project.

  • Relay On

    David Spinden06/27/2017 at 02:49 0 comments

    A week ago, I was one of the winners of the Internet of Useful Things Hackaday 2017 Contest! It is an honor to be selected. I was even written up in the in a HACKADAY.IO BITS....

    We've found useful Internet of Things things

    By Brian Benchoff

    To our shock and amazement, the Internet of Things can be useful, and it's more than just tweeting toasters and Internet-connected spy cameras. Check out the winners of the Internet of Useful Things phase of the Hackaday Prize which we announced yesterday.

    Just look at entries like the iDONT -- the Internet Doorbell On/Off Trigger. This is a project to connect your doorbell to the Internet, giving you the ability to turn the doorbell off for meals and naps, and send doorbell push notifications to your phone. [David Spinded] created this device with a relay and an ESP32 microcontroller. It's so simple and so brilliant we're shocked this isn't a commercial product yet.

    ---

    Thanks Brian for describing my project better than I did!

    Enough celebrating....get back to work....

    One thing that I have been struggling with is what relay to use. I have been running into an issue with the relays freezing up and I think I know why now. I have been using two relays (one for the line and one for the neutral) and controlling them with two different microcontroller pins. While in the code, the command to change the IO state happens one after another, it is not instant. I am thinking now that the relays were freezing because half of the doorbell was on AC and half on DC for long enough that the load side of the relays were seeing some "crazy" things and not switching.

    By using the same microcontroller IO the relays will be switched at the same time. To address the 12mA drive limit of the ESP32 a transistor will be used off the IO to switch the relays.

    So, I believe now that I can use relays that are inexpensive and widely available, for example the Songle SRD-05VDC-SL-C. These relays are in so many relay modules that are under $5 on ebay, or in piece parts for under $0.25 with free shipping. This certainly beats paying ~$10 for a high power SSR. While I have done a bit of testing of this, I need to completely prove this out.

    Until next time, happy hacking.

  • Putting the D in details

    David Spinden06/12/2017 at 03:10 0 comments

    My wonderful wife gave me some extra time this weekend to work on iDONT. I was able to put all the modules together and now it is time for documentation. After being awakened by a doorbell last week myself, I have some good motivation to get this project closer to the finish line. Here is a video of where the project is at:

    This block diagram gives a good overview.:

    One big thing to note is the constant current DC converter. I plan on setting the current limit low so that when the iDONT is set to turn off the doorbell, the low voltage converter is powering the doorbell. When the doorbell is pressed, the resistance changes and we can monitor if the doorbell has been pressed.

    The ESP32 software is coming along, but not ready for prime time. Here is a screenshot of where I am at:

    Here is the link to the code for the above software: GitHub. I have been able to get time as well in order to set a auto turn back on function, but still it needs work.

    Here is my scanned in log book over the past few weeks:

    Until next time, happy hacking!

  • Back to Working

    David Spinden06/07/2017 at 01:26 0 comments

    After lots happening in my personal life, I am back with an update on the iDONT: it works!


    The basic function of a doorbell disconnect using a relay that can be controlled via a web browser. The page is simple enough that it works fine on a smartphone.

    The code is located here: https://github.com/SpinInven/iDONT/blob/master/ESP32_iDONT_basic_webserver.ino

    I am shocked how easy it was to develop the software. There is a growing number of examples and tutorials and I hope the above example helps someone else. I am pleased with the progress with everything except for the security. It is just whatever comes with the basic Arduino wifi example...less than ideal. I don't fully understand what the webserver is doing. This means that I have a long road head for security...no wonder so many products are lacking security, deadlines don't seem to allow for such dives. While I don't mind if people know the status of my doorbell, it is something I plan on addressing.

View all 12 project logs

  • 1
    Step 1

    Gather all parts from the parts list. To make things easier, most items are modules so a breadboard or perfboard will work instead of needing a custom-designed circuit board.

  • 2
    Step 2

    Following the schematic listed in the details section (or download the KiCad version)

  • 3
    Step 3

    Download the ESP8266 software on my GitHub site.   If you use IFTTT, you will need to add the "webhooks" service. Then, you make an applet. For the "if," you select the webhooks service and give it an event name like "doorbell." Next, for the "then, you select the SMS service. Change this line to match your IFTTT webhook or other similar service.

View all 6 instructions

Enjoy this project?

Share

Discussions

David Spinden wrote 06/22/2017 at 02:34 point

Hi Doug, thanks for the suggestions.  I think I follow...

The main issue with this project is dealing with AC voltage and an ESP32 that only can handle 3.3V IO. I am hoping to be able to detect a doorbell press when the doorbell is enabled or disabled.  I have not discussed yet that I plan on using a current sensor when the doorbell is enabled. 

I also may not have been clear that I want the iDONT to be a self contained box that all a person has to do is remove existing wires off the transformer that go to the doorbell and connect the iDONT to the transformer and doorbell wires.  This goal makes it an easy project to install, but harder to design the iDONT box.  I agree there are other ways to do it, but I wanted to challenge myself. 

Regards,

David 

  Are you sure? yes | no

Doug wrote 06/20/2017 at 22:27 point

I suppose you could change the circuit so that the chime only chimes on control from an output pin the ESP32 and always route the door bell switch to an input on the ESP32. Then the firmware sees every button push and can log it and/or send the text to the user. If the normal operation is enabled, it also turns on the chime via the relay. You could add a normal switch to bypass the electronics, connecting the door bell switch to the chime, in situations where there is some bug or problem with the ESP32 and/or code.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates