Arduino powered radio alarm clock – part 1

I had an idea to build an Arduino based radio alarm clock by re-purposing some other components I had lying around from other projects:

  • an Arduino Uno
  • an Adafruit 16×2 RGB LCD Pi Plate (for the display and control buttons)
  • an Adafruit Ultimate GPS breakout (for the time – what better way, albeit slightly over-engineered, to get the current time if not from GPS signals?)

The only part missing was an FM radio tuner. I was wondering how easy¬†it would be to build a radio tuner from scratch (but not sure how I’d control it via the Arduino), so¬†decided to take the easy approach to get started and use a TEA5767 based FM tuner on a chip. To make it even easier, I got a TEA5767 based breakout board for $5 on ebay that includes two jacks, one for an antenna and one for audio out.

Simon Monk has an Arduino library for the TEA5767 that has one function call to set the tuner frequency.

So far, pretty easy going. I have a start on combining the LCD to display time and GPS coords here. Now to add the radio library, add some controls from the Pi Plate buttons, and I’m almost there!

wp-1451374679689.jpg

Software Defined Radio on the Raspberry Pi

There’s a range of cheap (< $20) USB Digital TV receivers that due to their wide tuning range can be used as Software Defined Radios (SDR) when combined with other software to tune and receive the signal from the dongle.

RTL chipset dongles are supported by open source software rtl-sdr. Download the source to your Pi and build following the instructions on their website. By running as follows:

rtl_tcp -a your_ip_address

you can stream the data received from the dongle inserted into your Pi to other software running elsewhere (your desktop/laptop) like SDR Sharp (by pointing it to the IP address of the Pi) which you can use to control the tuning of the dongle.