Continuing... After some time working on the radio and switching to the electronic components, I realized that I didn't want to have to connect my phone every time via Bluetooth. And I wanted to be able to control the volume from the radio itself rather than the phone. So I had a thought... what if I could build a self-contained 1940s radio station 'generator' within the Zenith radio?
*** A lot of technical jargon in this one for those who want to try this out, so bear with me. If you want to skip past the real in-depth technical talk, just skip to the first image. ***
To make this radio station generator work, it would need to:
- Be turned on somehow by a switch instead of always being on when the car is on.
- The radio lights should still work when turned on.
- It needs to be powered by the car's 6v positive ground.
- No phone should be involved; it should be an entirely self-contained unit.
- The volume should be changeable with the correct left dial.
- The center pre-set station changer button should do something.
- Somehow, the station changing dial on the right should be able to change the station to something else.
So I got to work thinking of how I could do this, formulating different ways to try and accomplish this, and I came upon a solution: what if I put a microcomputer inside the radio that could use MP3s in various folders on some sort of memory card (like a MicroSD card that you might use in your phone), and the various radio dials/button will interface with the micro computer?
I went to work to research the possibility of doing something like this, and slowly, I was able to piece together a plan. And soon my idea started to look like it could be a reality. So here's how I envisioned it would work.
- The whole system would be controlled by what's called an Arduino board. Basically, a tiny microcomputer board that is often used in robotics. It is easy to program and relatively cheap on Amazon.
- The music would come from an MP3 player board that can read some sort of SD card. For this, I found what's known as a 'DFPlayer' that basically would get commands from the Arduino to play tracks. It's basically just a simple MicroSD card reader that can play MP3 music.
- The DFPlayer board would then send the audio to a small AMP board that would feed the audio signal to the speaker.
- The volume dial would interface, via gears, with what's known as a 'rotational emulator'. Basically, it's a rotating switch that sends the rotation data to the Arduino. So if you turn it one, it sends '1 turn to clockwise.' Turn it back three times, it sends '3 turns counter clockwise'. The Arduino can read this data from the emulators and do something with it. In this case, the Arduino would read it like 'I was told the dial was turned 3 notches clockwise, so I'll turn it up by 3%'.
- The preset station button would be used with what's known as a button emulator. This would do something similar, telling the Arduino the button was pressed.' I decided I'd make this the 'next track' button. So pushing the preset station button would, in turn, push the emulator button and cause the track to change.
- The station dial would interface with another rotational emulator, and do something similar to the volume one. I came up with the idea that this would 'change the folder' (aka change the 'station') when it's rotated.
- For the on and off switch, because adding functionality for the volume dial to turn on the radio (like the actual original radio) would be too difficult to figure out, I decided to use the LO/HI fidelity switch at the bottom of the radio as my on/off switch. So you just have to reach under and easily switch it on. This would also allow me to split the power coming into the radio from the original power wire. This splitting would allow me to power the two 6-volt light bulbs, and then the other line would go to powering the Arduino system.
The big problem was... how can I power the Arduino? It needs a 5-volt negative ground system to function. My Fordor has the original 6-volt positive ground. That would mean that I not only need a 6-volt to 5-volt reducer, but I would also need to reverse the polarity for the Arduino. That turned out to be a huge task.
So, below is my first concept I built to use as a guide for the entire setup. It looks like a lot, but it's actually relatively simple. The hardest part would be to find everything I need to reverse the polarity for the Arduino.
So, I ordered the parts, all from Amazon. The speaker is brand new, but a perfect fit on the vintage radio! It’s also really loud. Then the Arduino Nano (middle left), the MP3 MicroSD card reader (middle on the orange foam), two rotational emulators, the tiny push button emulator, and the AMP board. It turns out that I wouldn't need the AMP board because the DFPlayer MP3 player board produced an audio signal loud enough for the speaker.
I decided to put together, program, and test everything outside the radio itself, as it would be easier, and to make sure this was all going to work. So I got a test board that allows you to put temporary wires to power everything. It powers the board with the exact power it needs, so no need to worry about the polarity reversing yet.
I hooked it all up; this was my test environment. And I got it to all power up and show up as functional. But the Arduino is just a blank computer. I would need to program it with my radio station idea. So I got to work. Hooking it up to my laptop, I started to write my own radio station generator program. I was able to get a basic system going pretty quickly where I could play 1940s music I had on MP3s loaded onto the microSD card, change the volume with one of the rotational emulators, skip tracks with the push button emulator, and change ‘stations’ (folders) with the other rotational emulator. But that was just the start.
The speaker worked great, and nearly fit perfectly including using the same screw holes on the radio body as the original speaker! The only modification I would need to do is trip a little of the metal housing off the top. You can see in the photo below that the speaker slightly rises up beyond the lip of the front speaker grille panel of the radio body. But the fact that the screw holes lined up otherwise was pretty awesome.
So, with the initial test a success and I continued testing it, it was time to start to figure out how to mount the system inside the radio itself. Using the existing screw holes, I could mount at least one hole on each board, but I would need to drill additional holes. And I still needed to figure out how to mount these boards away from the metal, since they would be 5 volts negative ground… if they touch the metal, which would be 6 volts positive ground that runs through the radio body, it would ruin everything and possibly even cause issues with the power system in the car.
I came up with a simple solution and found out it already existed… nylon screws and extenders! Made for this very reason to keep electrical boards away from motherboards and other things that could short them out. Amazon had a set of different sized extenders, screws, lock washers, washers, and nuts… all non-conductive nylon based! Score! Below, you can see the board lifted up away from the metal plate.
So here’s the Arduino nano microcomputer mounted to the metal plate. I’m using what’s called a breakout board with the Arduino that makes life simpler being able to use screw down locks for the wires rather than having to solder them directly to the Arduino. Makes replacing the wires easier as well if something breaks.
So, in the photo below, we have the Arduino nano microcomputer (green arrow) and the microSD card DFPlayer MP3 player board (yellow arrow). That’s great and all, but I still needed to figure out the biggest headache… how can I convert 6v positive ground to 5v negative ground? So, after spending a week researching, I bought a bunch of 5v to 12v converters that, supposedly, can change polarity. Of the three I got, only one (red arrow) worked. So great, now I have 12 volt negative ground, but now I need to reduce the voltage from 12v down to 5v for the Arduino. So, I bought several 12v to 5v reducers. The one (orange arrow) I was really hopeful to work… but it wouldn’t take the 12v at all for some reason and just wouldn't function at all. UGH.
Again, I tried four different 12v to 5v reducers, only one worked (red arrow)… I was getting a steady stream of 5v negative ground now to power the Arduino and MP3 player! Hooray! It only took seven tries and waiting for various Amazon shipments throughout the week! Here’s the entire wiring setup for everything. I used the grey ‘click connectors’ also for ease of being able to replace/repair any wires that might have issues. Also easier to troubleshoot issues! And even better, everything fits perfectly on the metal plate.
Here’s a look at one of the rotational emulators. This was the next issue… how do I get those original dials to turn these with a very cramped radio interior?
Looking at the original volume knob, you can see one large brass gear is turned by the plastic knob. Would I need a pulley? A gear? What could interface with that large brass gear?
It just so happened there was a hole in that bracket with the original volume knob that perfectly fit the rotational emulator dial. BUT, as you can see, I still need to somehow interface the two. A pulley? Another gear attached to the dial? I spent a week hunting for gears at hobby stores and Amazon, then pulleys, rubber bands, etc. Nothing worked. All the gears had a different tooth ratio, so none of them meshed well. The pulleys were not strong enough to turn the dials. I was getting frustrated that my idea wouldn’t work afterall…
So, I said forget it… and bought myself a 3D printer. When you can’t find the parts that you need, you MAKE THEM. Ha ha.
I immediately went to work and designed a special custom gear that perfectly fit over the 'D' shape of the dial emulator and meshed exactly with the large brass gear. I used a special harder filament for the 3D printer called PTEG, which was recommended to me because it dries very hard and is good for things like gears and in heated cars. I slipped my design on the dial shaft, and it worked! Turning the volume dial turns the brass gear, which turns my 3D printed gear and also turns the rotational emulator dial! It’s working!
For the manual station changer dial on the other side of the radio, there wasn’t a convenient hole to put the other rotational emulator through, so I had to build a bracket. I first designed/tested it out of cardboard, then I made it (with reinforcement) in 3D and printed it out. There were three holes in the original bracket that I was able to use to mount this 3D printed bracket, which I drilled into the 3D model rather than designing the holes, since I wasn’t sure exactly how the positioning of the 3D printed bracket would be. But it worked, and the rotational emulator was mounted nicely and close to the station changer dial's large brass gear.
And another gear was made, perfect integration! Turning the manual station dial turns the large brass gear, which turns the second rotational emulator mounted on my custom bracket!
For the preset station button, I was faced with the same problem of nowhere to mount the tiny button, so I had to create my own bracket. I again made a mock-up in cardboard, then built it in 3D. The button fits in perfectly (mechanical pencil for scale).
How it works is that when you push down on the pre-set station knob (which is removed in the photo below), it swings down a bracket, and from where I have the button placed, this bracket strikes the button pressing it. But the design I had turned out to be too flimsy. The bracket that swings down could push with enough force to just slightly bend the 3D printed bracket away without engaging the button itself. It could also rotate the 3d printed bracket because it’s only held in with one screw.
So, I designed something MUCH stronger. Reenforced and with two screw holes. Won’t bend, and can’t rotate. Still leaves little holes for the button's wiring.
Going to go ahead and submit this and continue with another post. Getting a bit long on the image count!