Modernizing an antique phone for kids of the app age to enjoy. The phone plays kids movie clips when you lift up the handset, or you can turn the crank to summon the 'operator', a custom Google Assistant voice recognition project that can answer any question or play requested audio files from different Disney characters.
The older the better
Raspberry Pi Zero
I'm hiding the electronics inside 3D printed replica #6 batteries, if space isn't a concern any rpi will work
Raspberry Pi Header Cable
Connects the rpi to the custom circuit board with the other components
I wanted to be able to summon the Google Assistant by turning the crank of the phone, which historically is how you would have summoned the operator. Originally turning the crank would generate an AC voltage of approximately 90 volts, which would cause the bells on the operator's end to ring signaling that you wanted to place a call. I actually considered half a dozen different ways of detecting the handle being turned including hall effect sensors on the gear teeth, but eventually settled on what I think is the simplest. The way the crank is designed, when you start turning it it converts the first half rotation into horizontal movement to slide the shaft sideways and make contact with a terminal. This completes the circuit and allows subsequent turns of the generator to send voltage down the telephone line. When you stop cranking, a spring slides the shaft back away from the contact and breaks the circuit so that the lines can be used for the telephone call.
I removed the contactors and replaced them with a nano switch that would be pressed when the crank was turned.
This worked great to detect cranks but I had to adjust the mount to hold the switch at an angle due to space constraints in the telephone housing.
This works perfectly and fits in the telephone housing with a few mm to spare.
I added wires and the generator was ready to go back into the housing.
I soldered the cables onto the connectors I'm using for the main battery, which includes the 8 pin RJ45 jack for the Microphone, 6 pin Mini Din jack for the door, crank, and earpiece switches, and earpiece jack, as well as the micro usb power input/ring signal output. The micro usb jack is wired so that the main battery can be powered by itself, but when it's connected to the ring generator battery the D+ and D- wires are used to send the ring signal to the ring generator.
I started assembling the circuit board by attaching the cables to the board.
After 2 out of the 3 connectors were attached I started wiring the connectors to their respective pins on the raspberry pi header.
The 6 pin mini din connector had to be soldered in last after it was installed in the face plate due to the fact that it inserts from the front of the face plate and not the back like the rest of the connectors.
I installed the components into the housing, everything screws in directly except the RJ45 jack which is held in place by a set screw.
I attached the ribbon cable for testing everything before installing it permanently.
The raspberry pi is installed so that I can still access the micro USB ports by just removing the shell of the fake battery. The SD card slot is also externally accessible.
All of the jacks after being installed in the face plate and connected.
The interior housing is threaded on one end so the outside just screws on. There was some weird banding in the print for the housing but I left it because it will give more surface area for the glue to grab onto when I install the decals. The faceplate is intentionally red because the old batteries used to be sealed with red epoxy on the top.
After everything was installed I double checked everything worked as expected when connected to the phone.
I pulled the fabric covered earpiece cable through the hole that the original cable came from.
A ziptie around the cable will prevent it from getting pulled out or straining any of the connections if th earpiece is dropped. I added a zip tie pad to prevent pushing the cable in to the phone from causing any issues with the rotating generator next next to where the hole is.
I printed the fake batteries and shells to make sure they fit. The shells screw on and will be covered by ~2mm of plastic.
I opened the microphone compartment on the antique phone to see what I was working with. It looks like this phone has been repaired before and the installed microphone probably isn't the original. Based on other repairs/modifications I'm seeing, it looks like this phone was converted to use a modern tone based system at some point.
I 3D printed a bracket to hold the digital I2S microphone in the space where the original went, and then decided to add space for some neopixels on the sides. I think these will be visible through the mouthpiece and be able to provide some basic visual feedback without being able to see them when they're off.
I need 7 wires for the digital microphone plus the neopixels, so I ran a slim cat6 cable through to the mouthpiece. I'll add an RJ45 jack to the enclosure so that this can be easily plugged in or unplugged if i need to remove the computer or other circuits.
The microphone and DAC share the only I2S interface on the Raspberry Pi, so I wanted to verify that both could work (be installed at least) at the same time. I've connected everything up and verified that I can record audio with the microphone and play it back with the DAC. Unfortunately the DAC is line level and not loud enough, so it will be replaced with a 3W amplifier + DAC that is on order.