In this project I converted an old desk telephone into a lamp. It’s an old black bakelite/metal desk phone made by Heemaf type Norm 1938 made under Siemens license in The Netherlands for PTT (Dutch telecom company):



As can be seen in the video it is possible to control the phone both physically and virtual using a mobile phone for example. I was also able to make the bell ring again, I might hook it up as my next doorbell.

The build

To accomplish this I opened up the phone when I bought it and first removed all unnecessary parts, including a mechanism that turns back the phone dial upon releasing it. The process was quite interesting as I don’t take apart something that was made inÂ 1952 every day.

I didn’t expect to get the bell working again as it is suppose to run on a 60V AC signal, but by alternating the voltage in the same frequency on one of the outputs of the H-bridge I got the desired effect (you can hear the bell at the end of the video).

Now that I wanted the bell to keep working I had another problem. The space I thought I could use by removing the bells and the coils was no longer available and I could no longer connect the potmeter and motor combo inline with the phone dail centre shaft. To resolve this I used a cross coupling so I could mount the potmeter under an angle. If the potmeter has any friction while turning the motor will slip so the potmeter will stop turning, so mounting the potmeter at exactly the right angle proved to be quite a difficult task.

Electronics

The brain of the operation is the ESP8266 WiFi SoC by Espressif Systems mounted on a NodeMCU board. It connects to a Dual H-bridge board that drives both the Potmeter motor and the coils that drive the bell. The LED’s are driven via a TIP122 darlington transistor. The power supply voltage is stepped down to around 8V using a Step down module as 12V is too much for the potmeter motor.

Software

I installed the Arduino core on the ESP8266 and added the OTA Update library for easy updates to the code. The aspect of two different input methods that have to work together and keep each other in sync was quite interesting. I found out that if you read the analog input A0 too frequently the ESP8266 will actually drop it’s wifi connection as this adc is also used to monitor wifi output power internally, simply adding a delay between reads on A0 fixed this issue.

The client on mobile phone was made in html/javascript using jQuery and websockets to connect to the rotary phone. Upon rotating the dial on the rotary phone updates are send via the websocket connection to keep the mobile phone dial in sync. The values from the potmeter are mapped to degrees between 0 and 300 (physical limit of the rotary phone dial).

Photos

Parts