I have an old, completely analogue phone-entry system in my flat. I'd like to play with using a Pi to interact with it, e.g. sending a notification to my phone when the buzzer rings.

I've measured the voltage and the wires coming in deliver a steady 3.51 Volts. Is this usable at all with a Pi Zero? I've read that GPIO requires 3.3V, but it's extremely intolerant to higher (or lower) voltages. If this is required, is it possible to simply step down the voltage (there's not a lot of room inside the phone's case - only enough for a zero)?

  • 2
    Are you talking about powering the Pi or reading the signal with a GPIO?
    – joan
    Apr 5, 2018 at 15:38
  • @joan Both if possible.
    – Tom Medley
    Apr 5, 2018 at 16:18

2 Answers 2


I don't think you want to use the voltage coming into your flat on the doorbell wiring. Instead, you want to use a change in resistance that results from the "switch closure" when someone presses your doorbell. I'll hazard a guess that 3.51 volts you measured is being supplied by a transformer/rectifier somewhere in your flat, and used to power the "buzzer" you currently hear. If all this sounds confusing or complicated, have faith that it's only my explanation, and not the reality of it :)

The general approach I feel you should use is along these lines:

  1. Your doorbell switch will most likely have two wires connected to it. One of those wires will go to the GPIO pin; the other will be connected to GROUND on your RPi. But don't connect anything just yet!

  2. Before you connect these wires to your RPi, you'll need to disconnect the source of the 3.51v power from your doorbell switch. Verify this by checking that the voltage doesn't change when the button is pressed. Then using your meter in "measure resistance mode", verify that the resistance goes from (near) infinite to 0 (near zero) when the doorbell switch is pressed.

  3. Now you're ready to connect your doorbell wiring to your RPi. One of the two doorbell wires (doesn't matter which one if you've followed Step 2.) to Ground on your RPi. Connect the other wire to a GPIO pin with a "pullup resistor" (Remember that the Raspberry Pi has built-in pull-up and pull-down resistors which can be enabled in software.). This will put a "logic high" or approx. 3.3v on that pin. What you will see is that when someone pushes your doorbell, the voltage on that GPIO pin goes from 3.3v to 0v; i.e. the GPIO pin has been "pulled down"!

  4. Once you've verified the hardware behaves correctly, you can now write code to do something when that event has been detected.

Hope this is clear - let us know how you get on, or if you have questions.


It may work, but it is close to the minimum voltage required for CPU operation.

Feed the 3.51V into a 5V expansion header pin (pin 2 or pin 4).

Note that any connected USB peripherals are unlikely to work as they normally need 5V.

I'm not sure what voltage HDMI requires.

  • It's going to be tucked away inside a phone, so peripherals are not an issue!
    – Tom Medley
    Apr 5, 2018 at 16:20

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.