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 mut the bell on demand some open source technology!

Using an ESP32 and a relay, the AC lines to the doorbell signal path are interruptible. A web page or app will handle the controls with an automatic timer reset planned.


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 sleeping upstairs.

Brilliant yet ingenious, I think so.

The Plan

My plan of 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 ESP32 connect:

  • The doorbell and bell/ringer to the ESP32 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 full time battery operation and thus recharge.

The cost of the prototype should be under $50 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.

By using a double pole relay, I can either connect the doorbell to the AC transformer (normal operation) or to the ESP32 to monitor when a doorbell is pressed without engaging/triggering the chime. The part I have not figured out is if it is possible to sense a doorbell press in normal operation with the ESP32 without many expensive components. Suggestions welcome.

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

A webpage seems to be a good way to go for interacting with iDONT. It allows any smart device or computer to control it without having to write an app for Apple, Android, and computer devices. The ESP32 would serve up a webpage to enable and disable the iDONT and config it. I am not sure if the ESP32 will interact with an app or just sent alerts.

Here are some examples of code of ESP32 doing similar things:

From these examples, I am more confident that this hardware engineer can hack enough software together to make it work.

That said, security still is concern. One possible solution would be not to have this device on my network. Instead, as part of the of the initialization process, iDONT checks to see if the password is a default value and prompts for a change. Any issues with this method?? Commits welcome.


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
  • Build a hello world webpage and wifi setup
  • Build a webpage that controls the relays
  • Add email and/or texting to when the doorbell is pressed and in off/silent mode.
  • Add logging abilities (bonus)

Hardware milestones

  • Get Blink LED example working (done 4/1/17)
  • Get any old relay switching
  • Find and buy the right relay
  • Find and buy a doorbell kit to prototype with
  • Find and buy a AC to 5VDC power supply (not sure if will regulate before or after the doorbell transformer)
  • Build the prototype doorbell, relay, ESP32, and power supply
  • Verify that the ESP32 can sense when a doorbell is pressed and the transformer is not engaged (silence mode)
  • Figure out how to sense a doorbell press when the transformer is engaged (normal operation) (bonus, very helpful for logging)
  • Install in our real house

The "Competition"

After deciding to take on my wife's challenge of killing the doorbell remotely, I did some digging into what is already out there. There are a few solutions out there that are in this trade space.

  1. The Ring Video Doorbell certainly is a fancy device. It does a lot...
Read more »

  • 1 × ESP32 DevKitC Planned brains of the operation
  • 1 × Existing Doorbell system
  • 2 × Relay (part number TBD)
  • 1 × wire (AWG TBD)

  • Blinking World

    David Spinden04/03/2017 at 02:14 0 comments

      Last night, I was able to get my ESP32 Dev Board to blink an LED. While this is no major feat, I was happy that the process went smoothly. In case you have not run through the process before, here is how I did it:

      1. Followed the installation guide for “Ardunino core for ESP32 WiFi chip” (thanks to for the link), I installed all the software for the ESP32.
      2. Opened the Arduino IDE
      3. Opened the Blink example
      4. Changed the default pin for LED from 13 to 5
      5. Connect a 500 ohm resister (I used two 1K resistors in parallel) to pin 5 and to the positive end of an LED. The negative end of the LED goes to ground.
      6. Connect the ESP32 to the computer via USB.I had to go to my Window’s control panel and update the driver before it told me the correct COM port.
      7. Set the Board and Port in the Tools directory of the Arduino IDE
      8. Compile and upload the code to the ESP32. This took a several minutes on my machine and I got an error with something about an exit 1. I ignored the error when I…
      9. Watch the excitement of the LED blinking.

      Next up is the controlling the relays. I will also figure out if the error is anything to be concerned about.

  • Requirements for Making iDONT Likeable

    David Spinden03/23/2017 at 01:49 0 comments

      So my wife has been putting a note by the doorbell "please knock, sleeping babies." Simple, effective, but I think we can do better.

      What would be helpful in an Doorbell disabler device?

      1. Ease of use. Sure, it can be Internet enabled, but if it requires a big software setup and registration it is not easy to use. The software should also be simple. If the hardware takes a professional to install the physical device, it is too difficult to use.
      2. The device and software should not require a lot of attention. Charging a battery every few days is too much. I would like at least a month, if not AC powered to be always on.
      3. A "snooze" feature where the doorbell can be disabled for one to four hours and then automatically enabled again.
      4. A log feature if any doorbells rings occur while disabled.
      5. A "route to phone" feature that alerts a phone instead of the doorbell.
      6. Not expensive or power hungry.
      7. Open source!

      Anything else? I am sure that I will be adding more as I think of it.

View all 2 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

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