[Raffael] had an old Broken Yamaha natural sound receiver lying around. Rather than throw it out, he built himself a slick web radio. He calls it RadioduinoWRT. [Raffael] started by removing all the internals – though he kept the front panel controls. He then added an Arduino Mega to handle the front panel controls, including a 16×2 character LCD module. The Arduino also takes commands via IR remote. An enc28j60 Ethernet module allows the Arduino to communicate with a the brains of the operation, a TL-WR703N mini router.
A micro USB hub expands the single USB port on the WR703, allowing both a USB sound card and a 4 gig USB stick to be mounted. We’d like to add that the TL-WR703 is a must in this application – the amazon link [Rafael] provides brings up the TL-WR702 as a top link. Only the TL-WR703 has a USB host connection.
The real magic is in [Raffael's] software setup. The WR703 is running OpenWRT. He added modules for the USB sound card, as well as expanding the file system onto the USB stick. Once that was complete [Raffael] added Music Player Daemon (MPD) and MPC, a console app to drive MPD. Lighttpd, a light web server provides an interface for the Arduino as well as a web front end to the entire radio.All this allows [Raffael] to control his radio in several ways. He can log in via any web browser on his network. He can use the front panel controls. He can use an IR remote. Since he is running MPD, any client (there are literally hundreds out there) will also drive the radio.
While a low-end USB sound card in a home stereo application does make our inner audiophile cringe a bit, the quality does seem to be pretty good. [Rafael's] design would make it simple to swap out a higher quality USB sound card if the need arises.