logo elektroda
logo elektroda
X
logo elektroda

Internet radio and audio file player on ESP32-S3

MAJSTER XXL 178389 2010
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
📢 Listen (AI):
  • #2011 21787641
    DJCheester
    Level 27  
    MAJSTER XXL wrote:
    I made a second menu, this time for the audio file player. In the settings, there are options to toggle the display of the song time from the beginning or from the end (I'm currently practising on MP3 files) and to enable/disable random playback of files from the current folder. I calculate the duration of an MP3 track with a fixed bitrate based on its size in bytes and its bitrate, which is the number of bits played per second. I first convert the file size from bytes to bits (multiplying by 8) and then divide this value by the bitrate in bits per second. The result of this operation gives the total duration of the song in seconds. The time counting code still needs to be refined, as some mp3s count incorrectly, I will collect the time for flac files using a different method, as the audio library returns the number of seconds for the loaded file.
    Below are screenshots of this menu in action, the code is available at a known location.

    Audio player screen displaying MP3 track info and playback time
    Settings menu of an audio player showing playback time and shuffle mode options


    I'm also testing no Majster cool that I can finally have my stations in Bank01.txt without worrying that it will overwrite your ;)

    PLUS ;)

    Regards...
  • ADVERTISEMENT
📢 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