The options for streaming music over the Internet have increased so dramatically lately that I’ve found my FM radio has become totally irrelevant. Still, I like to be able to listen to a lot of different types of music throughout the day, and I love radios too much to give up on them completely. Now that several music services, such as, have released their programming interfaces to the public, I decided to build a custom Wi-Fi radio that can stream my favorite stations and ensure that I’ll always hear music I like.

I based my design on a radio made by Jeff Keyzer, who runs the DIY website, in 2008. The core components remain almost the same: a Wi-Fi router that has USB ports and runs the free OpenWRT operating system for embedded devices makes the perfect small, low-power brain for the radio. I opted to use an arduino microcontroller in my version as the interface between the router and the front-panel display and controls, which will make it easier for you to customize. I set my version up to play regular Internet radio stations, music from the library on a connected USB drive, and stations and recommendations. A Web interface I programmed for the radio makes configuring all of your channels a breeze. The ability to add all those extra functions and choose whatever look you want (I built mine into a ’50s-era enclosure from a surplus store)sets the radio apart from any off-the-shelf model you’ll find.


Time: Three days
Cost: $100+

  • Take apart a router and install OpenWRT.
  • Configure the OpenWRT installation, download required packages, and install the Wi-Fi radio software.
  • Build the interface hardware. Connect the display and rotary encoder to the Arduino, and the Arduino to the router’s serial port.
  • Build the intermediary circuit board with the rest of the support circuitry, such as the voltage regulator and switch debounce.
  • Build the amplifier kit, connect the speakers, and hook up the USB audio adapter.
  • Install the power supply, and wire the power connections.
  • Configure your account and your Internet radio stations via the Web interface.