This is the third internet radio I've build. It has been mostly been inspired by this radio that has been published on hackaday.com. The idea of attaching a cheap display to the Raspberry Pi for a radio made me thinking what kind of other information could be displayed. Since I already developed a Google music client for my last radio, I decided to build another one. Also, since I am mostly using the radio in the morning, I decided to add weather and time information to the UI too.
Have a look on the results below!
A BIG THANK YOU to my father who build the case. It is made out of oak. Here you see some pictures of the unfinished case:
Bill of materials:
The hardware architecture of the radio is pretty simple. The Raspberry Pi with USB WLAN and USB sound has another USB cable attached that will power a relay. This relay enables the power supply for the Logitech amplifier and another relay that enables the display. I used the switch of the poti of the Logitech amplifier to control the power to the Raspberry Pi.
The main motivation for this radio was to build a UI using JavaFX. There are a lot of demos out there that show that JavaFX is working on the Raspberry Pi, but I did not find much use cases. I wanted to have a nice UI and it took most of the time to build it. I haven't programmed JavaFX before and the functionality of the API is really impressing. Unfortunatly the performance of the Pi is not sufficient for all effects to run smoothly, especially when other threads are running (e.g. threads that load the UI for the Google music section that is loaded asynchronously). I would have have switched to a Beaglebone Black board, but unfortunatly the board does not provide a component out signal.
Additional software used:
Programming JavaFX was fun, also to actual "build" something. My next project is gonna be a gainclone.
Here are some additional fotos of the build process: