I was helping someone with limited mobility who wanted to have independent use of her phone with a single adaptive switch. Her preference was to use operator assistance to place their calls. This phone hardware modification is a One Button Operator Dialer. With a single adaptive switch press, the line will open, ‘0’ for operator will be dialed, the Verizon menu will be navigated, and you’ll get to speak to an operator who can help you place a call. A second press ends the call. If you just want to open the line (without the operator sequence) you do a quick press (less than 1 second). Here’s a video of the first prototype in action:
Here’s the inside of the phone when I first opened it:
You can click on these pictures to see closeups of the hook switch. It functions as a combination of 3 switches: 2 SPST’s and 1 SPDT
First I worked out which points on the keypad circuit I could use to dial ‘0’. This was the simpler job and with a multimeter in continuity mode I determined connecting the 1st and 4th pins of the ribbon connection on the keypad would work.
The hook switch is more involved not only because there are more connections to make and break. The reeds of the hook switch are positioned and tensioned to make and break the connections in a certain order, not all at the same time. I needed to emulate this timing.
Going from lever end to wire end the reeds (grouped as switches) are as follows:
- Black, Red
- White, Green
- Brown, Yellow, Gray
The order of events for hook up is:
- break Yellow – Gray
- make White – Green
- make Yellow – Brown
- break Black – Red
The order of events for hook down is the opposite and reverse:
- make Black – Red
- break Yellow – Brown
- break White – Green
- make Yellow – Gray
For some of the 2500 series phones the yellow and gray are connected on the PCB, so the steps involving that pair can be ignored. Pictures and instructions below use that configuration. For others you must use an extra relay to connect them (ie. yellow goes to 2 SSRs or 1 SPDT mechanical relay). The code linked to below includes controlling that extra relay as well.
With all this information I used 3 relays for the 3 hook switches and a 4th relay for the ‘0’ key. It took some trial and error to get the timing right for the operator sequence. With Verizon service in this area, after dialing ‘0’ there’s a delay, ringing, then a menu begins, during which you can dial ‘0’ again to get a live operator. However that ‘0’ I had to discover as it’s not mentioned in the menu, also you can’t hit it right away or else it’s ignored. It must be dialed after the greeting mentions pressing ‘9’ for fire or police.
Here are some pictures of assembling the first prototype using mechanical relays. I went with mechanical relays initially since they are what I had on hand but they were not necessary nor ideal for this project (large, loud, power hungry), but they worked.
Here are some pictures of assembling the final version using solid state relays. In this setup everything fits inside the phone and only a switch jack and indicator light are external.
The user of this device wanted to be able to use her check activate the phone switch but the positioning was crucial. Otherwise the user would either not be able to hit the switch or would hit it by accident. To get the right spot I cut a notch in the center of the handset and placed a microswitch in there.
The logic to detect the length of switch press and operate the hook switch and/or get to an operator is running on an Arduino Nano. You can get the code here: