Finding that station, the old fashion way..kinda.

Okay, I'll let you in on a secret... The Public Radio is a mechanically tuned device. Sssshhhhhhhh.

For a number of reasons, cost and ease of build/debugging being most important, the Public Radio went from a fully digital device with a small amount of firmware, to a digital IC that requires mechanical (read using a screw driver) tuning. It's not a huge pain, but there's an important catch in producing this device, which the main selling point remember, is that it's pre-tuned: you have to be able to always measure it's tuning frequency. Typically this is easy, you just tune it and verify by listening that you're on the right station. However, it get's a little trickier when the station doesn't exist locally, because you have no reference as to which station your listening, or not listening, to. 

Our improvised tuning rig.

There are FM transmitters, like the kind we used to use in the early iPod days that broadcast on an open frequency band over the car's radio and these are helpful to have though they can be problematic in a major city like NYC where there are a lot of FM stations and not a lot of space on the air. So, what to do when you need to tune your Public Radio and there's no UI on the device, or simply a reference station to listen to.   

Unfortunately, the FM IC we're using doesn't offer up any tuning information in the form of a station id that it can send to a microcontroller, to confirm the station it thinks it's tuned to. So this afternoon, in anticipation for our REV 3 boards showing up later this week, I put together a quick tuning calibration sketch with an Arduino - mapping the radio's varying voltages on its tune pins, to FM stations. It seems pretty accurate, and precise to within 20Khz, which is a good start.

You can find all the source code (which is open!) on GitHub, here.