logo elektroda
logo elektroda
X
logo elektroda

Internet radio and audio file player on ESP32-S3

MAJSTER XXL 
Hello everyone,

for a long time I've wanted to make something cool that could be used basically every day - i.e. a useful computer desk accessory. So I came up with an internet radio with a file player on a cool OLED display. As I don't program microcontrollers every day, there are sometimes small errors in the code. The project will still be developed and the code fixed / optimised. Initially, I built everything on a contact board, but I was limited by the fact that the ESP32 module just happened to have one side of the pins unused, and I didn't want to keep messing it up with soldering, so I designed a new board - hereafter referred to as a prototype board, because everything on it is still on goldpin bases and sockets. Unfortunately I missed one mistake, by downloading the ESP32-S3-WROOM-1 pad from the EasyEDA base I found that there was a difference in pin spacing across the width of the module. There may have been different versions, but in the end, after slightly bending the pins, I managed to get it to fit on the base board. I have posted all the actual code, PCB view, gerber files for PCB fabrication and pictures on my github. I encourage you to make yourself such a kit to start with on a contactor, the learning and fun of an interesting device is priceless. Feel free to comment.

https://github.com/sarunia/ESP32_radio_player

The radio stations are downloaded from github, the banks are switched - max 100 stations each, then you switch each one back and forth:
https://github.com/sarunia/ESP32_stream

Costs:
OLED display 2.42" 128x64px white £60
ESP32-S3-WROOM-1-N16R8 WiFi , Xtensa LX7 48zł
PCM5102A DAC module 30zł
enclosure, I didn't want the usual black one, unfortunately this one was also expensive GAINTA G748 56zł
MB102 power supply module for contact boards or another similar one, because there are plenty of them everywhere, mine was for 8zł
2 rotary encoders with pushbutton, each about 8zl
4 switches (two PS11BBK and two PS11BBU) total about 16zl
2 gold plated RCA sockets (black marker CC-222B and red marker CC-222R) together for about 20PLN
PCB made in Poland quite expensive, 1 piece cost me 130zl including shipping

Currently this is what the file playback and radio looks like:

Homemade internet radio with an OLED display. Prototype of an internet radio with an OLED display on a desk. .

And this is how it looked during earlier work:

Interior of a prototype internet radio based on the ESP32 module, with colorful wires connected to a breadboard. Interior view of a prototype internet radio on a breadboard with an ESP32 module and OLED display. Prototype of an internet radio with an OLED display and buttons. Prototype internet radio with OLED display on a desk. Prototype internet radio with OLED display on a desk. Prototype of an internet radio with an OLED display on a desk. Prototype of an internet radio with an OLED display on a desk. DIY internet radio with OLED display and buttons.
DIY internet radio with OLED display and knobs. Prototype of an internet radio with an OLED display. Homemade internet radio with an OLED display showing Wi-Fi connected. .


.


Following this topic: on the next pages you will find the description of my v2 version of the radio with file player, which is based on v1 version. v2 version was equipped with higher resolution display and more refined as far as the source code is concerned. .
Below I have included a link to my github where you can find the project documentation and all the source code:
https://github.com/sarunia/ESP32_radio_player_v2

Based on my project a fellow forum member @robgold also made his own version of the radio:
https://github.com/dzikakuna/ESP32_radio_evo3

Note that the following attachments are for the v1 version of the radio.

About Author
MAJSTER XXL
MAJSTER XXL wrote 2001 posts with rating 340 , helped 164 times. Been with us since 2006 year.

Comments

gulson 10 Mar 2024 13:27

Thanks for the construction presentation! I also thought about this, because radio and Internet receivers are still quite expensive, and their software support is quite short-lived. Hence, any solution... [Read more]

MAJSTER XXL 10 Mar 2024 13:36

Great that you liked it. The cool thing is that you can arrange your stations as you wish and each time you turn on the power and connect via Wi-Fi, the current list will always be downloaded. Of course,... [Read more]

Andrzej Ch. 10 Mar 2024 15:18

I have a few free 16MB WROOM modules, so I think I`ve found a use, just to have some free time :) [Read more]

szeryf3 10 Mar 2024 17:39

I see that you have built something better than my recently purchased radio. https://obrazki.elektroda.pl/3843587600_1710088746_thumb.jpg [Read more]

TechEkspert 10 Mar 2024 18:33

Very nice end result, where did you make the plate? You can think about ESP32 with an external antenna for better communication with Wi-Fi. [Read more]

krzbor 10 Mar 2024 19:23

Recently I was looking for an 8ch driver. I found this board: https://obrazki.elektroda.pl/3671352100_1710094931_thumb.jpg I was surprised that the modules come in two widths. As you can see, it... [Read more]

efi222 10 Mar 2024 19:29

And this is proof that it is worth building your own devices. [Read more]

Imekxus 10 Mar 2024 20:22

Is it possible to add readme.md on git with a description and photos? These photos are not loading properly when I browse from https://github.com/sarunia/ESP32_radio_player/blob/main/Picture_1.jpg and... [Read more]

MAJSTER XXL 10 Mar 2024 20:32

@techekspert I drew the board in EasyEDA - I will be happy to share the project, but I don`t know how to do it in this tool yet. It`s nice if someone could adjust this spacing, and then it`s worth making... [Read more]

ArturAVS 11 Mar 2024 07:05

Recently I ordered 5 pieces 150x80 mm from JLCPcb, they arrived in exactly two weeks. Price ~$21. To tell you the truth, you designed your board quite lavishly. :D [Read more]

speedy9 11 Mar 2024 08:58

@majsterxxl do texts from internet radio display Polish characters or "bushes" in their place? [Read more]

MAJSTER XXL 11 Mar 2024 18:55

@speedy9 Unfortunately, bushes appear, but I think I`ll take care of this library a little later and add Polish characters. For now, the most important thing is to correct errors in the code, because the... [Read more]

simw 11 Mar 2024 19:05

Nice workmanship - complete. It would be good to indicate in the code what versions of the Arduino libraries were used. In a week or a month it may turn out that the project does not compile, then it... [Read more]

MAJSTER XXL 11 Mar 2024 20:32

@simw I just uploaded the package of used libraries to github, as a rule I have a habit of updating libraries that apply for update. [Read more]

speedy9 11 Mar 2024 21:15

Or to be precise, it`s $2 on Aliexpress... The code is for Arduino 2 or 1.8? [Read more]

MAJSTER XXL 11 Mar 2024 22:13

Arduino IDE is now in version 2.3.2, you need to add a package to support Espressif devices, I used the online installer for the entire package: https://dl.espressif.com/dl/esp-idf/ You also need to... [Read more]

Tytus Kosiarski 12 Mar 2024 16:31

@MAJSTER XXL, great project, timely and useful for everyday use :) You inspired me to do something like that too. I`m currently trying to do this using the electronics of my mp3 version still on AT91SAM7S256,... [Read more]

austin007 13 Mar 2024 16:15

Have you considered the KaRadio design? The project is constantly being developed, functional, and the community is large. [Read more]

MAJSTER XXL 13 Mar 2024 18:11

@austin007 I haven`t seen it before, I prefer to follow my own path and solve programming problems myself. As for the principle of operation and operation of buttons and menus, I know what is needed, so... [Read more]

%}