Roehre2 (Philips 837A)
- HMV 682
- Philips 836A
|My father has an old tube radio that he inherited from his father ages ago. All its electronics had been removed decades ago, it was just decor in the kitchen.|
After finishing my other radio project, I decided to resurrect my father's empty radio using modern technology: a computer (Raspberry Pi), WiFi, internet streaming, and a LCD display that shows an UI that looks just like the original rotatable disc which was used to display the frequencies back in the day.
[ View YouTube video ]
My father's radio
Philips started building the 836A model in 1934.
My grandfather must have bought it with one of his first salaries after becoming a baker. It must have cost him a fortune - such devices were very expensive back then.
More information on the 836A:
The Raspberry Pi is a great ARM based computer on a single small PCB. Its main duties in the radio are to
See the software section below for more details.
It's really difficult to find good yet inexpensive displays, especially when you have to use the Rasperry Pi's HDMI or composite ports; the DSI port is still not accessible. I found a 3.5" display meant for rear view cameras of cars. It has a resolution of 320x240 and uses the composite port.
You can get those displays on eBay, but you have to be careful: Some of the sellers claim their displays have a resolution of 640x480, but in most (all?) cases that resolution gets down scaled to the real resolution of 320x240, or they count the subpixels instead of the real pixels.
The radio is controlled by two potentiometers (tuning and volume):
The volume potentiometer contains a switch that's activated as you turn the potentiometer to the far left. It's connected to the Raspberry Pi which allows the software to deactivate the amplifier.
On the back side of the radio, there's a simple push button (the "info button"), which is also connected to the Raspberry Pi. Press it to have the UI display the current IP address.
All additional electronics have been soldered to a small daughter board which is plugged into the GPIO connector on the Raspberry Pi. It hosts the ADC, pull-up resistors for the buttons and capacitors for the ADC for stabilizing the voltage and the signal from the tuner potentiometer.
The power is provided by a transformer I got from Ali Express. It provides 24 volts center tapped, which is exactly what the amplifier needs.
I connected that transformer to a rectifier bridge (including a capacitor) in order to power the remaining components. The approximately 16 VDC are directly connected to the display (it accepts anything between 9V and 20V), and a voltage regulator which generates the 5V needed by the Raspberry Pi and the USB sound card.
I decided to add a USB sound card, since the quality of the sound provided by the headphone jack on the Raspberry Pi isn't the best.
The line out connector of that sound card is connected to the volume potentiometer, which then passes on the signal to the amplifier.
The amplifier is a low cost board I got from aliexpress.com, it's manufactured by "Yuan Jing". It's based on the TDA8920 digital amplifier chip. It's got a solid quality of sound considering the price of only 15 GBP.
I decided to put a relay board between power and the amplifier given that I want to save a bit of energy. This allows the Raspberry Pi to only power the amplifier when music is playing. After some time of inactivity the amplifier switches off again.
A low-cost USB WiFi card connects the Raspberry Pi with the internet. That's because the first generation Raspberry Pi can't provide the USB stick with enough current. Another solution could have been to remove the polyfuses, but I didn't want to do that. Instead, I put a 10cm USB cable between the Pi and the WiFi stick, then connected the power lines of the cable directly to the 5V provided by the voltage regulator.
I also added an Ethernet port since there is no way to configure the WiFi. It's a simple CAT6 coupler that is connected to a very short cable which is plugged into the Ethernet port of the Raspberry Pi.
Putting everything together
The voltage regulator isn't visible on this picture. It's located under the Raspberry Pi, below the board.
The Raspberry Pi runs Debian (Raspbian) and the Music Player Daemon (MPD). I wrote the UI in C and SDL.
I used the WiringPi library to read out the buttons and potentiometers.
Originally, the display was showing a small part of a disc that was rotated via the tuning knob. It had the frequencies printed on it. I tried to resemble the look and feel of this "UI" using a digital display. My software emulates a rotating disc which is digitally controlled by the tuning potentiometer. The only difference is that it shows station names instead of frequencies and a few effects like highlighting the currently selected station or coloring it red when an error occures.
If there's no internet connection or in case of other issues, the UI displays an error message stating the error. Press the "info button" (located at the back of the radio) for the UI to display the current IP address of the radio. This helps configure the radio after connecting it to a network.
The only way to configure the device is by connecting & logging in to it via SSH, and to then manually edit the config files. So it's not that easy to add new radio stations or configure the Wifi, but I'm planning to implement a web based configuration editor later.