I want to detect the button presses of my apartment's door buzzer. This is the button in the building lobby which, when pressed, plays a ringing/door bell sound in my apartment to alert me that someone is at the front door. I want to capture these button presses to send to an Arduino to eventually support some kind of secret morse-code like password to unlock the building's front door (note: I don't need help with triggering the door opening, just detecting the button presses).

The intercom in my apartment is a 4-wire intercom with standard door/talk/listen buttons. This is the circuit for the door buzzer as currently installed:

(terminal on central console in basement) -> (button switch in lobby) -> (intercom speaker in my apt) -> (other terminal on central console)

So there is no clean DC on/off signal for me to read; only the audio signal (kind of a vibrato tone) that goes straight to the speaker. What is the best way for me to detect when this circuit is closed? It would be especially nice if I could do this just by attaching leads on either side of the button switch, and not have to wire anything into the circuit in series.

FWIW, my multimeter reads DC 20V on either side of the switch when it is open and drops to 0V when closed. But given that there is an AC audio signal in the mix, I don't know how to interpret those numbers.

  • 2
    \$\begingroup\$ Can you make a sketch of how you think everything is connected? Hand-drawn is fine. \$\endgroup\$
    – Dan Laks
    Sep 4, 2014 at 4:12
  • \$\begingroup\$ Do you have a frequency counter on your meter? If so, what does it read during a buzzer press? And, if you put the meter in-line with the speaker, can you get a current measurement? \$\endgroup\$ Sep 4, 2014 at 4:17
  • \$\begingroup\$ Also, would you be fine doing away with the buzzer, or do you still want the audio alert? \$\endgroup\$ Sep 4, 2014 at 4:26
  • \$\begingroup\$ @dan, my description of the circuit above basically is the sketch. There is one single-wire loop between two terminals of the control console. And in this loop is a button (switch) and then my intercom speaker in series. Pressing the switch completes the circuit and causes an audio tone (being generated in the control console) to play through the speaker. \$\endgroup\$
    – mrgriscom
    Sep 4, 2014 at 13:53
  • \$\begingroup\$ @EnemyOftheStateMachine, my multimeter doesn't have any frequency capabilities. When I short across the switch, current draw is 40mA for both AC current and DC current mode. And yes, I need to keep the audio alert. \$\endgroup\$
    – mrgriscom
    Sep 4, 2014 at 13:59

1 Answer 1


Connect a relay with a 24vAC coil in parallel with the buzzer. Use a NO (Normally Open) relay and when the buzzer button is depressed, you will have a closed circuit. If you run a 5v rail from your Arduino into the relay, then you can use an arduino input to read the 5v pulses that will occur when the relay is triggered from the buzzer button.


simulate this circuit – Schematic created using CircuitLab

  • \$\begingroup\$ Cool, I didn't know you could trigger relays via AC. Are there any frequency restrictions? I assume the audio tone that is played is around 500Hz \$\endgroup\$
    – mrgriscom
    Sep 4, 2014 at 17:17
  • \$\begingroup\$ AC relays are slightly different than DC relays - AC's use something called a Shading Coil to maintain the magnetic field while the voltage passes through 0V. So a fast AC signal would work better than a slow signal because there is less time spent at this low voltage state. Edit: I just realized this question is from 2014, sorry for the necro-bump. How did I even stumble on this question in the first place... \$\endgroup\$
    – MichaelK
    Mar 27, 2016 at 4:08
  • \$\begingroup\$ Do you know if there is already a wifi relay module on the market? \$\endgroup\$ Sep 8, 2018 at 7:27

Your Answer

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

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