Mephisto III

A raspberry pi based internet radio with a Java FX UI

This project is maintained by syd711


The software of the UI has been re-implemented and can be found here:


This is the third internet radio I've build. It has been mostly been inspired by this radio that has been published on 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!

The Case

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:

Box 1 Box 2

The Hardware

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 Software (old version)

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:

The Software (new version)

I've re-implemented the UI using a 100% Java solution. See for details. The most important change is that the rotary encoder is now controlled via pi4j (

Related Work

The radio is based on the experiences I've made with building the Mephisto I and Mephisto II.

Here are some additional fotos of the build process:



Finished Radio

Finished Radio

Finished Radio

Updated screenshots of the new UI: