logo elektroda
logo elektroda
X
logo elektroda

Internet radio and audio file player on ESP32-S3

MAJSTER XXL 278532 2772

TL;DR

  • Built an ESP32-S3 internet radio with an audio file player and OLED desk display, evolving through v1, v2, and v3.
  • Uses an ESP32-S3-WROOM-1, PCM5102A DAC, rotary encoders, and GitHub-hosted station lists split into banks of up to 100 stations.
  • The prototype uses a 2.42" 128x64px white OLED display, with a PCB made in Poland costing 130zl.
  • v3 adds a colour screen, weather, a calendar, RSS news from Polsat News Polska, and full remote control.
  • The first PCB had a pad-spacing mistake for the ESP32-S3-WROOM-1, so the module pins had to be bent slightly to fit.
Generated by the language model.
ADVERTISEMENT
This content has been translated flag-pl » flag-en View the original version here
📢 Listen (AI):
  • #2671 21902173
    efi222
    Level 22  
    Posts: 760
    Help: 12
    Rate: 1198
    DJCheester wrote:
    I wonder if it's via I2S that will be the case ?

    I don't think so. I used to do trials with an external ADC with I2s output.
    Internet radio and audio file player on ESP32-S3
    The smoothness and FPS were identical to sampling from the internal ESP converter.
    Only something wasn't working for me with the FFT processing.
  • ADVERTISEMENT
  • #2672 21902192
    ejcon
    Level 17  
    Posts: 288
    Help: 3
    Rate: 63


    Now it works so there are still a few things to be corrected .there were bad settings .



    Laptop screen showing a Polish settings panel with power/status buttons and spectrum style and parameter fields.
    Spectrum version as in the video nice testing
    Attachments:
    • widmo_piof.zip (64.44 MB) You must be logged in to download this attachment.
  • #2673 21902391
    ejcon
    Level 17  
    Posts: 288
    Help: 3
    Rate: 63
    Final version of the software for the panels.
    Partly vu refer to the panels from Evo3.
    In the end, for this project they will be used perhaps for a different version of the
    Attachments:
    • 20260513_182430.mp4 (96.63 MB) You must be logged in to download this attachment.
  • #2674 21902397
    irysbox
    Level 13  
    Posts: 54
    Rate: 8
    ejcon and you made a typo not ecjon but ejcon :)
  • #2675 21902400
    ArturAVS
    Moderator
    Posts: 26219
    Help: 2296
    Rate: 7771
    @ejcon Don't insert videos as attachments, just use "Add video".
  • #2676 21902406
    ejcon
    Level 17  
    Posts: 288
    Help: 3
    Rate: 63
    >>21902397
    That fatigue is probably enough for today.
  • ADVERTISEMENT
  • #2677 21902753
    markon7
    Level 12  
    Posts: 13
    Rate: 3
    >>21900366 Good morning, I'm turning my head, but I'm too old to learn, after uploading the .bin seemingly everything ok, but the remote control programming doesn't work.
  • #2678 21902891
    ejcon
    Level 17  
    Posts: 288
    Help: 3
    Rate: 63
    >>21902753
    The entire software will be completely changed, so there will be no corrections for the time being.
  • #2679 21902969
    markon7
    Level 12  
    Posts: 13
    Rate: 3
    >>21902891 neither the Arduino nor the platform passes
    VS Code screenshot showing PlatformIO terminal with ESP32-S3 linker error “undefined reference”
  • ADVERTISEMENT
  • #2680 21903042
    efi222
    Level 22  
    Posts: 760
    Help: 12
    Rate: 1198
    ejcon wrote:
    The entire software will be completely changed

    I've been following this topic from the beginning and I must admit I'm starting to get faintly lost already....
    @DJCheester has recently submitted 20 versions.
    How about a sub-topic?
  • #2681 21903488
    robgold
    Level 23  
    Posts: 724
    Help: 10
    Rate: 290
    >>21903042 When I finish the new version of the Evo chassis I will most likely create a new topic for the Evo so that this build will appear independently. I don't think anyone expected this to grow so much that there would be so many boards, mods. As a result, someone new who is interested in a particular version has a very big problem to "wade through" it.
  • #2682 21903501
    efi222
    Level 22  
    Posts: 760
    Help: 12
    Rate: 1198
    >>21903488
    And this is a good 'move'.
  • ADVERTISEMENT
  • #2683 21903545
    sq3evp
    Level 39  
    Posts: 6513
    Help: 217
    Rate: 863
    The thread is dripping, but I can't find a post on whether it is possible to combine something like the TEF 6686 or other similar FM tuners with an FM tuner in conjunction with internet radio reception.
  • #2684 21903553
    efi222
    Level 22  
    Posts: 760
    Help: 12
    Rate: 1198
    >>21903545
    I have read the whole of this topic in the past, but I don't recall a thread about FM.
  • #2685 21903560
    sq3evp
    Level 39  
    Posts: 6513
    Help: 217
    Rate: 863
    It's not clear from the subject line, but adding an fm tuner would make an interesting combo
  • #2686 21903567
    robgold
    Level 23  
    Posts: 724
    Help: 10
    Rate: 290
    >>21903545 No. Evo is a pure internet radio streamer with no FM option. Likewise @MAJSTER XXL's version does not have an FM tuner.
    I was thinking of adding an RDA tuner at some point, especially as I have such a radio project but maintaining the software would become very difficult for one person.

    I think it would be easier to do it in the form of mini-tower type "blocks" like colleague @efi222

    although as they say never say never ;)
  • #2687 21903573
    sq3evp
    Level 39  
    Posts: 6513
    Help: 217
    Rate: 863
    It was this tower that gave me the idea, with YT algorithms suggesting ESP + webradio and ESP + FM tuner.
    I used to use a Nokia E52 as a webradio tuner.
    I use a BT module with an old home cinema I think I'll build something to add. Also, a decent FM tuner will be much better than the one in the cinema.
  • #2688 21903598
    robgold
    Level 23  
    Posts: 724
    Help: 10
    Rate: 290
    >>21903573 FM is slowly becoming pointless, especially if you don't have a good antenna. Receivers are getting less and less sensitive because manufacturers assume that transmitter signal strength and distance will compensate for this. An RDA or TEA isn't somehow ideal either. The advantage of such a streamer is the launch time. If it wasn't for the logo and progress bar loading the station bank, it would be within 1-2 s.
  • #2689 21903604
    ArturAVS
    Moderator
    Posts: 26219
    Help: 2296
    Rate: 7771
    @sq3evp You could try with SI4735 or similar in series. Or for example the RDA5807 (FM only). Si4735 is more versatile (bandwidth, AM, FM, SSB, digital audio output). TEA5767 (FM only).
  • #2690 21903613
    efi222
    Level 22  
    Posts: 760
    Help: 12
    Rate: 1198
    sq3evp wrote:
    It doesn't appear from the topic, but adding an fm tuner would give an interesting combo

    The ESP32S3 is a very good and cheap MCU with a huge amount of memory. But stuffing all sorts of demanding fireworks just because there is room for them ends up with engine hiccups....
    Here the earlier ejcona softwares can be taken as an example. He dabbled with them and ended up abandoning the project in those versions.
    ejcon wrote:
    The entire software will be completely changed so no fixes can be expected for the time being
  • #2691 21903635
    sq3evp
    Level 39  
    Posts: 6513
    Help: 217
    Rate: 863
    >>21903598
    Tuners based on the TEF6686 are quite sensitive, there are examples of implementations on the net, but maybe that's also right that there's nothing to mix up the designs.
  • #2692 21903653
    ejcon
    Level 17  
    Posts: 288
    Help: 3
    Rate: 63
    >>21903613
    Not quite the functions I have done, I intend to implement in a different way.
    Work in progress.
  • #2693 21903799
    efi222
    Level 22  
    Posts: 760
    Help: 12
    Rate: 1198
    >>21902029
    I'd like to see this too, as from an external ADC - I2S converter it didn't work as expected.
  • #2694 21906085
    pitekb
    Level 14  
    Posts: 79
    Rate: 1
    Hi
    @robgold Where can I download the ESP32-audioI2S library version 3.4.5q with commits 07.05.2026?
    I don't see it on your github.
    Without it, errors appear when compiling.
  • #2695 21906106
    robgold
    Level 23  
    Posts: 724
    Help: 10
    Rate: 290
    >>21906085 From the library author (https://github.com/schreibfaul1/ESP32-audioI2S) Link .
    I'll try to upload the version I did the last compilation on in the next few days.
  • #2696 21906191
    sq3evp
    Level 39  
    Posts: 6513
    Help: 217
    Rate: 863
    >>21906106
    This audio output DAC converter board is something specific? I don't see a designation on the project page from the post.
    It looks like other boards similar, but I don't know if there could be anything meeting the requirements?
  • #2697 21906200
    efi222
    Level 22  
    Posts: 760
    Help: 12
    Rate: 1198
    >>21906191
    This is the popular and inexpensive PCM5102A DAC
  • #2698 21906226
    sq3evp
    Level 39  
    Posts: 6513
    Help: 217
    Rate: 863
    efi222 wrote:
    >>21906191
    This is the popular and cheap PCM5102A DAC

    So, from what I've been able to find, a very popular configuration.
    Will it go on any ESP32 or does it have to be the eponymous ESP32-S3 (probably mainly more memory)?
    I have the ESP, I need to buy a DAC module.
  • #2699 21906258
    robgold
    Level 23  
    Posts: 724
    Help: 10
    Rate: 290
    >>21906226 Must be an ESP32-S3. The Audio Library requires it, and you can't run FLAC or mp3 stations with a bitrate of 256kbps or more, because there's not enough RAM to buffer the data.
  • #2700 21906270
    sq3evp
    Level 39  
    Posts: 6513
    Help: 217
    Rate: 863
    >>21906258
    Well, you have to buy a new module with ESP32-S3. Are there any CPU and memory requirements?
    The ESP can probably do as a BT receiver? There is Wifi + BT on the board.
📢 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.
Generated by the language model.
ADVERTISEMENT