We recently (ish) moved into a new place, a big old victorian in the Haight. There’s funky historical
There was no doorbell for our unit, so we did what you do and bought whatever the first result was for ‘wireless doorbell’ on Amazon. About the same time, the Rents were doing some spring cleaning and gave me the wall phone above, because I guess they didn’t need it anymore. Which raises but does not answer the question of why they needed it in the first place. So my tendency to have a few drinks and buy random technological artifacts on eBay, there might be some precedent for that.
Anyway, the preset ringtones on the doorbell were pretty hideous, and I thought why not class it up and make the phone ring when someone presses the doorbell instead?
If you want the YouTube video version of this, that’s here. Sorry if the camera work/narration is not the best.
The Phone: This is probably 1915 or so. The case is oak, the metal parts are brass. You would ‘dial’ by clicking the receiver hook up and down which would summon a human operator, who would connect your call for you.
In the upper compartment on the right is a hand crank you would use to generate the voltage to send your voice back to the phone company. Unfortunately that dynamo part is long gone, but the hand crank is visible on the right side. In the lower compartment, clockwise from bottom left, is the Arduino, the wireless receiver from the doorbell, the high voltage circuit, and some perfboard to tie everything together.
For the high voltage circuit, I found this circuit on the Sparkfun site, which they were nice enough to open-source. There’s a boost converter that kicks the 5V up to about 55V, and an H-bridge that allows you to switch the direction of the voltage through the solenoid. I built the circuit and it worked, although if I was doing it again I might have gone for something that did the full 90V– The ring could be a little more musical, and I think that might be because the clapper doesn’t have enough oomph to strike the bell cleanly. On the other hand, it’s plenty loud as it is. Here’s the circuit:
I also wired up the handset piece to play a dialtone when you pick it up off the hook. Which has a practical purpose in confirming the processor is up and running, but mainly for fun.
The Doorbell: I opened up the receiver unit. I was expecting to have to kind of kludge together the entire doorbell with the ringer circuit, but I noticed that the RF part of the board is a separate unit and just soldered onto the main logic board (at top):
The receiver circuit appears to be a buyout, which is ideal assuming I can figure out what the communication protocol is. I did a search for the IC number, PT4303, and found a datasheet which told me it’s just a heterodyne, i.e. it’s just amplifying the signal to be decoded elsewhere. Also that the chip is 5V tolerant, which is very convenient as I wanted to run this whole thing off a USB charger.
I hooked the receiver up to the oscilloscope and started poking at the transmitter while pressing the doorbell switch. And found a digital signal on one of the transmitter pins (yellow), which was also showing up on the receiver data line (blue). Bingo:
On the left is random noise, but as soon as I hit that button there’s a repeated digital pattern. The pattern is either long-short (0) or short-long (1), in my case as you can see above the code was 00010011110010000.
For power, I wanted to use the vintage-style cloth-wrapped cable, but I also wanted to power it off USB. I grafted a USB cable onto it and used the charger for my prior phone.
The Code: I used this library (that link does a good job of explaining the signal), although my timings were different so I guess there are slight differences in model. If you want my arduino sketch (which includes the code to ring the phone and also generate a dial tone signal when the receiver is up) and also my Eagle file that’s here:
If you enjoyed this or found it useful, be sure to leave a comment below. Thanks for reading!