I've added my doorbell to the Moteino Framework!
That means I can:
- observe/count/graph when the doorbell is used
- get notified when someone rings it if I am not at home (email, SMS etc)
- play a sound when I am in my lab where I have a hard time hearing the chime (did I hear it or not? should I go upstairs to check? nah… I'm too lazy busy for that)
- ring the bell if I want to, *remotely* from your mobile device (why not right? just detecting is too boring)
Below is a schematic of what a typical wired door bell circuit looks like, and also a photo of what it looks like in my house. The dotted green rectangle is the circuit that I have physical access to – pictured next to it in my basement (and I don't have a back door button):
I have a single button (front door) and probably most houses do. So I only care to inject my solution for that front door button. There is typically a 16VAC transformer powered from mains that activates the chime when the switch is pressed. So there are a few issues to solve in order to tap into this circuit, detect button presses and also being able to control it via Moteino:
- Power our circuit from the 16VAC doorbell transformer. This is a good exercise to create a DC power source from an AC source. We'll use a simple half wave rectifier to achieve this
- Detect when this 16VAC current flows through the wire coming from the outside button. When the button is pressed, the chime will ring and our circuit detects the AC current and outputs a digital HIGH for the Moteino input pin that monitors it
- Make the Moteino "press" the door bell button when it receives a "RING" wireless message
Getting DC from a 16V-AC source and also detecting AC current on a Moteino digital pin are probably the most interesting problems to solve for this project. We can use a H11AA1 chip to detect AC zero-cross, and then manipulate that signal with a transistor and capacitor to get a constant logic "HIGH" that we can read on a Moteino pin (that will detect when the doorbell push button is pressed). Here is the H11AA1 output and the resultant logic HIGH after adding a transistor+cap to invert and smooth the signal:
Here is the whole schematic and installed circuit:
And a graph of doorbell events on the yet-to-be-released Moteino Gateway Interface:
To see the details I explain the build step by step in the detailed blog post.