Introduction: Cell Phone With Bells AKA OrPhone
About a year ago I decided to find some old rotary telephone and give it a new life. I thought there’s far enough room inside the phone to place batteries, controller and GSM module. So I started searching for an old phone in more or less good condition. Surprisingly I found absolutely a new one! That was an orange Jaskier-70, made in Poland in 1974. And yes, I can confirm it again, it was absolutely new. In factory packaging with all those stamps and signs. It was waiting for me for more than 40 years in a military storage. At least in 2015 it was decommissioned and moved to the local shop where I found it. I bought it without any doubt. I was ready to start and I thought the project was a piece of cake. Well, it wasn’t. Not for me.
The plan was to use Arduino Uno with GSM shield as the core. And indeed this part was not hard. But my plan was not that simple. I had an idea to save original sound of the phone: its speaker, microphone and ringer. And that became a huge problem for me. My skill in electronics was not enough so I had to learn a lot before I could make my first working prototype. And this prototype was not the last one. Long story short here is the final release of my orange telephone. orPhone as I call it.
This is an open project, feel free to fork and modify it.
Enough lyrics, it’s time to dive to tech details. These are orPhone’s features:
4G LTE: no
Memory slot: no
Front camera: no
Voice control: no
Сamera flash: no
Alarm clock: no
Fingerprint scanner: no
MP3 player: no
Vibrate mode: no
Battery capacity: 2200 mAh
Extended charger: 12V, 5A
Size: 250✕220✕120 mm (9.8”✕8.7”✕4.7”)
Weight: 1.36 kg (3 lb)
Incredible phone, isn’t it? I’m really proud of owning it.
Step 1: Circuit Diagram
As I said before the core of my orPhone is Arduino UNO (Genuino UNO) with GSM Shield. But it turned out that the key part is DC-DC boost converter. I think that I have to explain that. The phone’s original bell set requires 60 volts and 25 Hz signal. Unfortunately I didn’t find a ready-to-use DC-DC booster with 60 volts output small enough to place it inside the phone. I had to design and make it myself. And it appeared that this module affected the other hardware parts of the phone and also Arduino sketch.
First of all this DC-DC boost converter requires a square wave generator. The next step is to convert 60 volts DC to 25 Hz AC. I decided to use Arduino to generate 25 Hz signal to switch 60 volts polarity. So I reserved two Arduino pins (A and B on the circuit diagram) to control polarity and one pin (C on the circuit) to control the ringer itself. To generate incoming call sound Arduino sketch provides a square wave signal on pin C: high logical level for 1 second and low level for 4 seconds. This signal may differ in your country.
The sketch uses all analog input pins of Arduino UNO:
- A0: receives handset on/off state.
- A1: receives rotary dial mechanism state.
- A2: receives rotary dial mechanism pulses.
- A3: ✱ button state.
- A4: # button state.
- A5: + button state.
Buttons ✱, # and + are handled in the sketch and I did reserve A3, A4 and A5 analog input pins but I decided not to drill my phone for them. These buttons are not that important for me.
The last pin I didn’t mention is D13. I have connected LED to it to indicate GSM network connection process. It’s blinking while connecting to the network and it’s off if connected.
I had doubts about old speaker and microphone. Are they still alive and are they compatible with GSM Shield? Lucky me both answers are yes. GSM shield works fine with the phone’s original speaker and microphone. My voice sounds huskily but that’s normal for carbon microphone. That’s exactly what I have sought.
A couple of words about power source. My goal was to make this phone mobile. I know, the phone’s final weight is 1.36 kg and I’m not going to carry it in my pocket but I’m making a cell phone! It should be mobile. Inside the phone it was enough room to place two 18650 Li-Ion batteries (each 3.7V 2200mAh) and a charging board. I used a ready-made charging board. The only modification I made, I replaced two SMD LEDs with one bi-color common anode 5mm LED. I placed this LED and the LED connected to D13 pin on the back side of the phone. I also placed there a power switch and a plug to charge batteries.
Step 2: Take It Apart!
When I saw the inner space of the phone I found that the phone is really tiny for my needs. I was going to place there: an Arduino controller with GSM shield and antenna, DC-DC power converter with square wave generator and DC-AC converter, two 18650 batteries with charge controller and all those LEDs, plugs, switches and wires. And I have to leave telephone’s bell set and rotary dial mechanism in their places.
At first I thought that I could use the phone’s handset contact assembly. But nothing came out of it. It’s too big. I had to replace it with a limit switch. See it on photos.
Step 3: Prototyping
My favorite part. I prototyped 60 volts DC-DC boost converter with square wave generator and DC-AC converter. I also developed and tested Arduino ringing sketch (bell_ringer.ino).
The breadboard view was drawn with Fritzing. By the way all Fritzing files are available on the project’s GitHub page.
The most complicated part of the project for me was DC-DC boost converter. Electronics theory is not my strong suit, so this prototype was the only way to try and select the right parameters of booster’s toroid inductor and square wave generator.
First of all I made an inductor. I used ferrite core toroid 2.88UH N87 with 450 turns of 0.5 mm enameled copper wire. This work is not for the faint of heart!
Then I assembled all bell ringer electronics on the breadboard with 1.5 kOmh load. That’s the same load as the bell’s coil. And started to roll square wave generator’s variable resistors trying to get output voltage of DC-DC booster close to 60 volts. With the optimum output voltage generator gave 4.2 kHz and 89.5% duty cycle.
Step 4: Assembling
Because of the lack of inner space I decided to place all bell electronics in two tiny empty spots on the phone’s front side: to the right and to the left of the bell set. I was not sure whether that’s possible or not, so before making PCBs, I prototyped them in cardboard and checked that they could be placed there. It did not work on the first try but finally I made and mounted these PCBs.
Since bell electronics was on the phone’s front side, I saved all available space on the rear side, where I was going to place batteries, charge module, Arduino UNO and GSM shield with GSM antenna. To connect Arduino pins to periphery (bell electronics, handset limit switch, rotary dial mechanism and even three reserved buttons: ✱, #, +) and also to connect power module, LEDs and the phone’s handset, I decided to add a proto shield with screw terminal block connectors.
To place all this stuff as compact as possible I designed and 3D-printed holders for Arduino UNO, batteries, charger and GSM antenna. Of course these 3D-models are very special for my Jaskier-70 telephone. However I published them on the project’s GitHub page.
The final and most risky part of the project was to drill holes on the back side of the phone’s case for two LEDs and a power switch. I was lucky that the power plug perfectly fitted the telephone line cable hole.
Step 5: Conclusion
It’s always hard to stop for me. Well, I can say that the project is completed. But I also have ideas how to improve it. Especially after period of use. Sure, someday I will come back and add new features.
I think that the most annoying issue is that I have no information about battery status. Is it full or is it totally discharged? Too bad for mobile gadget.
Another issue is that my phone lights and blinks in the dark. There are three state LEDs on my GSM Shield. I think the only way to turn them off is to desolder them.
I’d like to thank my good friend and electronics guru SerEzhik. Sure, I would not have coped with such a project without his advice.