DIY Web Radio and Media Streamer | Sunday, April 11th 2021, 18:23 | |
-- Based on an AVR and a Raspberry Pi 0W running MPD
Last year, a friend gave me a dead DAB+ radio, whose only function that still worked was the heater-function -- Oh, it wasn't supposed to do that? OK... Then it was 100% dead. -- Either way, I've been meaning to get myself an Internet radio for a while now, but all on the market were missing some feature I wanted, plus building one myself didn't sound too hard.
This post describes the radio that I built in the end, based around only the original case and speaker from the DAB+ radio.
Features
Here's a quick list of the features of the radio in its current state:
- Battery operated for around 5 hours
- Web radio streaming (direct and HLS)
- Music playback from my local file server
- Standalone operation (without PC or smartphone) for basic track selection and playback
- Extended features using PC or smartphone (playlists, favorites, ...)
- Single button press like functionality to bookmark a currently playing track for later
- Extended character set support (e.g. Japanese) in the title display
Technical Details
- IO / System controller: Atmega48
- SoM: Raspberry Pi Zero W
- Audio DAC and amplifier: MAX98357A
- Battery: 3000 mAh Li-Ion
The following graphic illustrates the internal blocks of the web radio and their connections.
If you are interested in the source code of the firm- and software, take a look at my Git repository for the project [1].
Web Interface
The radio provides a web interface to view and manage liked songs. It's not particularly pretty, but it gets the job done:
Gallery
Sources:
[1]: https://git.notsyncing.net/electronics/webradio