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!
I just dug my Arduino and LCD Pi Plate out of the cupboard for a little project. When I last posted about the PiPlate to Arduino wiring, I linked to a page that showed the names of the GPIO pins, but not the numbers I was referring to. Here is a better reference for the GPIO pin numbers.
The PiPlate to Arduino pin wiring I had before is still correct, providing you’re using the same pin numbering as in the above linked article.
I have an Adafruit i2c 2 line LCD Pi Plate that I’ve used for projects with my Raspberry Pi. It has a block of header pins that slot down onto the GPIO pins on the Pi. It seems that it’s pretty similar to other LCDs for the Arduino, so with some reading around and experimenting, it does wire up and work perfectly with the Arduino too. This post gave the me starting point for what pins wired to where.
In summary, this is how I wired it up – the Raspberry Pi pin references are the pin names that the Pi Plate would normally connect to, and which Arduino pins I connected them to:
Pi Plate Pin -> Arduino Pin
Pin2 -> 5v
Pin6/grnd -> grnd
Pin3 -> A4/SDA
Pin5 -> A5/SCL
The Adafruit LCD Arduino library works with the LCD Pi Plate without any other changes.