Introduction: Low Tech Rotary Phone Made Wireless.
Rotary phones are cool, they should stay cool even wireless!
I have to say that I do like vintage objects. One of my favorite ones is of course old rotary phones. I used to have one at home until I was 10 years old. At this time, my number was only 6 digits long, cell phones weighted around 10Kgs and used to drain a car’s battery in a couple of hours.
After thinking about it for a couple of years, as technology became easier to access I learned enough to bring these objects back to life, rather enhanced.
The goal is to keep the phone as it used to be, with its electromechanical bell ring, and of course the rotary dial, but this time without the line wire. To achieve that, the simplest thing I’ve found was to build an interface between the rotary phone hardware and a cordless analog phone handset. Look and usage will remain exactly the same; you just won’t have to plug it into the wall to use it. But you will have to charge the battery sometimes…
Step 1: Just a Bit of Theory
The rotary phone used to release the line for a fraction of seconds 1 to 10 times to dial a digit. The whole system was working without any silicon, with only relays and electromechanical components. The anti-local separation, amplification and ring detection was done with just an audio transformer and a couple capacitors… Such design really impressed me. I will probably never be able to do as well and as reliable even with op-amps or DSPs.
Electromechanical bell ring is powered by AC voltage up to 100V @ 20-50Hz sinusoidal on the line. As a cordless phone will run on low voltage battery a boost converter will be needed.
Analog lines now are almost only supporting DTMF tones to dial a number, so we will have to convert impulsions from the dial into DTMF tones. This is where I would like to thanks Mr. Roman Black for his DTMF DDS generator algorithm (tut13), which largely inspired my code for this part of the project and saved me an extra DTMF generator chip . Beside this tutorial, I strongly recommend you to take a look at his work.
Step 2: Technologic Choices
I choose to use DECT analog cordless phones for this project as they are really common and not expensive. This project should also work with an old analog cordless phone as well.
All the rotary phones I’ve seen around the world are basically working the same way. So yours should work for this project.
As we need a battery to power the whole thing, I choose to use one 18650 Li-Ion cell which are small, common and doesn't have memory effect. Voltage is enough to power a 2 Ni-Cd or Ni-Mh cordless phone with a LDO regulator. Capacity is plenty, even if cheap batteries’ real capacity might be a lot less than it says… One Li-Ion cell is easy to charge with a single specialized chip. And to be safer I use a battery holder with integrated PCM-protection.
To produce the high voltage needed by the electromechanical ring bell, I use an analog line module. Bought online and usually used for VoIP to analog gateways, PBX, … only the boost converter and H-bridge are actually used.
The uC is a PIC16F690 which provides all features needed for this project, and can be powered directly by the battery.
Step 3: Circuit Design
The circuit is basically an interface between a cordless handset and the rotary phone’s hardware. The functions it carries out are:
-Breakout between cordless handset and rotary phone’s hardware.
J1 connects cordless handset with a 14 pins ribbon cable. J2 and J3 are the terminal blocks for rotary phone’s hardware, battery holder, switch,…
-Charger for the battery.
U5 is the single-chip single cell Li-Ion charger; R12 fixes the charging current to max 500mA. D4 protects U5 against polarity inversion on the power jack. C10 and C11 stabilize U5, see datasheet for more details. Charge status goes to the uC, R11 is there to absorb any difference of voltage. R10 is a pull-up resistor as this uC input doesn’t feature an internal one.
-Power supply for the cordless phone.
U6 is a 3V LDO regulator with shutdown mode. It powers the cordless handset. The uC controls its shutdown input to turn OFF the handset and prevent over discharge of the battery.
-Pulse dial decoding and DTMF generator.
The two Dials’ contacts are connected to 2 uC input (with internal pull-ups), to count the pulses. DTMF generation is done by software on a filtered PWM output. R9 and C5 are the low-pass filter. P2 is the DTMF level setting. U2, is a quad analog switch. 2 of these switches are used to add the DTMF modulation directly at the handset mic input only when needed. As the DECT handset is generating a lot of noise on the power supply, this prevents noise to be heard on the line and prevents as well mic level to be attenuated by P2. C4 and C2 blocks DC from both PWM output and electret mic polarization.
-Ringing detection and high voltage generator (bell ring).
Ring detection is done with uC’s internal comparator module (see datasheet for more information). R6, R5 and P3 are polarizing the inputs. C7 and C8 blocks the DC from the handset’s ring speaker. R2 just load the speaker output. When ringing, AC voltage makes the state of the comparator change and is interpreted by software as a ring. The voltage for the bell ring is generated by U4, an analog line module. Q2-R8 powers the module when needed. Pulses (25Hz) are generated by the uC and command the module’s H-bridge.
-Audio (speaker) level setting, mute and clicker.
Cordless handset’s speaker is connected to rotary phone’s handset speaker via P1 for level setting and U1 for audio muting. The use of optocouplers is unusual but works fine and is the only solution I’ve found to avoid any power supply noise to be heard in the speaker. Analog switches, FETs,… all where transmitting power supply noise to handset.
R1, R4, Q1 and D1 are taking negative line of speaker to ground when pulses from the dial are high and when audio is muted. This is done to reproduce the line clicks heard when dialing a digit. You can actually hear a bit the power supply noise I was talking about previously during pulses when dialing.
-Hang-up detection and cordless phone “TALK and END button pressing”
The hang-up contact is connected to one uC input (with internal pull-up resistor). Two analog switches connected to uC outputs, “press” Talk and END button when needed.
A two color LED is powered by two uC outputs. It is used to display status, such as charging state and battery level.
A 10MHz 20ppm crystal Y1 (with C8, C9) is used as uC’s oscillator. The DTMF period has to be precise. 10 MHz allow a high enough PWM frequency and will work with power supply voltage of the uC down to 3V.
Step 4: Software
Beside dialing using Roman Black’s DTMF algorithm (tut13), the software is in charge of power management shutdown, hang-up detection, dial reading, ring detection,…
The current version of the software is the first release, working well even if battery level indication might be improved and shutdown voltage set lower. 3,5V instead of 3,7V should keep battery in good shape while double the capacity used…
I also would like to add different options, clean the code and so. But it is already definitively usable. I used MPLAB 8 and XC8 compiler in free mode. Feel free to download the .hex and program a pic to make your own.
Step 5: PCB Design
PCB is two layers. I draw it using DIP Trace. Feel free to use the Gerber files to make your own. I did it with through-hole component for easier DIY soldering, except for 2 chips that don’t exist in DIP package. But with flux, small tip and patience, it is possible to solder it with an iron. The silk on the pictures have errors, “dtmf” and “HP” are reversed. It has been corrected on the Gerber files provided.
Step 6: Shopping List
-C1, C3, C6, C7: 100n ceramic - digikey 478-5741-ND
-C12, C13 : 2u2 tant. - digikey 478-1871-ND
-C2, C4: alu. - digikey 493-10467-1-ND
-C5: 1u alu. - digikey P15831CT-ND
-C8, C9: 22p ceramic - digikey 399-4220-ND
-C10, C11: 4u7 alu. - digikey P15839CT-ND
-D1: 1N4148 - digikey 1N4148TACT-ND
-D2, D3: 1N4007 - digikey 1N4007-TPMSCT-ND
-J1: 14pins ribbon socket IDC2X7M - digikey OR898-ND
-14 pins ribbon cable connector - digikey OR911-ND
-J2, J3: 10pos screw terminal blocks - digikey ED10567-ND
-P1, P2: 1k trimmer - digikey 3319P-102-ND
-P3: 50k trimmer - digikey 3319P-1-503-ND
-Q1: 2N7000 - digikey 2N7000TACT-ND
-Q2: 2N4401 - digikey 2N4401-APCT-ND
All resistors are 1/4W 5% - any electronic component distributor
-R2, R11: 1K
-R3, R8: 220
-R4, R5, R6: 100K
-U1: LTV-827 dual optocoupler - digikey 160-1368-5-ND
-U2: CD4066BCN - digikey 296-2061-5-ND
-U3: PIC16F690_P - digikey PIC16F690-I/P-ND
-DIP-20 socket - digikey ED3054-5-ND
-U5: MCP73831 4.2V Li-Ion charger - digikey MCP73831T-2ATI/OTCT-ND
-U6 : 3V LDO reg. TC1107_OA - microchip TC1107-3.0VOA
-Y1 : 10MHz crystal ECS-10-13-1 - digikey CTX919-ND
-PCB: any PCB manufacture or yourself if you are not afraid to deal with vias and heatsink copper pour.
-analog cordless - phone local shop, see step 9
-old rotary phone - yours
-snap-in bicolor LED - digikey 350-2981-ND
-power jack chassis - digikey CP-5-ND
-cable power jack - digikey CP3-1000-ND
-Switch: whatever small enough panel mounting pushbutton will do (uni or bipolar) - any electronic component distributor
-18650 3.7V Li-Ion battery. It MUST be 3.7V not old 3.6V cells - aliexpress, ebay, or more expensive if you want a true good capacity :)
-set of different colors wires. I used red, black and 2xgrey. (200-250mm)- any electronic component distributor
-14 wires ribbon cable, 1.27mm pitch (200-250mm) - any electronic component distributor
-screws and spacers M3 or 4-40 - hardware shop
-silicone rubber - hardware shop
-epoxy glue - hardware shop
-USB power supply, 5V 500mA min. - your own
-a piece of foam 50x50mm
-adhesive rubber pads
-couple of tie-wraps
-heat shrink tube
-to measure, drill, file,…
Step 7: PCB Soldering
The uC, pic16f690 is mounted on a socket for ease of programming.
First, solder the SMD IC on the bottom side:
-U5 : MCP73831T-2ACI/OT (SOT-23-5)
-U6: TC1107-3.0VOA (SOIC-8)
On the top side, solder all the resistance (1/4W 5%):
-R1: 10K (brown, black, orange, gold)
-R2, R11: 1K (brown, black, red, gold)
-R3, R8: 220 (red, red, brown, gold)
-R4, R5, R6: 100K (brown, black, yellow, gold)
-R7: 330 (orange, orange, brown, gold)
-R9: 270 (red, violet, brown, gold)
-R10: 47K (yellow, violet, orange, gold)
-R12: 2,2K (red, red, red, gold)
Solder the diodes:
-D1 : 1N4148
-D2: 1N4001 or SR1100
-D3: 1N4004 or 1N4007
Solder the DIP IC:
-U1: LTV827 (DIP-8)
-U2: CD4066 (DIP-14)
-U3: solder the uC socket (DIP-20)
Solder the crystal:
Y1: 10MHz (ATS-100B)
Solder the ceramic capacitors:
-C8, C9: 22pF (220)
Solder the trimmers:
-P1, P2: 1K (102)
-P3: 50K (503)
Solder the ceramic or film capacitors:
-C1, C3, C6, C7: 100nF (104)
Solder the electrolytic and tantalum capacitors:
Mind polarity, plus side is indicated by the square pad.
-C2, C4: 2,2uF 35V electrolytic
-C5: 1uF 50V electrolytic
-C10, C11: 4,7uF 50V electrolytic
-C12, C13: 2,2uF 35V tantalum
Solder the transistors:
Solder the connectors:
-J1: 14 pins ribbon cable connector.
-J2, J3: 10 pins screw terminal blocks.
To put the terminal blocks in place, file a bit the pin 1 (square pads).
Solder the R-tone module:
-U4: KS0835E (SIL-11)
Put the IC U3 on its socket.
-U3: PIC16F690 (DIL-20)
-If using a unipolar (power) switch solder the J4 bridge.
-If using a European rotary phone (unpolarised bell ring), solder the J5 bridge.
Step 8: Cables, Jacks and Switch Preparation
-Panel-mount charging jack: Solder the red wire (20-30cm) on the centre pin, the black on the external pin. Protect the solder with heat shrink tube.
-Charge cable: Cut the micro-USB connector. Pass the cap on the cable. Skin the outer cable on 12-15mm, and burn the rope with a lighter. Skin the red wire, and solder it on the center pin of the power jack. Solder the black on the outside of the jack. Cut the green and white wire. Secure the cable with the metallic tabs. Put epoxy glue between rope and tabs. Let it dry before closing the cap. File a bit if necessary.
-Ribbon cable: crimp the connector on the ribbon cable by squeezing it in a wise. Be careful that the cable is perpendicular with the connector. Skin and twist the 12 wires from the pin 1 arrow on the connector put a bit of solder to help the mounting on the phone’s PCB.
-Power switch (unipolar): Solder one grey wire on the centre pin of the switch and another one on one external pin. Protect it with heat shrink tube.
Step 9: How to Choose the Cordless Phone
The design is done to be as universal as possible and should work with the majority of DECT cordless phone as long as they have the following specifications:
-Get a cordless phone in the country in which you want to use it, as frequencies are not the same everywhere.
-It should be compact enough to fit inside the rotary phone.
-It should be powered by a 2.4V battery pack or by two Ni-Cd or Ni-Mh batteries.
-It should have one button “TALK” and one button “END”.
If it is smaller, it will be easier to fit it in the rotary phone.
It worked with all the phones I tried as yet, however without any warranty.
Step 10: Cordless Handset Preparation
-Test that it is working well, once you open it, the warranty will be avoided.
-Choose the ringing which is the most continuous, and has the less sound level variation. Turn off the keypad bips. Set the ringing level to medium. Set the speaker level to medium-loud.
-Open carefully the cordless handset.
-Plug back the battery
-Pick-up the cordless handset. With a DC volt-meter, check the polarity of the mic (electret). Voltage should be 1 to 2V. Note the positive side on the PCB and on the mic.
-Do the same test and note the polarity with the speaker. Voltage should be a couple mV.
-Call the cordless phone, and do the same test (DC voltage) and note the polarity with the ring speaker when it is ringing. Voltage should be a couple mV.
-De-solder the metallic charging tabs or cut it.
-Carefully de-solder the battery connector and replace it by the wires 1 and 2 of the ribbon cable. The 1st wire is the positive, and the 2nd wire is the negative. (The 1st wire is indicated by the arrow on the 14 pins connector).
-Carefully de-solder the ring speaker and replace it by the wires 3 and 4 of the ribbon cable. The 3th wire is the positive, and the 4th wire is the negative.
-Solder the 5th and 6th wires to each side of the “END” pad. Polarity doesn’t matter. Check with an ohm-meter that there is no short-circuit.
-Solder the 7th and 8th wires to each side of the “TALK” pad. Polarity doesn’t matter. Check with an ohm-meter that there is no short-circuit.
-Carefully de-solder the mic (electret) and replace it by the wires 9 and 10 of the ribbon cable. The 9th wire is the positive, and the 10th wire is the negative. Preciously keep the mic and note its polarity.
-Carefully de-solder the speaker and replace it by the wires 11 and 12 of the ribbon cable. The 11th wire is the positive, and the 12th wire is the negative.
-Wires 13 and 14 are not used just fold it back.
-Secure the ribbon cable to the cordless handset PCB.
Step 11: Prepare the Rotary Phone
-Disassemble the rotary phone and remove the entire internal component inside, except the electromechanical bell ring, the pick-up switch and the rotary dial.
-With an ohm-meter, search for a contact which is closed when phone is picked-up and open when you hang-up. Keep the two wires of this contact. The other wires can be cut out.
-Search a spot for the cordless phone. On the side is often the best place, but it really depends on the rotary phone type and on the cordless phone size.
-Search a spot for the battery holder and the PCB inside the rotary phone. Make sure nothing (new components, wiring,…) will hump the smooth functioning of the rotary phone. Make sure as well that the terminal blocks remain accessible. If some rotary phone wiring is too short to reach the terminal blocks, splice it. Put back the rotary dial and close the rotary phone to make sure everything is getting back together. Mind the height of the PCB spacers.
Step 12: Mechanical Assembly Inside the Rotary Phone
-Trace and drill at least 2 holes for the PCB, ø3.5mm.
-Trace and drill one ø6mm hole on each side of the middle of the battery holder for a tie-wrap.
-Assemble the PCB with M3 screws and spacers.
-Glue the battery holder with silicon, after cleaning with alcohol the two surfaces. Secure with a tie wrap is necessary and allow time to dry.
Step 13: Prepare the Rotary Phone Handset
-Unscrew the handset to access the carbon mic. Remove the mic and its support.
-Prepare the electret mic that you kept during the cordless handset preparation. Solder longer leads on its pins.
-Remove any traces of oxidation on the contact tabs with sand paper.
-Solder the electret mic to have it on the centre of the support. Make sure to note the polarity for later. Be careful to avoid any short-circuits.
-Prepare a pad of foam with a hole in the center for the electret mic.
-Put the foam in place and screw back the handset.
Step 14: Placing the Switch, Led and Charger Jack
-Search for a place on the rotary phone housing or chassis to mount the switch. Make sure it will correctly fit without temper rotary phone components operation. Mind its wiring as well. I prefer inconspicuous places, but this is your call.
-Trace and drill a ø7mm hole.
-Assemble the switch with its hardware.
-Search for a place on the rotary phone housing to mount the LED and the charger jack. Make sure it will correctly fit without temper rotary phone components operation. Mind their wiring as well.
-Trace and drill a ø8mm hole for the jack and a ø4mm hole for the LED.
-Screw the charger jack on the housing and push the LED in its hole.
-Put the housing in place to be sure it will close correctly.
Step 15: Wiring
-Present the housing and route the wires to the PCB.
-Connect the wires in order, from left to right when looking at the PCB with the screw terminal blocks on the top and the R-tone module on the left.
1- Negative of the electromechanical bell ring.
2- Positive of the electromechanical bell ring.
Note that not all rotary phones have a polarized ring bell. The “500” Canadian by example have a polarized one and more than one winding on the coil. The negatives are usually the black and red/grey wires, the positives are the red and grey wires. The European rotary phones usually have a non-polarized bell ring. In case of a non-polarized bell, J5 (solder bridge) must be closed.
3- Negative of the charger power jack, black wire.
4- Positive of the charger power jack, red wire.
5- Negative of the battery holder, black wire.
6- Positive of the battery holder, red wire.
7- Common of unipolar power switch, grey wire of the side.
8- Not connected with a unipolar switch if J4 solder bridge is closed. If not, do a wire bridge between 7 and 8 positions.
9- Output of unipolar power switch, grey wire of the centre.
10- Red side of the LED, black wire.
11- Green side of the LED, red wire.
With the rotary dial at rest position, search the pulse contact of the dial, normally closed, and the stow contact, normally open, with an ohm-meter if needed.
12- One side of dial’s pulse contact.
13- One side of dial’s stow contact.
14- Other sides of dial’s pulse and stow contact.
15- One side of picked-up handset contact (normally open).
16- Other side of picked-up handset contact.
17- Negative of handset speaker.
18- Positive of handset speaker.
19- Negative of handset mic.
20- Positive of handset mic.
Step 16: First Power-up
-Do not plug the cordless phone to the PCB. With the rotary phone’s housing open, put the battery in place and turn the switch ON. If nothing is happening, plug the charger cable into the phone and connect it to a USB power supply (5V 0.5A). Try to turn it ON again.
-If everything is working well, the bell should tinkle once and the LED should start flashing, as the handset is picked-up.
-Hang-up. Remove the charge cable, turn the switch OFF and plug the cordless handset.
-Plug the base of the cordless phone to an analog line and a power source.
-Turn now the power switch ON. The cordless handset should be powered. Wait until communication is established between the cordless phone and its base.
-Pick-up and check for line tone.
-Speak in the handset to check that you hear your voice back in the speaker.
-Hang-up. Plug back the charger cable. Check that LED is indicating charge mode (solid red).
-Unplug the charger cable. LED should turn OFF.
Step 17: Settings
-Put every 3 trimmers to its minimal position on the left (CCW).
-Pick-up, and adjust the speaker level if needed with trimmer P1.
-With the phone picked-up, dial a digit with the rotary dial. Increase progressively the DTMF level with trimmer P2 and try to dial again. Do that until the DTMF tone is decoded, when line tone stops. Increase a bit more. Note that DTMF level is related to battery level. Then you could have to test and increase the DTMF level more when battery level will be lower. It is better to do this setting with a low battery. You can also simulate it with a lab power supply instead of powering it from the battery. Begin with the power supply set to 4V, and then with the handset picked-up, decrease the supply voltage until the LED blinks 1 time red.
-Hang-up and call your analog line. If bell is not ringing, increase the sensitivity with trimmer P3 until it rings. Increase the sensitivity a bit more. Note that sensitivity is related to battery level as well and will decrease while battery voltage increases. It is then better to do this setting with a fully charged battery. You can also simulate it with a lab power supply set to 4.2V instead of powering it from the battery.
Step 18: Putting It All Together
When all tests and settings are done, power OFF the phone and unplug the cordless handset.
-Prepare the spot of the handset. If needed use adhesive rubber pads as spacers.
-Clean the surfaces to glue with alcohol.
-Put the handset in place, make sure there is no short-circuits, especially with a metallic chassis.
-Glue the handset to some places with silicon mastic.
-Allow time to dry. If needed, use some tape to hold handset in place.
-Plug back the handset to the PCB and test the phone once again.
-Secure wiring with some tie-wraps.
-Secure the battery with a tie-wrap.
-Close the housing. Make sure no wires are pinched and that nothing will temper with rotary phone’s mechanical elements.
Step 19: Enjoy Your Brand New Old Rotary Phone!
Use of the phone doesn’t change from the time it was wired, but there are a few more things to know:
-As the phone is now running on battery, you will have to charge it sometimes. As well as the time you speak, autonomy will change depending almost only on cordless handset consumption and capacity of battery. To play it safe, and keep the battery’s life as long as possible, the low-voltage shutdown is set right under 3.7V. For the one I have at home, 3-5 days is usually what I get.
-When not in use and charging the LED will be solid red. If low-voltage shutdown has been reach, the phone will restart only when battery level is good enough. In this case, the LED will blink red.
-LED will show you the battery level when in use. 3 times green means good, 2 times green means medium, 1 green low. 1 time red means you should charge it. When not in use, the LED will shortly flash once every 20s (during cyclic battery test). Flash will be green when battery is not too low and red when low-voltage shutdown is close.
-As you could sometimes need to dial # or *, extra dial functions are added. These are reached by holding the dial for a couple seconds before releasing it. Wait until you hear a 400Hz tone in the speaker to release the dial.
Holding 1 will dial #. The DTMF tone will not be muted.
Holding 2 will dial *. The DTMF tone will not be muted.
Holding 3 will redial the last number. The DTMF tones will not be muted.
-If your line and the cordless phone you used feature double calls, you will be able to access them by shortly (0.25s) pressing and releasing the hang-up switch.
Step 20: Look Further...
-One of my friend asked me to do one with a cell phone. At this point I’m not sure a lot of people would like to pay an operator just for the pleasure of taking their rotary phone for a walk, but why not…
Step 21: ***Firmware Update***
As requested, and because i didn't take time to clean and comment it in english, there is the raw source code and hex, develloped a long time ago with MPLAB 8. It should compile with XC8 and migration to newer MPLAB versions should be pretty straightforward.
However, this is the version 1.2, with couples upgrades, the biggest one being the ability to drain the battery a bit further, by calibrating the diode voltage ref of the PIC16F690. If someone wants to port the project to another uC with a better voltage reference, the PIC18F13k22 should be a good candidate.
So in order to properly calibrate the internal voltage reference, there is a little procedure:
- use a bench lab supply with a 3.7V output to power the circuit during calibration.
- to enter calibration mode, short the PHONE_END line (portB5) to ground, by connecting pins 6 and 7 of U2 (4066) during power up.
- once powered, remove the short. Led should light up red.
- verify or adjust the power supply voltage to 3.7V
- short again the pins 6 and 7 of U2, to start the calibration. Once done, the LED should light up green for 1 second.
- you can verify the calibration by hooking a 1200 Bauds serial terminal to the red side of the led.I used a photodiode for this purpose. In any case, you should see the serial output on the led (red).
- to exit calibration mode, power the circuit off.
There is a way to know if the calibration as been done. At normal power-up, the led will light up green during the power-up ringing. If not, or if the EEPROM seems corrupt, the led will light-up red and it will use a default calibration value, which may not be optimal for battery longevity.
That's it, hope you will have succes with this instructable. And if you wish so, it would be really nice to see picture of your results.
Participated in the