DIY Cute Mini Internet Radio

by CodersCafeTech in Circuits > Audio

3098 Views, 12 Favorites, 0 Comments

DIY Cute Mini Internet Radio

DSC04557.jpg
DSC04596.jpg
DSC04624.jpg
DSC04593.jpg

Radio has remained one of the most popular ways to enjoy music, news, sports, and live entertainment for decades. However, traditional FM radios are limited by broadcast coverage, meaning the stations you can receive depend entirely on your location. Signal quality can also be affected by distance, buildings, terrain, and interference, often resulting in poor reception and a limited selection of stations. With reliable Wi-Fi now available in most homes, workplaces, and public spaces, internet radio offers a completely different experience. Instead of being restricted to local broadcasts, you can listen to thousands of radio stations from around the world, discovering new music, international news, live sports, podcasts, and much more, all with consistent, high-quality digital audio.

In this Instructable, you will build your own Internet Radio capable of streaming radio stations from around the world. I also wanted to make it more than just another electronic gadget, so I gave it a cute, compact design inspired by the charm of traditional radios. By the end of this guide, you'll have an adorable little radio that combines the timeless appeal of a classic radio with the convenience of modern internet streaming.

Supplies

DSC04440.JPG
DSC04443.JPG
DSC04476.JPG
DSC04644.JPG

Meet Our Cute Radio

How To Build A DIY WiFi Internet Radio

Meet our cute little Internet Radio! Here's a quick look at how it works.

Understanding the Hardware & Assembling the PCB

DSC04450.JPG
Circuit-photop.png
PCB-SS.png
DSC04457.JPG
DSC04484.JPG

Before assembling the project, let's take a quick look at the hardware that powers the Internet Radio. At the heart of the project is the ESP32-S3, which connects to your Wi-Fi network, streams internet radio stations, and controls the entire system. Audio is transmitted digitally over the I²S interface to the MAX98357 amplifier, which drives the speaker with clear, high-quality sound. A 1.3-inch OLED display shows the current radio station and menu options, while a rotary encoder provides an intuitive way to browse stations, navigate the menu, and adjust the volume. Power is supplied through a standard 5V DC input, making the radio easy to power using any regulated 5V adapter.

Note: I highly recommend using the ESP32-S3 N16R8 development board for this project. With 16 MB of Flash and 8 MB of PSRAM, it offers significantly more memory than smaller variants, resulting in smoother audio streaming, better buffering, and plenty of room for future features.

Before designing any PCB, I always build and thoroughly test the circuit on a breadboard to verify that everything works as expected. Once the hardware has been tested and validated, I design the PCB in EasyEDA. If you'd like to build the same project, you can simply download the provided Gerber files and have the PCB manufactured by your preferred PCB manufacturer.

If you don't have access to PCB fabrication, you can also build the circuit on a perfboard by following the provided schematic. Although it requires a bit more wiring, it's a great alternative for prototyping.

Once you receive the fabricated PCB, begin soldering the components according to the labels printed on the board. Start by soldering the header pins for the OLED display, ESP32-S3 development board, rotary encoder, and MAX98357 I²S amplifier. Next, solder the 5.08 mm screw terminal block for the power input. Once all the headers have been soldered, simply plug each module into its corresponding header.

Finally, carefully inspect the PCB for any solder bridges, cold joints, or loose connections before moving on to the programming step. Spending a few extra minutes checking your work now can save a lot of troubleshooting later.

Downloads

Program & Test the Radio

Arduino-code.png
DSC04469.JPG

Open the project in the Arduino IDE and install the required ESP32 board package and libraries.

Before uploading the firmware, update the following sections in the code:

  1. Wi-Fi SSID
  2. Wi-Fi Password
  3. Radio Station URLs

These sections are clearly marked in the source code, making it easy to replace the default stations with your own favorites.

Upload the firmware to the ESP32-S3 and power the board. Within a few seconds, the radio should connect to your Wi-Fi network and begin streaming the selected station.

Before continuing, verify that:

  1. The OLED display is working correctly.
  2. Audio is playing through the speaker.
  3. The rotary encoder adjusts the volume.
  4. Pressing the encoder switches between radio stations.

Once everything is functioning as expected, you're ready to assemble the enclosure

Preparing the Enclosure

DSC04494.JPG
radio_Assembly v2.png
DSC04638.JPG

To give the project a clean and professional appearance, I designed a custom enclosure in Fusion 360 with a simple white and yellow colour scheme inspired by modern desktop radios.

The enclosure was designed specifically around the PCB and includes dedicated mounting points for the speaker, OLED display, rotary encoder, and PCB, making assembly straightforward while keeping the internal wiring neat and organized.

The enclosure consists of the following parts:

  1. Front Panel – Holds the OLED display, rotary encoder, and speaker grille, forming the main user interface of the radio.
  2. Back Panel – Encloses the electronics and provides mounting points for the PCB while allowing easy access during assembly.
  3. Front Ring – Fits around the front panel to give the radio a clean, finished appearance and securely holds the front assembly together.
  4. Speaker Grill – A separate component positioned in front of the speaker to protect it while allowing sound to pass through clearly.
  5. Rotary Encoder Knob – Press-fits onto the encoder shaft.

Download the provided STL files and 3D print all the enclosure parts using PLA. After printing, remove any support material and clean the parts if necessary before beginning the final assembly.

Preparing the Front Part

DSC04497.JPG
DSC04505.JPG
DSC04510.JPG

We began the assembly by preparing the front panel of the enclosure. First, the OLED display, speaker, and rotary encoder were secured in place using M3 × 6 mm self-tapping screws. Next, the required header pins were attached to the OLED display and rotary encoder, while wires were soldered to the speaker terminals. Finally, the front ring and speaker grille were glued onto the front panel, completing the front assembly and giving the radio its finished appearance.

Preparing the Back Part

DSC04514.JPG
DSC04520.JPG
DSC04523.JPG
DSC04531.JPG

Next, we prepared the back section of the enclosure. The custom PCB was mounted onto the integrated mounting posts using M3 × 10 mm self-tapping screws, ensuring it was held securely in place. We then installed the DC barrel jack into its dedicated opening. To prevent accidental short circuits between the DC jack terminals and the enclosure or nearby components, insulating sleeves (heat-shrink tubing) were placed over the terminals before making the electrical connections. This provides a safer and more reliable power connection for the Internet Radio.

Final Assembly

DSC04538.JPG
DSC04548.JPG
DSC04553.JPG

With both the front and back assemblies complete, it's time to put everything together. Carefully connect the OLED display and rotary encoder to their respective headers on the PCB. Next, connect the speaker wires to the MAX98357 amplifier using the screw terminals, ensuring the polarity is correct.

Once all the connections have been made, align the front and back sections of the enclosure and secure them together using M3 × 10 mm self-tapping screws. Before fully tightening the screws, check that no wires are pinched and that all components are seated correctly inside the enclosure.

With the assembly complete, simply connect a 5V power supply to the DC barrel jack. After a few seconds, the ESP32-S3 will connect to the configured Wi-Fi network and begin streaming the selected internet radio station. The OLED display will show the current station information, while the rotary encoder can be used to adjust the volume and switch between saved stations. Your DIY Internet Radio is now ready to use!

Final Results

DSC04557.jpg
DSC04614.jpg
DSC04624.jpg

And here’s the finished Internet Radio! It was fun putting everything together, from the electronics to the enclosure. Really happy with how this little build turned out!