Introduction: 1964 Dansette Pi Internet Radio
This stylish mid-1960s Dansette portable radio is now playing the 21st century's finest internet radio stations thanks to a loving upgrade. All of the original controls have been re-used, and you'd never know it's a conversion - until you turn it on!
The centre of the tuning dial has been replaced with a bright LCD display showing the icon for the current radio station, with a convex glass bubble lens adding to the vintage aesthetic.
The trio of clicky little buttons on top control the power and let you skip up or down through a set of eight station presets. The dials peeping out at each corner are actually large, tactile micro-switch buttons for precisely controlling the volume.
On the inside is a Raspberry Pi, with a Pirate Audio board handling the display and amplification, and a 10,000 mAh power bank supplying plenty of juice for long summer afternoons in the garden. A simple Python script manages the playlists and channel art.
I bought this Dansette Companion radio back in October 2019 for £2 - a tiny amount - but I loved the look of it so much that I saved it until I had the time to do a "proper" conversion.
1964 Dansette Companion Portable Radio
Raspberry Pi 2
USB WiFi Adaptor
Pimoroni Pirate Audio 3w Amplifier
Adafruit Power Switch Breakout
10,000 mAh USB Power Bank
40mm Convex Glass Lens
Step 1: Dismantling
The radio was decidedly broken (what do you expect for £2?), so removing the corroded old internals was the first job on the list.
There's rarely an instruction manual available for this kind of operation, and it's tempting to just hack away with power tools, but with a radio this old it stands to reason that a human put it together originally, so it must also come apart in a rational way. Also you never know who might need a working part from your otherwise broken set to complete their project, it's nice to save the internals just in case.
It turned out that the first step was to pull off the dial from the front - it's always a bit dodgy prying at something that may or may not be a friction fit, but with some wiggling the whole assembly came away with no damage.
The rear panel came off very easily, a relief seeing as this was how you'd originally have changed the battery! Now came a puzzle, how to safely remove the internals. I must have scratched my head for 40 minutes before I realised that the two brass posts that had held the rear panel in place actually unscrewed themselves. With them removed the entire internal assembly lifted out in one piece - the 1960s was definitely the era of easy repair!
The icing on the cake for me was finding an almost-faded stamp on the inside of the case that read "9 Dec 1964" - it's amazing to have such a specific date for the origin of a project.
Step 2: Repairs & Modifications
Once relieved of its working parts, it was clear that the case had seen better days in its 55 years. It had definitely been dropped on one corner, with broken bits of the side panel left flapping here and there. I was able to repair the worst of it with Sugru - this meant clamping up the mend and a lot of waiting, but it was worth it to have the case in better cosmetic shape and structurally sound.
Next I drilled some holes, firstly a large one in the front to hold the power LED lens, then three smaller ones in the top to hold the micro-switch buttons. Lastly I (very nervously) drilled a 35mm hole through the metal grille and outer case with a step drill, so that the convex glass lens would fit behind the dial and peep through.
At this point I realised the original tuning dial wouldn't work with the lens and screen, so I cannibalised an (even more destroyed) 1963 Rhapsody De Luxe radio for its transparent dial and "Transistor" label. It makes the finished project a bit of a mash-up, but I think the parts go really well together.
Step 3: Pirate Audio
This project leapt to the top of the "to do" pile when Pimoroni released the Pirate Audio range for the Raspberry Pi recently - they had everything I needed for this project, a lovely bright display and a good quality amplifier in a single little board, with easy button control.
Theoretically these boards are designed to work with Mopidy and be mounted directly onto a Raspberry Pi, but I was confident I'd be able to do something a bit different, as usual! I started by connecting up the Pirate Audio board to a piece of 40 pin header with jumper cables, following the pinout diagram, meaning I could mount it separately from the Pi in the case. This also freed up some other GPIO pins, which I used to connect up the Next/Previous and Volume buttons, again with jumper cables.
The software was next, and I was able to mash together some code I used previously in the Flirt Pi radio and Hitachi Pi TV projects - giving me a new script that uses VLC to play internet radio streams, skipping through eight station presets. The presets are saved in a folder as M3U playlist files, and the script iterates through them each time a button is pressed, going around in a loop and simultaneously displaying the channel art to match the station.
Getting the volume controls to work from Python was a little tricky, I first needed to create a new audio "mixer" on the Pi, but once this was in place the code worked just fine.
A single Python script loaded on startup does all of the work, and the code, playlists, channel icons and further instructions are all available on GitHub if you fancy building something similar.
Step 4: Original Controls
My objective with this conversion was to keep it as clean as possible, using the original components to control playback. The buttons for power, and next/previous station were fine as they were just push-buttons, but the volume controls took a little more work.
When I built the Flirt Pi radio last year I glued parts of the tuning dial to lever switches to mimic the original controls and it was really effective (still in daily use!) so I decided to use the same method here. After cutting sections of the volume dial with a hacksaw I attached them to lever switches with Sugru, making a huge but clicky dial button.
Once all the buttons were working I gave them all a lick of white spray paint, just to banish the tarnish and roll back the years a bit.
Step 5: Assembly
Adding the switches was a fairly slow job, I was able to perfectly situate each one with Sugru, but this did mean I had to leave a day or so in between them while the individual pieces hardened in place.
While I was waiting I fitted the freshly-painted strap, which cheered up nicely, and secured the Raspberry Pi to the rear cover with tiny Allen bolts - my new favourite thing, they make such a neat job!
The next thing to be assembled was the 10,000 mah USB power bank - not an expensive one but nevertheless solid, and conveniently just the right size to fit into the bottom of the case, connecting up to the input side of the Adafruit power board.
The final assembly involved connecting the Pi to the power board and then fitting the 40-pin header to connect up the Pirate Audio and switches. I managed to fit this backwards the first time around but thankfully did no damage! With all the connections made the lid fitted nicely into place, and was secured by the two original quick-release bolts - snugly holding the battery in place, by a happy coincidence.
Step 6: Summer Ready
I couldn't be happier with the way this has turned out! The display works so well behind that curvy lens (normally used for a Halloween "eyeball" display) and the sound quality is excellent, probably thanks in large part to the original design.
It's a bit more limited than the original, needing WiFi to function rather than just plucking a medium wave signal from thin air, but we've used it successfully on our few outdoor trips by tethering it to a mobile phone.
It's really found its niche in the bathroom though and spends a lot of time in there, thankfully there are enough presets to cover the whole family's tastes.
Thanks for reading!
My other Old Tech, New Spec projects are all on Instructables at https://www.instructables.com/member/MisterM/instructables/
First Prize in the
Audio Challenge 2020