openFM

An Arduino based standalone internet radio receiver

There’re many internet radios like Last.fm, Spotify, and DoubanFM. You can listen to them with desktop clients or APPs on smartphones. But unlike traditional radio receiver, they are not tangible and simple enough to manipulate.

The main goal of this project is to create a low-cost and tangible radio for LAN/Internet radio streams reception without the need of a PC or smartphone. It means that such device has to be connected to Ethernet LAN switch or router and then to any local or global Shoutcast/Icecast servers on the Internet.

Hardware needed

The hardware solution is based on Arduino platfom. There’re two versions: the Wired version and the Wireless version.

- Arduino Board
Code tested with the duemilanove and the UNO.

- Ethernet Shield(W5100)
For the wired version.

- Wifi Shield
For the wireless version.

- Music Shield
I use my Chrysanthemum Shield instead of other shields. Please refer to the project "Chrysanthemum".

- 386AMP Amplifier Module (with Speaker)

Things still not quite right

Sound quality
Currently the system allows playback of streams with 32Kbps only. Above that the sound is chirping and not good at all. The reason hasn’t been found yet.

API & Compatibility
Not all the services provide APIs and detailed documents. Till now, I’ve only tested my code with doubanFM (the most popular Chinese internet radio). I need more time to make the product more stable.

Future Vision

Customized Product
When there’s a more stable and powerful hardware version, I would like to provide customized design service, which allows customers to bind openFM with any internet radio service. Furthermore, colorful plastic shells will be available to choose.