The plan here was to take an old Ekco radio and turn it into a modern Internet radio. There are lots of options here of course, but the one I chose is a project by Ed (edzelf). It uses an ESP32 micro-controller to provide all the heavy lifting and an OLED display for station info. Add a DAC module (VS1053) plus a small audio amplifier and we have a complete project.
Full credit must go to Ed for the Arduino code used in this project. Full details are available here:
https://github.com/Edzelf/ESP32-Radio
I removed the original circuitry from the Ekco (purists look away now) and fitted a new loudspeaker. Because there is a lot of connectivity required here, for the DAC, rotary encoders and the display, I decided to make a pcb to handle all that. Putting it all together then becomes fairly easy.
The only problem I encountered was a persistent earth loop mains hum on the audio, and no matter what I tried, I could not get rid of it. So a dc-dc isolator module was used to power the audio amplifier and this eliminated the hum problem.
The programme menus allow for your favourite radio stations to be pre-programmed for easy use. There are two rotary encoders, one for station selection (and audio mute) and one for the volume. These have been fitted to the Ekco radio in the same positions as the original controls.
I also copied the original dial display and added a slot in the middle for the OLED, then printed it out on self adhesive clear plastic and fitted this to the radio. The contrast is not so good as you can see, but overall I am happy with it.
Since the board would be fitted into a wooden cabinet in this project, I made up a simple frame for 3D printing using Fusion 360. The custom circuit board snaps into this frame, which can then simply be screwed to the inside of the cabinet.
It all works really well and I now use this radio almost on a daily basis.
Very interesting.
Can you add a link to you code with the mods for rotary encoder?
The hum may be from connecting the audio ground to the main circuit ground. The "ground"
from the 1053 output thru to the audio output should actually a separate ground. Often labelled as Vref.
I like the stereo to mon circuit since I listen while I work with one earbud.