Introducing the Tandberg Sølvsuper 10 radio, a product of the Scandinavian Hi-Fi golden age. Sadly, after decades in storage, the huge variable capacitor inside has seized from corrosion and the radio was beyond repair.
So, what to do? Can this piece of 60s design be refurbished and made useful in the world of Internet of Things?
To not mess up the original look too much I choose to keep the original front panel light bulbs, but two problems had to be tackled:
- The high voltage vacuum tubes had to be replaced with a modern LED array.
- LEDs to indicate which button was last pressed had to be fitted.
I decided to keep the original logarithmic volume pots and make crude readings using AD converters. Because the pots are logarithmic, the accuracy at the lower volume levels is limited when reading using a linear ADC. I managed to get reliable readings of the values 0-10 using the Arduino built-in 10 bit ADCs.
For the tuning, bass and treble dials I wanted to use rotary encoders. I removed the mechanical wire drive connecting the tuning dial, variable capacitor and frequency display needle and connected the dial directly to a rotary encoder using a piece of wood. For the bass and treble dials I made plastic adapters that allowed the rotary encoders to fit against the back of the original pots. Then I broke of the potentiometer wipers to allow free rotation.
To drive the frequency display needle I'm using a NMB-MAT PG35L048 stepper with gearbox, that I found on eBay. I secured the stepper to the circuit board using a white metal bar from some old IKEA drapes. The original wheel fit on the stepper shaft using a piece of cardboard as a spacer.
To make sure that there is no lag when operating the front panel dials and buttons, most user input is detected using interrupts and the stepper and speaker is driven using timers. I choose to use two Arduinos because of the number of interrupts required and because I need quite a lot of real estate given my limited soldering skills. Here's how the hardware was connected:
- Front panel buttons connect to Arduino Mega using interrupts PCINT17-23.
- Tuning dial rotary encoder connects to Arduino Mega, using interrupts INT5 and PCINT16. Rotary encoder push button connects to D13 using interrupt PCINT17.
- IR and RF receiver connects to Arduino Mega using interrupts INT4 and INT2.
- Ethernet board connects to Arduino Mega.
- Bass and treble dial rotary encoders connect to Arduino Uno using interrupts INT0, INT1, PCINT10 and PCINT20.
- Stepper connects to Arduino Uno using Timer 2 for stepping.
- Speaker connects to Arduino Uno using Timer 2 for tone generation.
- LEDs and light bulbs connect to Arduino Uno and are dimmable using PWM.
Ethernet and USB
The intertubes would not be possible were it not for the RJ45 jack. In addition to an Ethernet connector I added a back panel USB socket and a reset button for convenience.