Introduction: RASPBERRY ZERO INTERNET RADIO

Update nov 4 2025: The sdcard image contains a complete new linux distro (bookworm) and it has some new features like an lcd autodetect so that it can work without lcd. The video does not reflect the current wifi connection procedure and the lcd connection.

This is not the first raspberry internet radio, i know. But this one is:

  1. very cheap and works really good
  2. all functions controllable via a webinterface, your phone is the remote control
  3. very easy to build and operate
  4. optional lcd display to display songtitles
  5. portable due to the easy connection to wifi
  6. it has a 10 channel equalizer

No programming or soldering skills needed. Just buy the components, connect some wires between them and thats it!. Oh, and burn an image of the radio operating system on an sd card.

It would be a nice birthday present as it is very easy to operate. This radio has a lot of nice features. All controllable via a webinterface. You can easy compile 2 lists of favorite stations. Artists / Songtitles are shown on the webinterface. Watch the simple video to get an idea..

In fact, the only 'difficulty' you will face is connecting it to your wifi. This is done completely headless, no keyboard or console involved. You can do it with a smartphone or desktopcomputer/laptop/tablet. Watch the video.

When you power the RPI for the 1st time, it can't connect to your wifi network. After all it does not know what wifi network and the wifi password. It now opens its own network, the so called accesspoint. You connect to that and tell the RPI the network data. After a reboot it is connected. Thats all, you have a full operational radio.

Optional, when you have some soldering skills, you can add a standby led, a pushbutton or a touchpad and / or a power board that allows switching the power of the speakerset.

Supplies

What you need is:

  1. a Raspberry zero W
  2. a 5v micro usb power supply or build your own
  3. PCM5102 I2S DAC GY-PCM5102 (ebay)
  4. 20x4 lcd display (ebay)
  5. 8gb micro sd card
  6. minimal 9 dupont wires
  7. a powered computer speaker set (second hand)

and optional

  1. a tactile button or touchpad TTP223B
  2. 1 or 2 leds and resistors
  3. See the chapter "power supply" if you want to build one.

Step 1: BUILDING IT

Consider this: I am sure you'd like to build this radio with stuff you allready have on the shelf but that probably does not work. Don't blame me for that and don't ask me for support. I spend days and days to test this on a Raspberry Zero W ! You should really buye one, it won't cost you much.

GLOSSERY OF ABBREVIATIONS

Device : a laptop / tablet / Phone or desktop computer with wifi

RPI : a Raspberry Zero W

LCD: the lcd display

PREPARATION

You start with downloading and burning the image on an sd card. You do this by following the instructions here: sd card burning instruction

Beware the SD card requirements! When nothing seems to work, suspect the SD-card.

Below you'l find links where you can download the sd-card image file.


nov 11 2025 download from onedrive


Update 11 NOV 2025: The link points to a new sw version. The changes are:

  1. some improvements in the webpages (looks better on android)
  2. new linux version and music engine (mopidy)
  3. autodetects the lcd display so that it can work without lcd
  4. test page to debug the lcd

FIRST TEST

We can test with the basic hardware, that is the RPI connected to the usb power cable. If you have a display you can also connect it. It will show some output and your ip when connected to wifi.

The first thing to do is connect the RPI to your wifi network. The most convenient way is as follows: Insert the sd card and power up.

Please note that this is a slow process. Open the network configuration on your PC or phone and observe the list of available networks. After some time (be patient, the RPI is not very fast) you will see a wifi network called "RPI-HOTSPOT".

You connect your DEVICE to this network, when a password is asked: rpi-hotspot123 . Next you open chrome or another browser on the same DEVICE and type the address 192.168.4.1:8000 in the addressbar. If the webpage won't open, then you should reboot the rpi.

Now you will enter the config interface. Please provide the wifi credentials and submit. The RPI will reboot now. If you connected the display it will show you the IP when rebooted.

If you didn't connect the display, connect your DEVICE back to your wifi network and browse to rpi-radio.local/info.php to find the address of the radio.

Note that when the RPI could not connect to wifi, it tries again after 5 minutes. It will reboot than. So you have limited time to complete the wificonnectionprocedure.

If you browse to the given IP you'l enter the webinterface. The first thing to do next is expand the filesystem so that it uses the whole SD-card. Go to 'menu' -> system and click expand. After reboot your system is ready to play music, provided that you connected the dac.


If you plan to use (optional) a button, touchpad, the signal leds, or the lcd display you can connect them now and test if they work. The red led is on when the radio is off and the other led signals a touch event.

Please note that the touchpad should be configured for active high, TTP223 both models will work.


If you have the dac connected you can plug-in a headset of a Phone.

Now you have a fully operational radio. The controls on the webpage are self-explanatory. Where needed you can click a help link.

TIP

The dac and the touchpad all have leds on board that eat energy. Not much but 24/7 yearly…. I cut them from the board, there is light pollution enough in this world.

Step 2: THE POWER UNIT (optional)

When you have some soldering skills you could build this power unit. It can control the power of the speakerset so that it is not eating unnecessary power.

In the scheme you can see what components are involved.

The AC-DC converter is 5v - 700 ma (3.5W). These can work with various AC voltages AC 85 ~ 265v 50/60 hz I used stripboard to solder the components on.

I mounted a wall outlet on the back of the housing.

Step 3: The Eclosure

The enclosure is fairly easy to make out of some MDF sheet. This material is easy to saw and to cut. The opening for the display i cut out with a hobby knive. When you plan the usb, touchpad or tactile button at the front you have to cut out an opening for these too.

I fit the parts together with wood glue and keep them in place with some hotglue that i can easy remove afterwards. Then i cut away the excess material and remove the hotglue.

After sanding the edges i painted the in- and outside with expoxy resin. This get sucked into the MDF and the joints, making it strong. Now you can sand the front and the hood very smooth and paint it with acrylic paint.

I have a 3d printer so i can print decorative frames for the display and led, button and USB. I am building a version with a domoticz system so i have the usb on the back.

You can also build it in an antique radio, this might look better in your house interior.

Step 4: CONCLUSION

The engine of this radio is very powerfull and stable.

I have built a version with a led matrix array for the display. This works also very well even as this moving tekst needs much more cpu. This version has a BME280 sensor that measures pression, temperature and humidity and transmits the values to a user defined address. These values are also available on the webpage. And on the display that we can also use as a newsticker with variable speed and intensity.

Moreover it is in use as a domotica system (domoticz) that controls all the lights in my home. It uses an "RF link Gateway" on the usb so that there is no mp3 player.

Despite all this violence the radio plays on unperturbed. This proves that the engine is allright.

Step 5: Troubleshooting

Debugging

In every page there is a hidden frame where the output of scripts is displayed. The frame can be made visible by setting the debug switch on (please visit menu -> system -> debug)

the DAC

When i bought mine, the pads on the back were soldered like in the photo. This configuration works. If you received a dac that not is soldered, than you can solder it like on the photo.

the touchpad

When touched, after 0,5 second the signal led goes on, you should keep touching until the led goes out (after 1 second). Now you have a valid touch event and the radio will play or stop.

lcd display

The system tries to detect the lcd's address before initializing it. When this fails it does not try to write to the display, so the radio can work normally. If your display wont work you can try to detect it. In the menu 'system' there is i link 'lcd', when you click this the i2c system will try to detect the display. When this fails, please check the wiring.

ssh

If you need to open a terminal, you can use use putty and login with radiouser and radiouser