I have taken a number of side-trips since posting this project. Scout activities and a few older projects got worked on (10 MHz Rb Oscillator controller; RS422 Pinewood Derby link; futzing about with the HD6309 SBC). As with a lot of my projects, this one is definitely "event driven" - the melting snow (next week!) will turn my thoughts to being able to relax on my front porch and listen to a ball game, or NPR, or some music.
Of course, to simply house an RPi internet radio into a pre-existing wooden box isn't much of a project. The challenge here, and I use that term generously, is to keep it looking as "stock" as possible. It's a really pretty wooden AM radio that I bought in the hopes of restoring it to working condition. That's not going to happen - there just aren't enough Wilcox-Gay donor sets around to scavenge parts from. At this point, I've resurrected and reworked the audio stages, so all I need is to provide power to the Pi and work out how to "tune" the different internet radio stations. I'll keep it simple and just re-define the tuning so that the complete arc of tuning (about 300 degrees?) is divided into, say, 10 different zones. Each zone corresponds to an internet radio pre-set.
I'd like to use the same tuning mechanism, which unfortunately is not the typical belt-pulley arrangement from a knob to the tuning cap. Rather, the tuning cap has a large diameter (about 6 inches or so) wheel attached to it, and the tuning control knob turns a small wheel which rubs against the edge of the large wheel, thereby providing a sort of vernier drive to the tuning cap. It would be more mechanical surgery than I'd like to rip out the tuning cap and fit a potentiometer there, so I'm favoring a solution that simply re-uses the existing tuning cap. I have thought of two ways to do this.
Method one is to simply use the tuning cap as part of an R-C oscillator, and then measure the frequency to determine tuning position.
Method two is to use the tuning cap as a timing element -- measure how long the voltage across the cap takes to reach some voltage threshold while it's being charged with a constant current source.
Both are pretty simple, but I think that the oscillator approach is the easiest to implement on the Pi. I've seen that even Python has a time module that includes the ability to pulse-count. As a fallback, I could always use a trusty Microchip PIC to do the frequency measurement (using either method) and interface the PIC to the Pi using I2C or SPI. More complicated, but might open doors to some other possibilities. I'd like to have a few WS2812 status LED as backlight, to help indicate status of the radio, for instance. That might be easier to do with a PIC as the "middleman".
Open to suggestions...