Rotary telephone and 4G/LTE mobile phone integration

Having an old project in mind on converting an Plain Old Telephone (POT) to work with LTE/4G became more present when I got the Kirk F61 POT, manufactored in Denmark during 1950ies and 1960ies.

These telephones are made with 2 types of dial mechanism, called 10 pulse and 20 dial pulse signalling. The 10 pulse was used for the relay based phone centrals and the 20 pulse version for the later ( mid 1960ies ) analogue phone centrals. This is taken into account in the LTE/4G software design in the description.

The ringing bell coils are made in 500 ohm and 1000 ohm versions. The black slim piece between the bell coils is a permanent magnet , that keeps steady magnet field . When applying an electric signal at around 60 V and 50 Hz, the electric field in coils “breaks the magnet field” in a way that moves the bell-pin between the bells, providing a nice old phone brace bell sound 😉 .

I did not use the long small spring to set a mechanical bias force to prioritize the bell-pin position. If the telephone hasnt been used for a long time, it is a good idea unscrew the coils  , demagnitisize the bell-pin mechanism and mount the coils again. When moving the bell-pin by hand , only a weak steady magnetic force should be observed.

The hook switch was made in 2 versions, the old, fancy one that takes up more space than the later version. The hook switches is between to the 2 capacitors on the left and the line coil on the right side:

Leaving out the POT line parts ( terminals, capacitors and linecoil ) provides enough internal space to fit a 4G/LTE mobile phone, the interface electronics and a small 3Ah power bank. The bells and bellcoils are reused to get the original sound on ingoing calls.

The original bottom metal plate is replaced by a plast glass plate to ease the LTE/4G signals passing in/out and to hold bells, bellcoils, a “simple” 4G/LTE mobile phone and the power bank.The rotary dial mechanism provides a normally-closed switch that opens a number of times depending on the dialled digit. Dialling 1 opens the switch once, dial 2 opens the switch twice a.s.o. Dialling 0 opens the switch 10 times. A mechanical switch needs a settling time to get a stable switch signal. To achieve a clean electrical signal on each dial pulse, a debouncer circuit with a Schmitt-trigger is made . As the switch is normally closed, the first switch terminal is connected to 5V and the second terminal is connected to the debouncer input. Resistor R4 (1 Mohm) was chosen to get a low bias current and with C2 = 10nF to use a time constant of R*C = 10 msec., enough for a delay to cope with the mechanical switch settling time. A similar circuit is used at the hook switch to detect hook on/off.

The timing shown applies to the 20 pulse dial switch version with approx. 60 msec. between the leading edges. For the early 10 pulse dial switch version, time takes approx. 120 msec. between the leading edges.

I use the ATmega328P microcontroller used by the  Arduino Nano due to its small size and it works at 5V supply. A 3Ah power bank with USB connectors for input/output is used to power 5V for the Arduino Nano and the interface electronics. I looked for a suitable mobile phone and found the Nokia 220 4G mobile phone, because it fits into the POT, but still leaving space for the power bank, the bells, the bell coils and the interface electronics.  I used the connector and the microphone from a cheap earphone headset to modify the POT handset. The original POT loudspeaker works nice with the Nokia earphone jack, so no change for the POT loudspeaker. I used the Nokia earphone Right output signal for the POT loudspeaker (red wire). Adjust the Nokia earphone output setting to fit the modified POT handset.!

The bells, bellcoils and the power bank in place on the plastglass bottom plate. An alu bracket was made elevate the bellcoils to leave space for the Eletra EFB2000BK powerbank and the Nokia 220 4G mobile phone. The original Kirk F61 bottom plate screws are reused to fix the plastglass plate to the POT housing. NOTE: this setup is for the later telephone version with the smaller hook switch. The earlier version with the larger hook switch does not leave space for the power bank, more to this later in the description.

Mock up / experimental version 1:

To use the Nokia 220 4G functions for outgoings calls, at least 12 buttons must be used: HookOn, HookOff and numbers 0..9 . The Nokia 220 4G keypad has 2 nice gold plated contact pads for each button. On the PCB the button groups (1, 4, 7) — (2, 5, 8) — (3, 6, 9) has a common connection to the outer contact pads ( indicated by the red arrows on the picture ). It makes the wiring a bit easier, that is, with only one common wire for each of the 3 group’s outer contact pads, that is, two contact pad wires are saved for each button group.! My idea was to use the CD4066BE analogue switch for each button contact to shorten and thus emulate the human touch of a button. Each switch is controlled by a dedicated microcontroller pin. The CD4066BE switch has an ON resistance of max. 1 Kohm at 5V supply and tests reveal that the Nokia keypad buttons work nice when with 1 KOhm resistor across the button contact pads.! The button-touch emulation board was made on a piece of Veroboard fitting the shape of the original keypad cover. I soldered in wire-wrap wires to connect the keypad contact points to the button-touch board. At the button-touch board schematic, the ONOFF button is the Nokia keypad ON/OFF/HookOn button. The LIFT is the Nokia keypad “start ingoing call” or HookOff button. The Eagle schematic design of the button emulation board version 1: For an ingoing call, a notifier signal must be found inside the telephone. There is no vibrator inside the phone , the ingoing notifier sound is fed to the internal loudspeaker. The internal loudspeaker is not used because the POT handset is connected to the earphone jack. The internal loudspeaker is removed and 2 wires is soldered to the loudspeakers PCB contact points.

So far, the block schematic looks like this:The version 1 of the POT interface electronics with the Arduino Nano includes a transformer to emulate the POT 60V AC to activate the bell ring coils. When the CPU detects an ingoing call, it generates a 31 Hz square signal that feed to Q1 and Q2 to push-pull the transformer to provide the ringing voltage to the bell coils:

The bell coils are supplied by the output transfomer. The power bank 5V DC supply to the transformer is controlled by the CPU via T1 and Q3 to set the ringing pulse/pause relationship, that is, power is to the transformer applied during td.  Experiments revealed a synchronizing problem between the C statemachine and the Nokia screen when a call is terminated. In case the POT hook is on ( not lifted ) during the call, the call is closed by emulating a touch of the Nokia ON/OFF button. But when the call is terminated by the “remote end” and the ON/OFF button is emulated as before, the Nokia screen goes into lock mode, because the call has already been terminated by the “remote end” !. The missing “call terminated” synchronization between the Nokia and the statemachine was solved by adding 2 analogue switches to emulate the touch of the Nokia “Unlock”  and * buttons in order to be sure to get back to an unlocked Nokia screen. At the connector SL6 the 2 control signals for the extra CD4066 switches are available. The basic statemachine behaviour looks like this:

To make the embedded software working, the Nokia settings for disabling the SIM pin and the screen timeout has to be set-up via the Nokia 220 4G menus ( do this before making hardware changes to the Nokia keypad !! ) :

Settings -> Connectivity -> Dual SIM -> SIM settings -> SIM1 -> PIN code request to DISABLED

Settings -> System -> Backlight -> Timeout to 10 seconds

The embedded ATmega328P software is made in C with Atmel Studio v. 7.0.2542 (Microchip Studio) and an AVRISP MKII programmer to flash the CPU directly, that is, the Arduino bootloader is omitted. The embedded C program for the version 1 includes a power down option ( hook lifted and dial 000 ) for the Nokia phone. The embedded software for version 1 can be seen here: Kirk_C_v1

Mock up / experimental version 2:

The button emulation board will use a PCB with SMD parts to: 1. Add a 4-16 decoder for the analogue switch control pins. 2. Add decoupling capacitors. 3. Minimize the number of wires to the Arduino Nano. 4. Improve EMC. The schematic of button emulation board v.2:Just for future options, a button emulation for the Nokia key # , is added. The PCB design for button emulation board version 2 ( shown without the top/button ground planes ):

To leave space for the wires at the top of the PCB, approx. 1.5 mm of the bottom display window (black) frame is cut away The PCB has been filed a bit as well to fit the Nokia plastic frame.!

The images show the Nokia 220 4G keypad break-out wiring and the button emulation board v.2.

The version 2 schematic of the POT interface electronics with the Arduino Nano looks like this:

Power consumption considerations:

Button emulation board: When powered off, the CD4066 analogue switches are not in high impedance state that implies a current drain from the Nokia 220 keypad circuit. In close down, the Nokia battery looses full charge during approx. one week. To keep the CD4066 analogue switches in high impedance state, the board need to be powered 24/7 via the power bank. The board max. supply current at 25 deg. C is 9 uA ( 4×0.25 uA from the CD4066s and 8 uA from the 74HC4514).

POT interface board at 25 deg. C without Arduino Nano: The NAND gate chip CD4093 has a max. supply current at 25 deg. C is 1 uA  and the input circuits of IC1A and IC1D consumes approx. 10 uA , i.e. 2x5uA caused by the normally closed switches of POT dial- and hook-switches. The cut-off leakage currents for the 4 ring generator transistors adds up to approx. 10 uA. Making a total current consumption of 21 uA.

Arduino Nano hardware: To keep the current consumption low, the following components of the Arduino Nano are removed ( marked with red squares on the schematic ):

Arduino Nano ATmega328P software considerations:

The X-tal for the CPU clock has been changed from 16 MHz to 4 MHz to lower the CPU power consumption. Furthermore, the DIV8 fuse for the CPU is set to divide the internal clock by a factor 8 to become 4Mhz/8 = 500 KHz clock frequency.

The CPU enters a power sleep mode approx 15 min. after the last hook down and wakes up again at hook off or on an ingoing call.

The Nokia phone can be closed down by dialling “040” . The Nokia phone can be started up by the rotary dial of “050”, but allow 30 sec. for the phone to initialise. For the statemachine, an extra state “sleep” state was added to separate the Nano power down sleep mode:

The power consumption measurements for the button emulation and the POT with Nano:

The power bank reveils an internal leak current of 50 uA.

With the CPU in power down sleep state, the two I/O boards and the Nano uses 0.14 mA , adding up to  0.19 mA including the power bank internal leakage current. With the 3Ah power bank it should reach to 1.8 year of stand by !.

With the CPU in active mode, running the statemachine without in-/outgoing calls, the current consumption is 2.5 mA

On an ingoing call and active bells the current consumption is 95 mA.

Unexpectedly, the power bank is charging the mobile phone via the common power connection when the external 5 V DC power input is removed. To avoid this situation, an external 6 V DC / 0.5A adapter is used but with 3 diodes ( one schottky + one ordinary diode for each power path) to separate the power distribution:

NOTE: The relatively small power bank used does not support “pass through” charging, that is, the output of the power bank for the interface electronics is disconnected during charging. Before connecting the 6V DC adapter for charging, do  close down the Nokia phone by dialling “040”, and leave the hook down. To charge the power bank and Nokia phone, just connect the 6 V DC adapter and observe the charge status of the power bank and Nokia phone. When the power bank and Nokia phone is fully charged, you can dial “050” to turn on the Nokia phone again.

Version 3 of the interface electronics board:

A new version of POT interface board with the ATmega328P microcontroller was made to omit the Arduino Nano:

The new PCB with the ATmega328P in place in back side of the POT:

A small demo video is here: https://youtu.be/9aTgyENIR24

After more than a year in use it turned out, that the ringing frequency of 31.25 Hz is a bit too high for the ringing coils to work reliable. In other words , the coils do not get enough time to build an adequate electromagnetic field. The coils originally worked at 25 Hz , so to solve the problem, the software has been changed to provide a 25 Hz ringing signal for the ringing coils: Kirk_C_v2h

Additional description for the early POT version:

The description so far applies to the later telephone version with the smaller hook switch. The early version with the larger hook switch does not leave space for the power bank, and the interface electronics PCB is changed to use some SMD parts shrink in size. The interface is now powered by the mobile phone battery via a step up converter. The new block schematic looks like this:

The 5 V input is provided by the mini USB connector placed on the rear side of the POT.:

The converter that got 3.7 V from the Nokia battery and steps up to 5 V for the interface electronics is the converter PCB from a one cell 18650 power bank:

The Nokia mobile phone with wiring for the incoming notifier signal and the power wiring from the battery:

The “inner life” of the modified early version POT:

A view from the bottom side, the 3.7-5V converter is between the bells and the coils bracket:

The software was changed to fit the early “10 pulse” dial mechanism timing, that is,  the delay for “this must be the last dial pulse => save the dialled digit” was changed to 140 msec. to fit the slower early dial mechanism.! The latest software version is to be seen here: Kirk_C_v2i.pdf