Modernize an Antique Radio - Alexa + Raspberry Pi Entertainment System

by Jake_Of_All_Trades in Circuits > Raspberry Pi

3708 Views, 36 Favorites, 0 Comments

Modernize an Antique Radio - Alexa + Raspberry Pi Entertainment System

Modernizing an Antique Radio - Alexa + Raspberry Pi Entertainment System
philco_radio_television_corp_46_350_121_pg15-2.png
s-l1600.jpg

A friend of mine asked me to restore his grandfather's vintage radio. I took it a step further by adding modern equipment and smart features (including Alexa!) to upgrade this beautiful radio into something that performs as well as any modern audio system.

The radio is a 1946 Philco 46-350. It was a 6-tube hetrodyne receiver that could be operated through a wall socket or a battery, allowing it to be portable. It had a single elliptical speaker and a rat's nest of hand-soldered components (despite being made 10 years after the invention of the circuit board). I wanted to keep the fit and finish of the radio the same, so that meant keeping the same mounting points, dials, and exterior cabinet.

The capabilities of this upgraded radio are similar to a 4th Gen Amazon Echo. It has high quality sound output, Alexa smart features, and plug in AND portable power options. At the helm of these modern internals is a Raspberry Pi 4, which also allows for Bluetooth connectivity. An external USB DAC helps the audio output have a more "premium" sound, and a simple driverless USB microphone allows for voice control.

Supplies

Video

Modernizing an Antique Radio - Alexa + Raspberry Pi Entertainment System

If you're a visual learner, I hope you find this video helpful and entertaining. If you'd like my content please subscribe here:

https://www.youtube.com/c/JakeOfAllTrades

The Plan

Philco radio renovation_4.png
IMG_4732.JPG

I planned out this build several times with different equipment each time. I came to the best combination of components that maximizes the available space, and the performance of the audio system and smart features.

The diagram I've drawn will hopefully help you understand how all of these components interact.

  • The speakers will be driven by the amplifier
  • The audio input will come from the Raspberry Pi via the USB DAC
  • The voice control will come into the Raspberry Pi via the USB Microphone
  • The Raspberry Pi itself will driven by Alexa and Bluetooth
  • The power system will feature two options for either plug-in or portable operation
    • The Power Supply will provide 12V
    • The Powerbank which will have its 5V output converted to 12V via the USB-C Power Delivery board
      • A diode will ensure the current flows the right way given the two 12V sources
  • The amp will receive 12V directly
  • The Raspberry Pi will receive 5V via the 12V-5V USB-C stepdown converter

Out With the Old

IMG_4710.JPG
IMG_4720.JPG
IMG_4723.JPG
IMG_4709.JPG
IMG_4706.JPG
MVI_4796_Moment.jpg

I started by removing the old radio's internal chassis which came out fairly easily. I gave the wood cabinet a simple restoration using a simple "wipe-on" restoring compound, Restor-A-Finish. This made the restoration really fast and easy and did a great job of removing decades of residue and blemishes.

I removed the broken leather strap and replaced it with faux-leather purse strap, reusing the same brass footings and a leather punch for the mounting holes.

I decided I wanted to reuse the original dials, and then decided it would be a good idea to keep the original dial mounts on the chassis, so I used a cut-off wheel on a rotary tool to remove the top rail of the steel case after removing all the components. I could also use this rail to mount other components onto later, so I screwed a small wood block onto it to allow for easier installation later.

The Nerdy Bits

2021-03-24 (2).jpg
2021-03-24 (1).jpg
2021-03-28.jpg

The Alexa Voice Service (AVS) has been built into a script for Raspberry Pi by Amazon developers, their documentation can be found here

To get Alexa up and running on the Raspberry Pi, I used the following rough steps. For more detailed steps with the actual code and pictures, please reference this article by Emmet at PiMyLifeUp.

  1. Create an Amazon Developer account
    1. Create a device profile
    2. Create a security profile for the device
    3. Export config.json
  2. Set up the Raspberry Pi with Raspian - flash to microSD
    1. Use a Monitor+Keyboard+Mouse to interface with the Pi
    2. Run the initial set up (updates, clock, wifi)
    3. Enable SSH
    4. configure .asoundrc with sound cards

  3. SSH into the Pi from Command Line Interface (CLI) on desktop
    • ssh pi@"yourIPaddress"
    • Copy config.json into /home/pi (I just used and FTP program)
  4. Run the AVS setup script
    • bash setup.sh config.json
  5. Start up Alexa
    • bash startsample.sh
    • Authenticate Alexa at amazon.com/us/code using the code provided
  6. Create Alexa.service as a systemd service to start up Alexa with power and wifi
  7. Set up Bluetooth

Alexa on a Raspberry Pi has been done by many others before, and as I'm not very familiar with Linux, I couldn't have done this without their legwork. I also need to thank my friend Mike for helping me work through all the problems I faced along the way. Here are some things I learned that may get you unstuck if you attempt to do this yourself.

Tips and Tricks:

  • Do not attempt to use a Raspberry Pi Zero W. I initially started off with one but there just isn't enough processing power to run the script and the AVS development team does not support it.
  • To get the Bluetooth service on the Raspberry Pi set up as an audio sink for playing music from another device, use the following tutorial
  • Change swapfile memory as needed to get the setup script to run uninterrupted (I added 2GB of swap memory)
  • Make sure curl is installed prior to running the setup script (sudo apt install -y curl)
  • Alexa.service may need a "-c" in the execstart line (ExecStart=/bin/bash -c /home/pi/startsample.sh)

In With the New

IMG_4878.JPG
IMG_4854.JPG
IMG_4850.JPG
IMG_4847.JPG
IMG_4853.JPG
2021-05-30.jpg
MVI_4900_Moment.jpg

Speakers

I mounted the speakers to some thin plywood that I had cut speaker-sized holes into, which I then riveted onto the original speaker mesh that utilized the mounting posts in the cabinet. This gave the speakers enough clearance so they weren't vibrating against that metal mesh.

Amplifier

I then mounted the amplifier's case to the chassis rail I had cut off earlier. This provided the perfect dimensions to fit inside the case and not obstruct anything else.

I desoldered the power switch and volume knob of the amp. I soldered the power switch wires onto the original rotary switch mechanism on the left dial. This rotary switch was also the original volume control potentiometer, but I decided to use the "tuner" dial as a volume knob to give it a purpose. I soldered wires to the volume knob and the knob's contacts on the amp circuit board. The goal was just to extend that knob away from the amp. I secured the volume knob with some epoxy putty on the chassis rail where the original tuning knob used to mount. I also epoxied the original tuning dial (just a plastic circle) onto the volume knob. I made sure to pay attention to the height of the dial so that it would still fit through the cutout in the wood cabinet. With the power switch dial mounted and the volume knob set in epoxy, I could install the chassis rail and amp behind the speakers and secure it to the cabinet mounting posts.

Control System

I plugged the the USB DAC and USB Microphone with a (USB extension) into the Raspberry Pi. I then screwed the Raspberry Pi into the plywood (with the speakers) using some small wood screws. I plugged the 3.5mm Aux end of an "Aux to RCA" cable into the USB DAC, and the RCAs into their respective plugs on the amplifier. I used some foam mounting tape on the microphone and mounted it on the chassis rail behind the power switch, where there was a small gap that would allow speech to reach it.

Power

I soldered a little wiring harness that connected the USB-C Power delivery board (with the diode), the male barrel connector for the amplifier, the female barrel connector for the 12V wall power supply, and the 12V-5V USB-C buck converter. I used some sticky-back Velcro on the bottom of the cabinet and power bank to allow for easy removal for charging. I used some more foam mounting tape to mount the USB-C PD board and 12V-5V buck converter to the inside of the cabinet. I plugged a USB-C cable into the PD board. and I plugged the 12V power adapter to the barrel connector of the harness and tucked it into the cabinet.

**The owner simply can choose to plug the other end of the USB-C cable into the battery for portable operation, or pull out the adapter and plug it into the wall for home use**

It Works!

2021-05-22.jpg

The end result turned out so much better than I had imagined in the beginning. The sound quality is excellent, it has a very premium feel to it. I love that the vintage exterior hasn't changed, and it can still carry its same sentimental value while having all the modern functionality for the 21st century.

The Alexa functions works really well, especially when paired with the Alexa smartphone app. Amazon doesn't support music streaming to a 3rd party device like a Raspberry Pi, so all it can do on its own is perform voice search functions, games, jokes, and conversational things. But this can be worked around by streaming subscription services or radio stations with the Alexa app.

Bluetooth works flawlessly

The battery will last for about 4-6 hours of solid music playing depending on the volume, and can stay on standby for a day or two. Though the real performance comes when plugged into a wall. With 3 amps of current, the amplifier can crank out some serious room-filling sound.

I hope you enjoyed this project, thank you for reading!