logo elektroda
logo elektroda
X
logo elektroda

Internet radio and audio file player on ESP32-S3

MAJSTER XXL 226437 2413
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
📢 Listen (AI):
  • #2071 21802643
    hevet
    Level 18  
    >>21801120 I doubt that stations would be interested in such an addition, at least some. There are cases that even some do not wish their links to be included in the listing pages. Presumably it is a matter of using their sites, where they are known to place advertisements.

    Added after 2 [minutes]:

    saper135 wrote:
    >>21800284
    I know there is a program where you add the appropriate components, but as far as I can see it supports the old ESP32. https://e2002.github.io/docs/myoptions-generator.html
    And that is the whole secret of this device, connecting all the components correctly.


    This is not a configurator for EVO Radio but for Yoradio, I don't know why people often confuse the two projects.
  • ADVERTISEMENT
  • #2072 21802741
    bernix
    Level 11  
    DJCheester wrote:
    Welcome, as a small error has crept into the gerber files, I am adding a corrected version.

    The error is in the descriptive layer (the paths are as they were before) so the thermotransfers are fine

    On the already ordered boards there will be a bit of chaos on the description mask.
    I have only now checked this on the JLCPCB website

    The Major and Robgold(2enc) boards will look like this

    ESP32 PCB board with component labeling for audio and microcontroller project Green PCB with white component labels and “ESP32 Web Radio” printed on the left

    After correction yes

    ESP32-S3 PCB with labeled audio and MP3 circuit components Green PCB labeled ESP32 Web Radio with audio and SD card component markings


    This is what happens when you have too many versions of libraries.

    For those who have already ordered, I apologise for misleading you

    The Robgold 1-enc version of the board was done before and correctly so the fix only applies to the other two.

    Corrected heat transfers attached

    Regards ...


    And could you reveal specifically where the error broke in?
  • #2073 21802786
    DJCheester
    Level 27  
    You can see on the description layers the pin names electrically are uncorrected.

    This can be seen in the scenes before and after the change.

    Regards...
  • #2074 21802948
    bolszoy
    Level 11  
    Fellow MAJSTER XXL. Any chance of a version for an encoder or two as in v1?
    I personally didn't like the remote control, nor the beejers on the phone.
    A lot of work goes into it, but for me version one was the simplest and best. Of course I don't mean to offend anyone.
    Regards.
  • #2075 21804135
    MAJSTER XXL
    Level 29  
    I don't plan on adding an encoder to my v3, too many combinations to handle the already complicated remote control interchangeably. I still need to make adjustments to the use of some functions, so that if I accidentally clicked the wrong thing on the remote control at a given time, it wouldn't do the control later, i.e. when I didn't want it - a matter of resetting the remote control button flags. If I were to put encoders on top of all this, it would logically become quite a mess.
  • #2076 21804171
    bolszoy
    Level 11  
    I understand. Thank you for your reply and best regards.
  • #2077 21804212
    kula350
    Level 12  
    >>21804135 Hello Greetings. I have uploaded 3v and will stand on the caption "Hello listener". Not sure what to do next. Someone here wrote about a phone app for this version. I have not found one on Git. How to connect to the network? Greetings.
  • #2078 21804240
    DJCheester
    Level 27  
    At my place it hangs like this if I don't have an SD card.
    And the connection doesn't go to enter the network data (have you done this before?)

    Greetings ...
  • ADVERTISEMENT
  • #2079 21804246
    kula350
    Level 12  
    >>21804240 No. I didn't. Maybe I screwed something up with the card because I plugged the reader in the display. How to connect it to the network. Is there a manager? Or is the card too big? 128Gb.
  • #2080 21804250
    DJCheester
    Level 27  
    On another computer the radio displays an AP you have to connect and go to http 192.168.4.1 this is the address of the manager there. And after the serial monitor what does this radio display?

    Added after 4 [minutes]:

    On some LCDs, three SMD pull-up resistors had to be removed from the data rails for the reader to work. Greetings ...
  • #2081 21804259
    kula350
    Level 12  
    >>21804250 I can't see this ESP and it won't connect.
  • #2082 21804282
    DJCheester
    Level 27  
    What does it send to the serial monitor ?

    Added after 1 [minute]:

    Or maybe you've got a bumped up ESP I've had one like that and take a finger put on the antenna and look on the AP computer.
  • ADVERTISEMENT
  • #2083 21804285
    kula350
    Level 12  
    TFT initialised
    info: ....... audioI2S Version 3.4.2
    PSRAM initialised correctly
    Available PSRAM:8388608
    Free PSRAM:7920248
    [880][W][sd_diskio.cpp:109] sdWait(): Wait Failed
    [884][W][sd_diskio.cpp:514] ff_sd_initialize(): sdWait fail ignored, card initialize continues
    [893][W][sd_diskio.cpp:518] ff_sd_initialize(): GO_IDLE_STATE failed
    [900][E][sd_diskio.cpp:809] sdcard_mount(): f_mount failed: (3) The physical drive cannot work
    [1408][W][sd_diskio.cpp:109] sdWait(): Wait Failed
    [1412][E][sd_diskio.cpp:128] sdSelectCard(): Select Failed
    SD card initialisation error!
    [1418][E][vfs_api.cpp:91] exists(): File system is not mounted
    Settings.txt missing - I create a new one with default values.
    [1426][E][vfs_api.cpp:26] open(): File system is not mounted
    Error: I cannot save settings.txt
    [1437][E][vfs_api.cpp:91] exists(): File system is not mounted
    [1447][E][vfs_api.cpp:26] open(): File system is not mounted
    Unable to create log file!
    [1623][E][esp32-hal-cpu.c:128] addApbChangeCallback(): duplicate func=0x4208d338 arg=0x3fc98c1c
  • ADVERTISEMENT
  • #2084 21804288
    DJCheester
    Level 27  
    You have a card initialisation error it can't see the card. And take a picture of the other side of the LCD where the reader is ....
  • #2085 21804399
    hevet
    Level 18  
    MAJSTER XXL wrote:
    I don't plan on adding an encoder to my v3, too many combinations to handle the already complicated remote control interchangeably. I still need to make adjustments to the use of some functions, so that if I accidentally clicked the wrong thing on the remote control at a given time, it wouldn't do the control later, i.e. when I didn't want it - a matter of resetting the remote control button usage flags. If I were to put encoders on top of all this, it would logically become quite a mess.


    It's always a bit of a mess with the flags, I myself struggled with it for quite a while before I got it to the order I wanted.
  • #2086 21804536
    kula350
    Level 12  
    >>21804288 Already found. The card reader is not working on the display. Something is wrong with it. I plugged in another one and it works. It even plays. ;) Now I am struggling with the remote control. I have another one and I have to change the codes, but it reads weird for me, because for example once it reads 0x015F and in other case 0x01A there is no fourth digit. Thanks for your help.
  • #2087 21804616
    hevet
    Level 18  
    @kula350 have you removed the resistors at the reader and made jumpers?
  • #2088 21804852
    kula350
    Level 12  
    Before, no. But now I have done it and it works. Something is a chinese rework. Thanks for the hint. Is there an APP for this radio? Is it possible to manage it via a browser. Is there any other way to do it? But it plays great. It also has trouble with larger SD cards.
  • #2089 21805023
    MAJSTER XXL
    Level 29  
    It can't be too quiet, the changes to the audio library are already annoying, when updating the ESP32-audioI2S to the latest version 3.4.4 they figured out that on the serial the audio parameters will be displayed differently again, which makes it necessary to make changes to my v3 version again, for now I'm going back to 3.4.2, because as it was jerking flac-and it's still jerking (we're only talking about the radio, audio files go normally).
    Today, a small update from me, I added another setting in the player menu, which allows you to enable or disable the option of resuming playback from the last played audio file. The file and folder index are saved every song change to the file card, and if the resume function is enabled, the player will go back to the last played file after a restart, but to the beginning of the file and not the moment of interruption during - maybe one day I'll do something about that too. For now, as usual, to test.
    You can find the changes on my github with v3.
    And this is how it looks like:

    Player display with playback settings menu showing playback options and current time

    ESP32 log output with active resume setting for the audio player

    Added after 5 [minutes]:

    kula350 wrote:
    I also have trouble with larger SD cards.

    I use a 128GB card, you need to format it to FAT32, look for such a small program and it will handle it: FAT32-Formatter
  • #2090 21805045
    hevet
    Level 18  
    @MAJSTER XXL and what has changed? I was using version 3.4.3, then subsequent commits, upgraded to 3.4.4 but here really only the version number in the files was changed. In my case I didn't have to change anything.
  • #2091 21805113
    kula350
    Level 12  
    >>21805023 Ok thanks. I changed the colour of the clock and station name to white. You can see better. If there was also an ON/OFF power button, it would be cacy. And it is ok. Thank you again. (And don't tell me that you don't have anything to thank me for, because I do have something to thank you for.) A flower from my wife, because she dreams of such a radio in the kitchen.
    Smiling emoji with closed eyes and hands gesturing “you're welcome”

    Smiling emoji walking with a red rose in hand
  • #2092 21805278
    DJCheester
    Level 27  
    >>21805023

    Majster cool that you are doing a soft update.

    As for me it would be very useful to be able to run the MP3 player without internet, I use a mobile hotspot and sometimes I forget it and the radhko is already useless.

    Before connecting to the network, is it possible to call up the menu and select the player or when there is no ap the question whether to start the MP3 player.

    Greetings ...
  • #2093 21805377
    MAJSTER XXL
    Level 29  
    @hevet at my place I extract the audio parameters from the data dumped to the serial terminal by void my_audio_info(Audio::msg_t m) , the author of the audio library changed himself the phrases that return the bitrate (in version 3.4.4 there is Bitrate (b/s): and SampleRate (Hz): ), i.e. the bracketed additions have appeared.
    I'm trying to adjust this, but listening to flac files from the card has already made my decoder cringe a couple of times, so I'm letting it go and going back to 3.4.2.
    On the plus side, the bitrate of the flac files has finally started to appear 6-7 digit instead of 3 digit on the same files I was comparing.
    Below is a screen shot of the decoder crash:

    Screenshot of serial terminal showing FLAC decoder debug logs and crash
  • #2094 21805404
    robgold
    Level 23  
    @MAJSTER XXL These changes to the library are some time ago. Now I see that they have only updated the versions correctly from 3.4.2 to 3.4.4 which is basically what I have been doing manually until now. Evo has already been running on these libraries for a while - it's stable. The change was annoying because the whole audio info block had to be rebuilt (also don't understand why or what Wolle did it for) but wanting to keep the library updated sooner or later has to be done.

    Version 3.4.4 supports 24 bit FLAC streams, in 3.4.2 you are limited to 16 bit. Download yourself from Evo my_audio_info because I think I left the structure the same, so there's a good chance that 1:1 will work for you.

    As for FLAC, the problem is not the library but WiFi and ESP. If you do a library swap from TCP or recompile your TCP libraries in ESP-IDF then FLAC streams will work.
  • #2095 21805450
    MAJSTER XXL
    Level 29  
    OK @robgold , I rebuilt this v3 of mine to already handle this data correctly with audio file parameters from version 3.4.4 of this audio library, I also noticed that for a flac station the parameter info: ....... estimated bitrate (b/s): . I've also made a handle under this that when I change to a station that broadcasts flac, the bitrate doesn't show up on my screen until the time-averaged one comes in. I'll try swapping those indicated files again later, but previously I've had it take a very long time to establish a connection after restarting the radio - have you had this problem? @DJCheester can confirm this, it was hanging on the station connection prompt.


    Console log showing FLAC stream info and estimated bitrate of 877493 b/s
  • #2096 21805463
    DJCheester
    Level 27  
    I have version 3.4.2 in two folders in libraries, one folder with original content for the Majster compilation and core without flaac files and the other under Robgold compilation. When I was compiling on the Robgold environment for the Majster project there were terrible problems, sometimes a few minutes for it to connect and sometimes it didn't want to connect at all. This is why I have to restore the original files every time I make a change. The latest h audio libraries I do not have Greetings....
  • #2097 21805508
    hevet
    Level 18  
    With me on 3.4.4 it connects very quickly on the changed files on the project with ili9488.
  • #2098 21805874
    MAJSTER XXL
    Level 29  
    It's nice that the new libka even embraces 24bits, but I still haven't found a solution as to why after swapping the libesp_netif.a and liblwip.a files, the first connection to the station link after a power restart is several tens of seconds in my v3 - it then doesn't accept any commands, just waits....

    Color display of a device showing internet radio info and environmental data.
  • #2100 21805885
    DJCheester
    Level 27  
    But you have messed up your soft ?

    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