Go Down

Topic: Intercom using two old dial telephones (Read 212 times) previous topic - next topic


Aug 15, 2019, 11:49 am Last Edit: Aug 22, 2019, 10:42 am by 6v6gt Reason: Replacement schematic and program
I was asked recently by someone to build an intercom using 2 vintage telephones which I've  just completed. This person intended it to use as a toy to entertain his grand child but it could surely have other uses as well.

Making an intercom out of 2 old telephones is nothing new and can be very simple. The very basic circuit is below.   See, for example http://www.epanorama.net/documents/telecom/telephone_intercom.html

However, these basic circuits do not solve the problem of making the bell ring. A telephone bell needs to be driven by AC and anything up to about 90 volts.

Sometime ago, the GPO (English telecoms provider) also offered an intercom based on two standard 706 pattern telephones. However, they "cheated" with the design, stripping out the original bell and using a low voltage buzzer instead. There is a discussion about the product here. https://www.vintage-radio.net/forum/showthread.php?t=147174

I wanted to do better and use the original bell and also make no internal modifications to the telephones, which are anyway now becoming collectors' items.

The specification is very simple. Lifting one receiver will cause the other phone to ring. When the other phone is picked up, or the first phone hangs up, the ringing stops and the voice channel is open. When both phones are back on hook, the system sleeps. There is an interlock to prevent unwanted ringing if, after a conversation, both phones are not replaced on hook simultaneously.

It is based on an boost converter and and a L293D H-bridge chip to power the bell. The MCU is an ATtiny 84 to control it all. Some discrete transistors are used to detect on/off hook. I have already published a bell ringer circuit and the development here is an extension of that design. https://forum.arduino.cc/index.php?topic=622082.0

One challenge is getting a reasonable power consumption for battery operation. The boost converters are not particularly efficient when stepping up to the multiples of the supply voltage necessary to operate the bell. It is also so that 5 volts is not sufficient (actually depending on the phone) to keep the voice path open. This all means that the boost converter is running when phones are being used, not just when these are ringing. I was able compromise a bit by reducing the bell voltage to 24 volts and increasing the frequency to 50Hz to still provide an adequate ring, but you may have to experiment here. It consumes around 100mA in use and 300uA when sleeping so there is still some scope for optimisation. However, it also runs off a standard (two amp, not travel) cell phone charger.

The software uses a simple state machine model and sleeps when the phone is not in use. Since the wires between the phones can be quite long and possibly subject to interference, the part to detect on/off hook considers a reading valid only if it has been stable for 50mS or more.

The circuit diagram is included as a PDF. There is a note on it referring to the double use of some pins. Care is required if sharing the pins which are also used for programming the MCU. The design was OK with "known-source" L329D chips but not with others, which had to be temporarily removed during programming. I have left that in place until I have another opportunity to test all combinations on a breadboard but the advice in the meantime is to find another pin for the enable pin of the L329D if you want to program the MCU in circuit.

The PCB, incidentally, comes from a*l*l*p*c*b.com (remove *) and was my first attempt using Kicad. Everything worked perfectly (or better said, everything worked exactly as I had designed it!).

Maybe someone finds this useful.

A new schematic and program have been attached which now solve the issues of sleep mode current consumption and in-circuit programming mentioned above. A 1k resistor solved the in-circuit programming problem and using internal pullup resistors on two input pins solved the sleep mode current consumption problem.


Love it! now i wish i had two old phones to test it out...


Love it! now i wish i had two old phones to test it out...
I've just now built a device for myself as I had 6 PCBs made, the minimum order quantity. The original device is now with the customer. The local online auctions here sometimes have nice old phones for sale and eBay has also. Here is an example I am looking at now:


I have one of those, and been waiting for a while to get another for similar project. One day...

The only law for me; Ohms Law: U=R*I       P=U*I
Note to self: "Damn! Why don't you just fix it!!!"


Very nice project!
Thank you for sharing!
Always decouple electronic circuitry.

Go Up