It's not easy to build a decent FM receiver.There are I2C FM modules which could be controlled directly with the RPi but for the audio to get back in the RPi, you would need a USB sound card with audio input.

Thanks for that, I'll have a look at both options. The idea is to create a small always on system that doubles as a music player/radio/alarm clock with buttons, switches and knobs for setting time, alarm, on/off and all that. Maybe add an LCD screen for display as to what track is playing when songs change or frequency/station name.

After looking around my thoughts were to just use the RPi to control the radio via a website(php) interface. I found a I2C FM module on EBay: LINK HERE That seller also has many different prebuilt amplifiers that could be used. You could use a Y cable to connect the FM module and a usb sound card(to use something like mpd for online radio sources). For a couple dollars more you could get this SiliconLabs based module that also supports "detecting and processing both Radio Data Service (RDS) and Radio Broadcast Data Service (RBDS) information. The Si4703 even does a very good job of filtering and carrier detection. It also enables data such as the station ID and song name to be displayed to the user." at LINK HERE Then you could display the RDS/RBDS/Station FREQ info or internet info on a lcd.

bonelifer wrote:After looking around my thoughts were to just use the RPi to control the radio via a website(php) interface. I found a I2C FM module on EBay: LINK HERE That seller also has many different prebuilt amplifiers that could be used. You could use a Y cable to connect the FM module and a usb sound card(to use something like mpd for online radio sources). For a couple dollars more you could get this SiliconLabs based module that also supports "detecting and processing both Radio Data Service (RDS) and Radio Broadcast Data Service (RBDS) information. The Si4703 even does a very good job of filtering and carrier detection. It also enables data such as the station ID and song name to be displayed to the user." at LINK HERE Then you could display the RDS/RBDS/Station FREQ info or internet info on a lcd.

Unfortunately I couldn't code my way out of a box.

I can't code either, though I did find the GPIO switch demo on Youtube and drivers for various USB sound cards so that is part of the way there. If I can tell the Rpi to flash LEDs I can change the code to tell it to shift frequency, turn sound on and off in the system mixer. I had a thought about using something along the lines of an old atari control paddle for that, though that'd require more than i know.

Thanks for those tips, I'll have a look around for drivers for that chip.

AH! Sorry, that looks like it could be quite fun Teaches me to follow links afterward, thought you menat use a keypad to type in stuff in a keyboard manner. I'd probably use that for all the sleep/snooze/off settings on the alarm If I'm honest though there's something alluring about the breadboard and expansion boards that makes me want to hardwire it all in.

The idea would be to modify an audio jack adapter so that both the system sound and the radio sound go into it, then have the switch as a main on off for the radio (the idea is that it's an always on system after all). Not sure if that would work, or if any linking cable between the board's jack and the adapter could be attached to an old style chrome antenna, like the old portable radios used to have.