Using a Raspberry Pi to build an Internet radio that only receives BBC Radio 4.
Tuning controls and station presets? Why on earth would anyone want such things! As far as I'm concerned the only thing worth listening to on the wireless is Radio 4.
With the above in mind, I decided to build myself an Internet radio that is fixed on Radio 4 and which dispenses with unnecessary clutter, with the only control being for power and volume.
At a flea market earlier this year I picked up a 1950s extension speaker made by Richard Allan. Comprising of simply a cabinet, loudspeaker, step attenuator and input socket, and with plenty of spare room inside, this was ideal for converting into a Raspberry Pi-powered Internet radio.
The cabinet can be seen above with the old step attenuator removed, and alongside this a combination switch/potentiometer ready for fitting in its place. Of course, the audio level output from a Raspberry Pi will not drive a loudspeaker directly and so an amplifier was also required.
The amplifier that was used is based around the TDA2030 IC and a PCB supplied by RS Components. For further details including a bill of materials attached.
In order to provide a power source for the Raspberry Pi, a DC-DC converter with 5v output was connected to the 0 and +ve rails of the amplifier power supply.
Unfortunately, the Raspberry Pi wouldn't quite fit into the base of the cabinet and so the audio and composite video output sockets were removed.
Since there was only one loudspeaker and a single mono amplifier, the left and right channels were summed to mono using resistors.
A power indicator lamp, the transformer, power supply board, Raspberry Pi and amplifier were then all fitted into the cabinet, and the DC power and audio connections soldered.
Finally, the mains lead was connected up to the power switch.
The rear cover can be seen below, fitted with a fuse holder, mains lead and strain relief, and an RJ45 socket to allow use with a wired Internet connection (the Pi also has a USB WiFi adapter fitted).
The software configuration couldn't be simpler: on booting an init script starts Mplayer and specifies the URL for the BBC Radio 4 stream. That's it! The Mplayer command line being:
mplayer -playlist “http://bbc.co.uk/radio/listen/live/r4.asx“
The above video shows the radio in operation. Note that it takes >40 seconds for the Pi to boot and during which time it makes strange noises that are not unlike those of a 1980s microcomputer loading software from tape!
The strange sounds may be due to the way that I have taken an audio output from the Raspberry Pi — replacing the jack socket with resistors and directly soldering a cable to the PCB. In any case, I quite like the effect and it provides an indication that something is happening while the Pi boots.