Italian Tube Radio from 1933 turbo-charged with Volumio

Thanks to Volumio, parental leave and Covid lockdown I had time to turn an old tube radio from 1933 made by Italian company UNDA of type MU51 into a modern web radio, that my wife and kids finally love to use (except for the rather long boot up time, due to a real power down function).
The sound is very nice and clean and the wooden housing harmonizes very nicely with the new speaker.

The project took more than 5 years from buying the Radio in 2015 to getting the final hardware to run (end 2020). Long pauses due to personal circumstances slowed it down significantly - but it works since late 2020 now.
I am slowly turning the dirty code into real plugins, will share what I can finish.

Img 1: This is how it looks today

Img 2/3: This is how it looked in 2015

Img 4: The inner construction of the chassis, carrying speaker, buttons, RPi and PCB. The old speaker was completely degraded and replaced by a VISATONE VIS FR 6.5 wide-band speaker (hard to find such a large speaker that is not a bass).
The 7-segment display got later replaced by an EA-DOGS102 LCD. So far only two rotaries are in use (volume and change channel). The grid style PCB replaced by real PCBs.

Img 5: Test setup for the LCD, late 2020

Img 6: The PCB midway through the soldering process. Made with KiCAD. Contains power logic with ATTiny inspired by iSwitchPi, debouncing of Rotaries, amplifier TDA7396, Power Supply.

3 Likes

Hi Thomas,

that‘s looking fantastic. I‘m looking forward to more infos :slight_smile:

br
Josef

Nice work, keep it up!

The first by-product of the radio project just got published on the Plugin-Collection.
I converted my rotary-encoder driver, that is based on the Linux device-tree-overlay for rotary encoders into a plugin.
It is called RotaryEncoder II, feel free to try it if you like.
It’s published under the name 7h0mas-R.
Documentation and tips for hardware setup can be found on the documentation page.

Let me know, if you like it.

BR
Thomas

1 Like

I use a 1934 Sachsenwerk and some more radios from ancient times.
But i have the radios in original state.
Volumio give the sound to a little am-transmitter and also to a fm-transmitter for the radios past 1950 where fm is built in. So all my antique radios can work on 684 KHz AM and 99.5 MHz FM.
The transmitters can be heard around 10 to 20 meters (up to 60 feet) around my house.

For the transmitters i am searching for a solution to communicate via usb-serial to the transmitter for setting the transmitter to frequency and so on and to transmit RDS-Data like title and interpret of the song…

If your transmitter supports a serial protocol interface, that should not be too difficult. You can use e.g. SerialPort.io if you want to realize it in Javascript (e.g. if you want to make it a plugin for Volumio).
You can attach a Websocket Listener to the Volumio Websocket API and just send the information you receive to your transmitter using SerialPort.io
I do something similar in a plugin to control my Amp via Serial interface. I use a cheap USB-2-Serial adapter and SerialPort.io.
I’m currently porting it for Volumio 3, you can look into the source code here: SerialAmpController

Thanks, T0MR0.
I have seen SerialAmpController but it did not work on Volumio 3. So i tried to use radiodawg and modify it.
But now i have an other Problem: I can not set the serial USB port to the right speed (in the moment) and it is sunday evening. After a week of work and a night of trying to make it run i do some pause now…

I think if your SerialAmpController is rinning i will try to modify it. Maybe you are interested in making a real plugin from that. I have no ambition to publish programs and so on.

I just merged the new version and created a PR for the SerialAmpController Plugin, version 2.0.0 works with Volumio 3. However, it will not serve your purpose out of the box. In my previous post I just wanted to point out, that it contains all the techniques needed.
The way it is implemented, it is neither sending Volumio Status Info over the interface (what you would need for RDS) nor does it have any function to send frequency setting information.
It is only sending and receiving information to select input and set volume/mute of an amp. I also did not provide any functionality to configure the serial interface over the settings - because normally an amp vendor will only allow one setting, so I have put it into a json file, to spare the users the need to fiddle with a hardware interface.
This would clearly be a separate plugin - and since I have no use for an FM transmitter and limited time, I will not spend time to implement it. But if you need tipps for the serial port, feel free to ask.

I now managed the communication to the transmitter with some hacking in https://github.com/timolex/Radiodawg
Starting the transmitter does the following:

    ser=serial.Serial(
	port='/dev/sup2',\
	baudrate=19200,\
	bytesize=serial.EIGHTBITS,\
	parity=serial.PARITY_EVEN,\
	stopbits=serial.STOPBITS_ONE)
    ser.write('*ADEV:6800\n')
    time.sleep(0.2)
    ser.write('*FREQ:9950\n')
    time.sleep(0.2)
    ser.write('*RF:ON\n')
    time.sleep(0.2)
    ser.write('*RDSP:name 16char\n')
    time.sleep(0.2)
    ser.write('*RDST:RDS-Text here 32char\n')
    time.sleep(0.2)
    ser.write('*POW:118\n')
    time.sleep(0.2)
    ser.close()

I made a udev-rule for the sup2. So my transmitter is everytime /dev/sup2
It sets the Audio deviation to 68 KHz, Transmitter Frequency to 99,5 MHz, switches on RDS Sendername and RDS Text and set Transmitter Power to 118 dB.