logo elektroda
logo elektroda
X
logo elektroda

Internet radio and audio file player on ESP32-S3

MAJSTER XXL 259422 2638

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
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
📢 Listen (AI):
  • #2431 21856052
    Anonymous
    Level 1  
  • ADVERTISEMENT
  • #2432 21856057
    DJCheester
    Level 27  
    Posts: 2049
    Help: 75
    Rate: 949
    kula350 wrote:
    The pilot codes are in a separate file in the "data" folder called "IRcodes.h". Customise there to suit your needs. I had a different remote control


    And that's something I'll look into tomorrow but in the main sketch you also have the arrows stuck in and ok on the rigid, why such a treatment ?

    Greetings...
  • #2433 21856061
    Anonymous
    Level 1  
  • #2434 21856067
    DJCheester
    Level 27  
    Posts: 2049
    Help: 75
    Rate: 949
    kula350 wrote:
    I don't know. It's easier for me to tinker with codes. I think it's just that


    And ok everyone combines as it is easier for them 😀

    Question how did you change the image in the h file ?

    Greetings....
  • #2437 21856612
    DJCheester
    Level 27  
    Posts: 2049
    Help: 75
    Rate: 949
    >>21853745

    Kula350 with what do you change these views (what button) I have assigned these buttons what Majster had as my own I can control select MP3/Radio and I can not do these views ???

    And second question I have very pale colours ??

    Greetings ...

    Added after 11 [minutes]:


    Module with a color TFT screen showing an MP3 player interface and “Radio Złote Przeboje”.
  • #2438 21856629
    krzychokup
    Level 11  
    Posts: 35
    Rate: 1
    Do you have the "arduinoFFT.h" pilik from this project ? Somehow I am missing :)
  • ADVERTISEMENT
  • #2439 21856643
    Anonymous
    Level 1  
  • #2440 21856650
    DJCheester
    Level 27  
    Posts: 2049
    Help: 75
    Rate: 949
    That every time to change the view you have to compile the radio ?
  • #2441 21856651
    krzychokup
    Level 11  
    Posts: 35
    Rate: 1
    Thanks . As for the colours try changing the display pin from the base code ESP32_radio_v3_ILI9488_canvas.

    Added after 17 [minutes]:

    You may have a display with the colours reversed. The topic existed in an earlier post ->
    tft_command(0x21);

    Jeset is a colour inversion, I added in line 869 after:

    // Image direction and orientation (MADCTL)
    tft_command(0x36);
    tft_data(0xE8); // screen orientation (rotation, reflection)
  • #2442 21856671
    DJCheester
    Level 27  
    Posts: 2049
    Help: 75
    Rate: 949
    Colours and orientation are good only pale what you wrote is for IPS I have TN

    Added after 16 [minutes]:

    >>21856643

    I have a library unless this one of yours is somehow altered ?

    For today I let go ;)

    I will probably wait for something easier to run ;)

    Regards ...
  • #2443 21856809
    Anonymous
    Level 1  
  • #2444 21856818
    DJCheester
    Level 27  
    Posts: 2049
    Help: 75
    Rate: 949
    I did the codes, the colours well it looks much better in the pictures than it does on me and which screen do you have TN or IPS ,?
  • #2445 21856878
    Dziwny234
    Level 8  
    Posts: 21
    Rate: 4
    And would Fellows please remind the settings in Arduino (Tools) for the Robgold (Ejcona) version for sure, as I'm getting a bit confused. Thank you in advance.
  • ADVERTISEMENT
  • #2448 21857357
    robgold
    Level 23  
    Posts: 698
    Help: 10
    Rate: 284
    Hi,

    Such a curiosity for you. Two pictures...someone will say, what does this Robgold show, a picture of the Evo and still from a contact board but not really. The radio is "fired up" on the Sonocotty ESP32Lauder board (I think that's the name of this version with ESP32S3 and TAS5805 - just a ready-made one with a TAS amplifier) while the other board is nothing but "Remote OLED Evo Radio".

    Breadboard prototype with an ESP32 board and a yellow display showing the station “Radio Italo 4 You”. Blue PCB with an ESP32 module, capacitors and terminal blocks, connected via USB cable.

    This simple system was born out of the need to take a quick screenshot of the radio display for subsequent version descriptions here on Elektroda and so I thought to myself since it already works what if I wanted to have such an additional control panel for the Evo but not based on a browser and phone...a crazy idea was born in my head and the realisation came :)

    Of course, everything can be read faster using data from a dedicated WebSocket or over UDP but here I have the maximum simplification of simply dumping all the display content onto ASyncWeb and receiving on a second ESP, throwing the buffer there on the ESP "as it came" then onto SPI and the display.

    This is what a simple web page looks like allowing you to record videos, take a PNG snapshot.
    Screenshot of “SSD1322 Live Monitor” showing Radio Italo 4 You station and track information.

    Video recorded using a script on www:




    Tested on 2Mbps FLAC, with simultaneous OLED buffer reception on PC and in parallel on ESP - works stably.
    I'm throwing in as a curiosity about how humans sometimes create things that are completely bizarre <br/span>;)

    P.S. An update for Bank15 has flown onto GitHub, where we have a couple of new stations with FLAC 16 and 24bit streams.
  • ADVERTISEMENT
  • #2449 21858410
    krzychokup
    Level 11  
    Posts: 35
    Rate: 1
    Where did you buy the integrated m.h. amplifier board ?
  • #2450 21858415
    robgold
    Level 23  
    Posts: 698
    Help: 10
    Rate: 284
    I emailed Sonocotta and he listed what I needed on OLX. Sonocotta is from Wrocław, Poland. He creates various constructions for audio projects. I took advantage of it because thanks to it, for little money I had a ready-made product, from which basically everything can be recovered later.

    https://sonocotta.com/esp-products/
  • #2451 21858422
    krzychokup
    Level 11  
    Posts: 35
    Rate: 1
    The new Ev0 radio update has some problem with the equalizer setting ? Have you checked ?
  • #2452 21858444
    robgold
    Level 23  
    Posts: 698
    Help: 10
    Rate: 284
    >>21858422 In the sense of what problem ? Did you do a complete update of the audio library along with deleting the old compiled sketch ?
  • #2453 21858451
    krzychokup
    Level 11  
    Posts: 35
    Rate: 1
    I updated the audio with the new sketch and right left on the remote only volume instead of eq control. Maybe I mixed up the buttons ? I will check.
  • #2454 21858537
    supsak
    Level 13  
    Posts: 81
    Rate: 5
    Hi, white vyswjetlacz, VU meter, novy soft, testing....
    I discovered that when the radio plays for a long time, with one encoder, it does not respond immediately to the first press. Also, after switching it off, I don't switch it on the first time, I have to press the encoder again. I replaced the encoder today, I will test it with the new one. It would also be good if the sze volume set to a minimum of one level, so that the "Mute "function is immediately activated. I don't know how to enable the "Mute "e with one encoder. / Obviously when using the radio without the remote control.


  • #2455 21858602
    robgold
    Level 23  
    Posts: 698
    Help: 10
    Rate: 284
    >>21858537 Compilation made from scratch with old files of precompiled libraries deleted ?
    In the case of radio operation with a single encoder, there is no mute function when pressed, because this is how the station list function is called.
  • #2456 21858683
    supsak
    Level 13  
    Posts: 81
    Rate: 5
    Ok, I understand, and this GPIO for controlling the amplifier is doctored? Which pin?
    It would be good, because when the radio is in the "OFF" state, and the clock on the display, the amplifier is on constant power, and the radio hums, buzzing from the inverter. It is very audible at night.
  • #2457 21858689
    ejcon
    Level 16  
    Posts: 253
    Help: 3
    Rate: 54
    >>21858683 As for the mod, GPIO 18, there you have the control.
  • #2459 21858715
    DJCheester
    Level 27  
    Posts: 2049
    Help: 75
    Rate: 949
    hevet well nice mods you have, you already showed one mod in the past now another, it's just a shame you don't make the codes available then we would all enjoy.

    Greetings ...

    Added after 1 [hour] 5 [minutes]:

    >>21745087

    I was referring to that first mod by colleague hevet.

    Greetings...
  • #2460 21858801
    hevet
    Level 18  
    Posts: 346
    Rate: 47
    It's the same one all the time, I just keep modifying it.
📢 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