Initial Thoughts

A project log for Radio-to-Internet Streamer

This project adapts a AM/FM radio receiver to a private Internet stream. It also provides various TiVo-esque features.

ziggurat29ziggurat29 08/23/2017 at 19:550 Comments

My current thinking is that I will attach an AM/FM radio chip to a microprocessor, and that to an Ethernet controller to present the Internet stream.

I did a little research on radio chips; there's many, but I would like the circuit to be simple, have all digital tuning controls, and if possible have digital audio output.  I found a Silicon Labs offering, the Si4737, which I like a lot.  Unfortunately, it is quite expensive (USD$ 18 in unit quantities from Mouser).  However, I have resolved myself to just go for it for at least this first prototype.  If there is interest in the project for others, and a sensitivity to price, I'll re-visit the radio choice.  (There are several cheaper ones that involve more external components, do not have digital controls, and have analog outputs.)

My current thinking is to see if I can get away with using an STM32F4 microcontroller.  I have had some recent experience with various STM parts, have a build system set up, and have a bunch of dev boards on-hand.

My main concern with this controller, though, is if it will have enough computational power.  I am expecting that I will have to do some real-time compression to get sufficient audio quality in a low enough bandwidth.  The STM32F405's do have a single precision FPU, so there is an outside chance that this might be possible with the 168 MHz CPU clock.  My first tests will be to see if I can compress audio at a sufficiently high rate on that CPU.

If the STM32F4 is a bust, my next choice is a board I stumbled across recently, the C.H.I.P. CHIP_(computer).  This is a 1 GHz Cortex A8, with NEON SIMD, and I think FPU.  If it does indeed have FPU then it really should work.  At an USD$ 9 each, what a bargain.  Unfortunately, they are out-of-stock or I would have ordered a few already just to have some on-hand.  Maybe they'll be back next month.

Anyway, I happen to have a heap of STM32F4 boards, and for this initial text/prototype, I'm going to use one board, the 'Netduino Plus 2'.  To wit, this is a discontinued board, but I like it for this application because:

So, from a physical design, the Netduino Plus 2 will work and save me some time soldering all those adapter things.  I'm pretty sure I'm going to have to make a 'shield' of some sort to house the radio board, but that's what OSHPark is for, no?

Anyway, my first two orders of business are:

For those that don't know, the 'Netduino' was a line of products that have an Arduino form factor, but were in running Microsoft's .NET Micro Framework ("dotNetMF").  It was an interesting idea, and there was a community around it, but the founder made some business errors and the company and product line are, to-wit, no more.  (There is another company that does dotNetMF products, GHI.)  Anyway, dotNetMF was interesting, but it's exquisitely slow (it's interpreted).  Since the board has an unpopulated 10-pin ARM JTAG header, I should be able to completely re-purpose the hardware.  It wasn't the worst board in the world, but it sure was expensive -- about USD$ 60, which is kind of a hard sell relative to the also-then-popular Raspberry Pi at about USD$ 20 and way way more capable.