logo elektroda
logo elektroda
X
logo elektroda

Internet radio and audio file player on ESP32-S3

MAJSTER XXL 147720 1512
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
📢 Listen (AI):
  • #1501 21748429
    MAJSTER XXL
    Level 29  
    And what would you say about adding RSS news display to the radio in the v3 version, I practiced the Polsat News Polska channel, you can probably also choose another channel from those available on the website: https://www.polsatnews.pl/kanaly-rss/
    I just chose this content: https://www.polsatnews.pl/rss/polska.xml

    In the main loop I added a new function, which is called every 1 minute and in each cycle displays one news item from all those available in turn:
    Code: C / C++
    Log in, to see the code



    View of Arduino IDE showing RSS logs from Polsat News feed


    Device screen showing RSS news from Polsat News about Independence Day message
    Radio display shows RSS news feed from Polsat News Polska channel
    LCD screen showing an RSS feed message from the Polsat News Polska channel
    Device screen displays an RSS news item from Polsat News about Katowice's transformation.
  • ADVERTISEMENT
  • #1502 21748435
    DJCheester
    Level 26  
    Hello this radio is slowly becoming an e-gazette 😀
    I for one am in favour.

    Greetings...
  • #1503 21748442
    irysbox
    Level 12  
    and I'm of the opinion that you have a laptop for information :) the radio should have typical audio functions plus time, date sleep alarm and that's it, nobody stares at the screen all the time and grabs information, switches on the radio and listens to it mainly
  • #1504 21748461
    DJCheester
    Level 26  
    Maybe so but not everyone has a permanent laptop on their desk switched on, such information can sometimes come in handy.

    If it was to be the radio itself then a colour screen is already something overkill that the radio is designed for 😀

    But everyone can (and should) have their own opinion, and I'm still in favour 😀

    Greetings ...

    Added after 4 [minutes]:

    Majster and tell me how do you get this information onto the screen i.e. how does the radio get it, do you pull this RSS data from the website or is it some strips on the TV pages and how do you get the link to put it on the screen ?
  • ADVERTISEMENT
  • #1505 21748513
    robgold
    Level 21  
    Hello,
    i uploaded a new version Evo 3.19.32 to my GitHub Dzikakun Link
    I have also uploaded a "merged" file that can be uploaded with the standard ESP flash tool by uploading the BIN from address 0x0000

    What's new ?

    Power modes
    The radio after power up checks what was the reason for the reset, if it is the result of a power failure it goes into "Standby" mode. I have added a full reset also with RTC registers. Radio can be switched on/off both with IR remote control (red handset) and encoder2 (1xclick 0.5 sec. switches radio on, to switch off hold down until "POWER OFF" appears)

    Timer in "Standby"
    When the radio is switched off by remote control In this mode, the screen can remain off or display a full-screen clock. Configuration via the web page in the settings. As a new variable has been added to the config file, please run the settings on the website and re-write the configuration file

    OLED clock display showing time 19:41 in standby mode


    Sleep mode
    Use the green handset button to set the sleep mode. This function works as in Yamaha, Denon, Marantz tuners. With the first click we set the time from 90minutes to 15 minutes. (90->75->60->45->30->15->OFF). If the information on the sleep time setting disappears from the display, each press of the sleep button calls up the function showing the set time, another press switches sleep off according to the principle 1x click show sleep setting, another click sleep OFF. The display in all modes shows the three letter icon "Z" - "ZZZ" as an indication of the activated SLEEP mode.

    OLED display showing SLEEP 90 MIN in green letters
    Radio display with OLED screen showing current station and active SLEEP mode icon


    Non-network mode
    In no-network mode when the wifi manager starts up, the IR remote control works from now on to a limited extent, the radio can be switched off (red handset), and a reset can be performed using the 'back' button. This is a nod to those who use the HotSpot for internet and sometimes forget to switch it on.

    Radiobrowser
    A new 'Radiobrowser' button has appeared in the menu tab. This is a page that uses Radiobrowser servers to search for any radio station in the world. There is a "PLAY" button on the page, which sends the address of the stream and allows you to play the station immediately on the radio. The radio displays "URL" as the station number, the bank number disappears. There is currently no option to automatically transfer links to the selected Bank.
    NOTE: In order for the Radiobrowser website to work, the browser.html file located in the "SD card content" directory must be uploaded to the SD card or SPIFFS memory

    Screenshot of Evo Web Radio menu highlighting the Radio Browser API option
    Radio display shows WIHT-FM ZC Main station with AAC stream and signal indicators.
    Radiobrowser interface showing rock radio stations from the USA with Play buttons



    Volume function "Fadein-Fadeout"
    I have added the "Fadein", "Fadeout" function. Now the station change is done with a pleasing mute and volume. This has eliminated the crackling that sometimes occurred when switching to a new station. Also, in SLEEP mode, when the radio counts down to sleep, it slowly mutes the radio and then switches off.

    Navigation on station list
    I have restored the option to scroll through the station list in the so-called "loop" mode, i.e. being on a station e.g: 99 scrolling by one station will set the list to station number 1.

    Update banks with stations
    I am slowly getting on with updating all the banks. A lot of stations no longer work, many are duplicated in multiple banks so there will be a lot of empty space. At the moment the following have been refreshed:
    Bank1 (treating this one as my list of favourite, handy stations)
    Bank16 contains HiRes FLAC stations

    The rest of the banks are coming soon.
  • #1506 21748526
    DJCheester
    Level 26  
    Hello, I have a question, I turn the radio off with the bar and also turn it on with the bar, from what I read in the latest version after switching it on it goes into standby mode, is that so?

    If so, would it not be possible to configure somewhere in the code that the radio in such a situation would start as before ?

    PS thanks for including the reset of the radio from the remote control when there is no AP.

    Greetings....
  • #1507 21748528
    irysbox
    Level 12  
    if anyone is looking for feet for the case, I recommend this: it is aluminium cut from 2 parts (black and gold) and you can make black feet and gold feet from it I cleaned a little bit the side of the black one and piled the thread and there are black and silver feet and the other one gold :) whoever prefers :) when I finish the radio I will show how it looks like still waiting for one detail :) https://allegro.en/offer/galley-furniture-gol...lack-metal-loft-glamour-radelated-17527212106
  • ADVERTISEMENT
  • #1508 21748534
    robgold
    Level 21  
    @DJCheester Exactly as you wrote i.e. turning on the strip also requires turning on the remote or encoder. It's easy to disable this in the code (I'll add the appropriate configuration in the next revision) For a quick reference: find the code snippet and just comment it out like this:

    Code: C / C++
    Log in, to see the code


    change to:
    Code: C / C++
    Log in, to see the code
  • ADVERTISEMENT
  • #1509 21748536
    DJCheester
    Level 26  
    Thanks for the quick reply, I'll be uploading this tomorrow to comment.

    Regards...
  • #1510 21748537
    Lechuuu
    Level 13  
    @robgold You do such a job it's a shock.... all other projects can go into hiding. Respect and thanks for your time on this project.
  • #1511 21748539
    DJCheester
    Level 26  
    I am of the same opinion, this is the best developed internet radio I have fired up and I have fired up all the versions in this topic. The only thing missing for me personally is the MP3 player from the SD card, if that was there it would be beautiful, but my colleague Robgold gave it up, well that's a shame. But it's still beautiful.

    Greetings ...
  • #1512 21748581
    bolszoy
    Level 10  
    DJCheester wrote:
    In the library manager you have ESP by espressif installed and there is a version we (at least I) use 3.20



    Greetings....



    I understand, so I have the latest one.



    And the audioI2S library the latest one you install and swap the files in the library directory you enter from the SRC directory and swap the ones downloaded from Github kol Robgold.

    Greetings....
    I'll do that already tomorrow.

    Admiration and respect for your knowledge.
  • #1513 21748612
    DJCheester
    Level 26  
    That is, both in the core and in the AudioI2S library you have to swap files.

    From the start, it looks like this.
    You install the Arduino IDE

    Next

    To this you install the ESP board
    esp32 by Espressif System 3.2.0

    After installing the core, that is what you have to do above, you have to do the first file swap (these files are responsible for the correct playback of FLAC stations - these streams on the original files stutter - after the swap the game plays without clipping)

    You go to Github by Robgold here

    https://github.com/dzikakuna/ESP32_radio_evo3...eplace%20in%20Arduino%20for%20FLAC%20stations

    And you download this file and unzip it and there you have two files which you have to swap with the files in this location

    C:\Users\xxx\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.4-2f7dcd86-v1\esp32s3\lib

    Where xxx is your computer name you need to check what computer name you have and enter there instead of XXX

    Next you download the libraries from the library manager in the Arduino IDE environment.

    To compile Robgold's radio you need all these libraries

    AsyncTCP by ESP32Async 3.3.6
    ESP Async WebServer by ESP32Async 3.7.2
    ESP-audioI2S-master by schreibfaul1 3.4.2 (here I do not have a newer version listed in the library manager in arduino 2.1.1)
    U8g2 by olivier 2.35.30
    WiFiManager by tzapu 2.0.17
    ezButton by ArduinoGetStarted.com 1.0.4

    Once you have downloaded all of them, now for the second file swap, go into the documents on your computer then the Arduino and libraries folder where you will have folders with all the libraries you just downloaded.

    Now download another ZIP from Github by Robgold from here

    https://github.com/dzikakuna/ESP32_radio_evo3/tree/main/src/ESP32_radio_evo3.19/Arduino/libs

    This file AudioI2Scommit.....

    You unzip and copy the contents of this folder.

    Then go to documents / Arduino / libraries / ESP32-audioI@S-master / SRC /

    And there you remove everything that is there and winnow out the ones you extracted earlier from the AudioI2Scommit file.

    Now you select the ESP32-S3 board and COM port (of course you should install the CH343 driver for the ESP board beforehand so that Windows sees it correctly)

    Now you go to Github again here

    https://github.com/dzikakuna/ESP32_radio_evo3/tree/main/src/ESP32_radio_evo3.19

    And here is the Arduino configuration file, view this screenshot for yourself and set up the ESP board configuration as shown in the screenshot.

    Now after all these moves you should be able to compile and upload to the ESP board correctly.

    Greetings....

    Added after 11 [minutes]:

    And by the way, if you want to load the software of the master, you will need other libraries which you will have to download through the library manager, but I can write you about that tomorrow because today I do not remember them by heart.

    Greetings ...
📢 Listen (AI):

Topic summary

The discussion centers on the development of an internet radio and audio file player based on the ESP32-S3-WROOM-1 module, featuring a custom-designed prototype PCB with OLED display and user controls including rotary encoders and buttons. Key challenges addressed include pin spacing discrepancies in the ESP32-S3 module footprint, integration of Wi-Fi connectivity with dynamic station list updates, and handling of Polish character encoding on the OLED display. The project uses Arduino IDE (version 2.3.2) with ESP-IDF support and requires enabling PSRAM. Audio playback supports MP3, AAC, and FLAC streams, with the ESP32-audioI2S library recommended over the incompatible Audio library. Users reported issues with SPI MISO pin assignment causing bootloader conflicts, resolved by reassigning MISO to pin 35. The project incorporates WiFiManager for network configuration, EEPROM and SD card storage for saving last played station and settings, and includes plans for tone control via an external KA2107 equalizer and a CS8673 amplifier module. Problems with encoder input stability and memory limitations for Bluetooth A2DP on ESP32-S3 were noted. The community suggested alternatives like KaRadio and ESP32-MiniWebRadio projects. Debugging tips include serial terminal logs for HTTP errors and flash memory erasure to resolve boot loops. The project is open-source on GitHub, encouraging forks and modifications. Additional features under development include browser-based updates, directory navigation, and potential audio recording to SD card.
Summary generated by the language model.
ADVERTISEMENT