I am looking for a way to send alerts to my Linux laptop each time the doorbell rings to avoid those unpleasant times when a visitor ends up waiting minutes outside my door when I am alone and have headphones blasting full volume, rendering my doorbell-hearing powers useless :x.

Now, I am relative noob to all things electrical, which this project will most definitely involves. My brief search on Google indicated something called Arduino holds the key for me. So, would love some pointers as to whether such a thing is doable, and if yes, how should I proceed?


5 Answers 5


Take a 110/220 Vac small table lamp, or one of those with clips, that allow you to attach it to thin surfaces. Put it behind, or next to your laptop screen, so that you unavoidably see its light, when turned on. Take a pair of long wires, and connect the lamp in parallel with your doorbell (assuming it is mains powered). That should be the easiest :-)

Even if the actual solenoid is fed with a lower voltage, in many cases (in Spain, all the ones I know are like this) the pushbutton still switches on/off the mains voltage. So, take the voltage from the doorbell box, but from the primary winding of the transformer.

And, if the pushbutton switches a lower voltage, use a lower voltage lamp. The idea is the same.

  • \$\begingroup\$ No, it would be easier to connect the wires directly to the headphones :) or to the chair :)) \$\endgroup\$
    – clabacchio
    May 24, 2012 at 13:17
  • 1
    \$\begingroup\$ Doorbells aren't "mains powered", at least here in the US. Think about it. Imagine even a little leakage due to moisture or whatever at the doorbell pushbutton. \$\endgroup\$ May 24, 2012 at 13:20
  • 2
    \$\begingroup\$ @OlinLathrop Mine is (here in Spain). And I don't know of any household around here, in which the pushbutton does not switch the mains voltage. // The moisture risk you mention would also exist for every light switch you have in your rooms (which of course switch the mains voltage), and those are many. \$\endgroup\$
    – Telaclavo
    May 24, 2012 at 13:30
  • \$\begingroup\$ @Telaclavo - That's either irresponsible, or uses an expensive waterproof pushbutton. Here in Belgium they're all SELV, and the type of transformer used even has a specific name indicating its use. \$\endgroup\$
    – stevenvh
    May 24, 2012 at 16:42
  • \$\begingroup\$ @stevenvh Irresponsible? I don't live in a house. The vast majority of people, in Spain, lives in apartment buildings, with their doorbell pushbuttons under a ceiling. The ceiling of the space where the stairs are. The amount of rain that reaches them is exactly the same as the one that reaches light switches, in rooms. Zero. So, why should the protection against moisture be different? \$\endgroup\$
    – Telaclavo
    May 24, 2012 at 17:01

This is doable, but depending on a couple of things it can get complicated.

First you need to figure out how to intercept the doorbell button press:

  • Is the doorbell wired? If so what voltage is the button signal wire carrying? You need to get a multimeter to find this out.
  • Can you mount your sensing circuit (probably an Arduino) in the immediate vicinity with power?

Once you figure that out, sensing if the doorbell button is pressed is pretty simple. Just take a look through this arduino user help thread.

Now you need to get the signal from the remote arduino to your laptop, I suggest using Xbee radios. They are very cheap, simple to interface with, and spark fun carries a usb dongle that you can plug into your computer to talk to.

Basically your sensing arduino circuit will see the button press and then send a notification byte through its serial port which is connected to the XBee radio which will relay it to the radio plugged into your computer.

Now for the really easy part; since you are running linux it is really trivial to write a simple python script that will read from the usb port your radio is connected on:

import serial, os
import sys

// setup the serail port (the xbee dongle will device name
// will be something like /dev/tty.usb-A0...234) and make
// sure you are using the same serial baud on all components
ser = serial.Serial ('/dev/tty.usb-DEVICE', 9600)

// an arbitrary byte value that you send from the doorbell sensing unit
doorbellSignal = 'A'

while True:
    data = ser.read()
    if data == doorbellSignal:
        // now do something, like post a message to growl

It's definitely doable, but it just depends on how much effort you are willing to put forth.


Doorbells usually run on 12 V AC isolated by a transformer. The doorbell button is a simple switch that turns on a solenoid or bell by applying the 12 VAC to it.

You could have it also turn on a 12 V light bulb in addition. Run wires from your doorbell to pick off the switched power to the room where you are hiding out with the headphones on. No computers need to be abused.

Instead of a ordinary LEB (light emitting bulb), it could be two parallel LEDs with opposite polarity and a suitable current limiting resistor. Each lights on opposite halves of the AC waveform, and guarantees the reverse voltage seen by the other is not excessive.


There are softwares that pick up the sounds from your microphone and put them in the headphones, so you can be aware of what surrounds you. So that's may be an easy way to address this problem.

Another way is to "intercept" your doorbell signal and trigger a simple transmission over WiFi (so you can forward it through the router) and then use some notification software on your laptop.

Another alternative is to use another transmission protocol, like ZigBee, to turn on a blinky near your laptop: the advantages are that you don't need to mess with WiFi protocol (it's not that simple) and you may like to have an external alert so your monitor is not disturbed.

Or sit with your laptop close to the door :)

  • \$\begingroup\$ Your second solution was what I thought of at first. The problem with the first one is, I'd have to keep the microphone recording all time, waiting for it to pick up the chime of the doorbell, which rings maybe once every 2-3 hours. Sounds like a drain on battery life and waste oof resources in general. ZigBee sounds like an interesting suggestion. Will have to look more into it. Thanks! :) \$\endgroup\$
    – iTwenty
    May 25, 2012 at 6:31
  • \$\begingroup\$ It's not that big waste, the microphone consumption is ridicolously low, probably much much less than your blowing headphone. Those softwares are not only for the doorbell, they're meant to keep you more aware of what surrounds you, such as someone calling, the phone ringing, the child crying or similars \$\endgroup\$
    – clabacchio
    May 25, 2012 at 6:54

A more exotic solution: powerline transmission.

While it may be difficult to build your own, you can find some drivers that you can use to send a very simple message and catch it from your room.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.