logo elektroda
logo elektroda
X
logo elektroda

Internet radio and audio file player on ESP32-S3

MAJSTER XXL 106245 1247
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
  • #121 21131333
    paulosxc
    Level 12  
    The audio works, it starts most often when I give it two quick volts. Could it be due to the different card reader someone wrote about earlier, i changed his miso to 35 but there i see a gpio boot or could this be the problem. So i can put mp3 files loose on the card? The encoders work strangely, i.e. if I spin it very slowly it is ok, if I spin it faster it only goes one way.
  • ADVERTISEMENT
  • #122 21131468
    hevet
    Level 16  
    The encoders unfortunately work as you wrote, I tried to tweak something but so far no improvement. Maybe changing the encoder library would improve things.
  • ADVERTISEMENT
  • #123 21131598
    paulosxc
    Level 12  
    I still have a question. I was able to get this sketch from the 1st page from the author to work on the OLED SSD1309 I2C, however with this fresh one from the fork it lights up white and goes out. Is it possible to get it to work?
  • #125 21132252
    paulosxc
    Level 12  
    Ok, it works this OLED bigger, thanks.
  • #126 21152949
    MAJSTER XXL
    Level 29  
    I don't know if any users have had problems downloading a complete list of stations from each bank, but I noticed that after updating the ESP32 board manager from Espressif it was only downloading a few dozen links from each bank. I rewrote a lot of things in the code and there was still no stopping point, until finally I decided to roll back the version to the one highlighted in the screen shot below and it finally started downloading the complete data. I have no idea why this is happening- I checked on 2 different ESP32 S3 chips.

    Screenshot of Arduino IDE showing board manager and code for ESP32. .

    Regarding the encoders themselves, the one for station selection from the scrolling list I already had to replace with a new one - it was just going crazy, after replacing it is quite stable, but not perfect either. I also have no idea how to improve it, because e.g. during fast forwarding it can sometimes go back one position when stopping the wheel movement.
  • #127 21159991
    paulosxc
    Level 12  
    I wonder if the type of encoder matters. i.e. the density of pulses per revolution?

    Added after 15 [minutes]:

    Just a question what board you are using. my board has rgb output on pin 48, can this affect the communication between the spi and the card, besides it shines in the eyes, it is enough to remove the resistor next to the diode Microcontroller board with connectors and electronic components on a purple background. .
    I soldered the dliode. the card is initialising. I checked the reader on pins 10,11.12.13 the card works.
    Hevet you bring a lot of good to the project maybe you can suggest something. I have also made this yoradio from you it is great but here I like more the station selection on encoder.
  • #128 21160404
    hevet
    Level 16  
    I tidied up a bit on the display, blew out the bits, changed the values to kHz and kB/s.
    Small OLED display showing music track information and sound parameters. .
  • ADVERTISEMENT
  • #129 21183432
    SP4SR
    Level 16  
    Someone changed something and now it won't compile
    In file included from C:\Users\Amigos\Documents\Arduino\ESP32_radio_player1\ESP32_radio_player1.ino:12:
    c:\Users\Amigos\Documents\Arduino\libraries\WiFiManager/WiFiManager.h:536:11: error: reference to 'byte' is ambiguous
      536 |     const byte    DNS_PORT                = 53;
          |           ^~~~
    In file included from c:\users\amigos\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\cmath:42,
                     from c:\users\amigos\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\math.h:36,
                     from C:\Users\Amigos\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.4\cores\esp32/esp32-hal.h:30,
                     from C:\Users\Amigos\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.4\cores\esp32/Arduino.h:36,
                     from C:\Users\Amigos\Documents\Arduino\ESP32_radio_player1\ESP32_radio_player1.ino:2:
    c:\users\amigos\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte'
      406 |   enum class byte : unsigned char;
          |                              ^~~~
    C:\Users\Amigos\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.4\cores\esp32/Arduino.h:149:17: note:                 'typedef uint8_t byte'
      149 | typedef uint8_t byte;
          |                 ^~~~
    
    exit status 1
    
    Compilation error: exit status 1

    can you help?
  • #130 21183571
    MAJSTER XXL
    Level 29  
    @SP4SR Look for the WiFiManager.h file
    and on line 536 replace with:

    const uint8_t DNS_PORT = 53;
  • #131 21183655
    SP4SR
    Level 16  
    Thanks, it works!
    And how do I flip the screen as I have everything upside down?
  • #132 21188713
    futek2
    Level 19  
    Hello interested in the subject of building according to the concept and design developed by kol MAJSTER XXL for which a big word of praise.

    https://www.elektroda.pl/rtvforum/topic4041603.html#20998118

    Reading the posts related to this topic I noticed that a lot of problems appear with the compilation of the source code.
    I think, that the author of the project will not mind if I add to this information the ready BIN code to be uploaded to the ESP32S3 module - as used by the author of the project.
    The upload is very simple with the help of one of the attached programs and before that you have to install the drivers that support the USB port for the recognition of the ESP32S3 module.
    The attached file Radio-internet-BEST.zip is a compilation of the project without any interference in the source code.
    I think that this will contribute to greater interest in this project by colleagues. MAJSTER XXL , because only the electronic part will remain to be done by average electronics technician.
    Programs for uploading the software are usually very simple and before each upload delete the entire contents of the memory.
    The drivers are included with indication of CH343SER.ZIP and a picture of how the BIN file is uploaded.

    To give you an idea of the interest in this facility, I have added a minimum possible number of points for the download.

    Greetings and I wish you success and satisfaction with the internet radio, because the project made by colleague MAJSTER XXL is exactly worked out.

    Futek2

    Moderated By ArturAVS:

    .
    The commission for easily accessible online files has been removed.

  • #133 21192033
    bolszoy
    Level 9  
    Hi. I have no experience with ESP ele project I really liked it.
    Unfortunately the screen is completely black, although I can see the SSID Internet_Radio in the laptop.

    I would also like to know what is the IP address of this radio /I saw it but I remember where/.
    Congratulations on the ingenuity of the author. Greetings.
  • #134 21192603
    futek2
    Level 19  
    Hi mate bolszoy .
    The first thing to do after uploading the software is to reboot the ESP32 and if you have WFI on your laptop then look for a new AP the name will be associated with the radio and connect and a browser should open and select log in and a page will be displayed with the setting of the password for your router. And if you have correctly selected the configuration, after the connection the radio stations appear. You will be able to see lite on the terminal preview. For me it worked from the first start. As for the dark display, maybe you have connected something wrong.
    The author of the project made everything ok.
    I think you will manage and enjoy.
    I would ask the author of the project to make a simpler version without the display and to control it via WIFI, because all you need is to add the code of the website with all the options for the selection of stations.
    IP address. 192.168.4.1 if something goes wrong with the configuration, you have to reload the software because then all the data stored in the ESP32 memory is deleted.
    This data is displayed shortly after uploading the software in the terminal window of the program with which you uploaded the software to ESP32.
    Kind regards
    Futek2
  • #135 21192788
    bolszoy
    Level 9  
    Thank you for your response. I am absolutely not saying that the author did anything wrong.
    Thank you for providing the IP.
    Regarding the lack of response on the display, I suspect my display. I have the GND VCC SCL SDA RES DC CS pin on it, and I think this is where the problem lies. Your displays have fewer pins, so I should probably use the CS pin on mine. I will buy another display and try again.
    As I wrote I can see the SSID Internet_Radio on my laptop so I rather have it uploaded well. Unfortunately I have win7 so installing python and aruino software is out of the question due to the requirements / unless I don't know something/.
    Best regards.
  • #136 21192842
    futek2
    Level 19  
    The upload of the software was successful if the information appears in the terminal window of the game program after an automatic restart of the ESP32.
    You may want to try uploading the software to the ESP32 again.
    Each upload erases - clears - the entire flash memory.
    Kind regards.
    Futek2
  • #137 21193125
    bolszoy
    Level 9  
    I do everything as you describe. There is a reset. I connect by IP but it throws an error -ERROR Connect to new AP Failed. Regardless of the network I am trying to connect to. Fellow Hevet as I read struggled with this display /SSD1309/, and if I remember correctly his RGB was lighting up - mine is similar. Unfortunately the links to his GitHub don't work because I would try to upload his soft and see if it works for me.
    Thank you for your patience.

    I didn't add that I have two ESP32S3 boards and two SSD1309 boards.
  • #138 21193185
    futek2
    Level 19  
    Hi kol. bolszoy .
    try reloading the software and let it clear the memory in the ESP32.
    Maybe this will help.
    It is ok with me.
    It even shows how many stations are connected - photo attached.
    Futek2
  • #139 21193358
    bolszoy
    Level 9  
    I think I'll give up for now until I figure out how to rewrite the code for my display and my board (the pin under which the rgb is).
    I won't do it with uno because my Windows doesn't allow me to, but I think there must be another way. Regards and many thanks for any help.
  • #140 21193370
    futek2
    Level 19  
    The display is a feather in your cap, but you can check if stations appear on the preview.
    Futek2
  • #141 21193403
    bolszoy
    Level 9  
    Exactly not because it won't connect to any wifi network. I don't understand why either.
  • ADVERTISEMENT
  • #142 21193417
    futek2
    Level 19  
    You're typing something wrong with the configuration, as it connects without any problems at my place.
    Or maybe it's too far from the router and the time is getting longer.
    Greetings.
    Futek2
  • #143 21193956
    bolszoy
    Level 9  
    Hi. I already know for sure that I have a problematic board /actually two/, and a lot of people have problems connecting to WiFi on them.
    The .bin file itself is certainly uploaded well, while in my case, as in the case of my colleague Hevet, the RGB lights up because it is pinned to pin 38 /out 48/. And this pin is used for the SD card - MOSI.
    Therefore I need to buy another board, but I don't really know which one to look for. Could you please take a picture of your ESP32?
    Thank you for your help.
    P.S. I've supported myself hands and feet from newer Windows than 7, but I can see that I'll have to switch if I want to do anything in Python.
    Regards.


    There was a help button somewhere I can't find....
  • #144 21194045
    futek2
    Level 19  
    Here is a picture of my plate
    https://static.elektroda.pl/attach/560635D2-2A30-4C36-8F6C-9CA3B9A05239_7467576.jpeg

    I made the compilation in ARDUINO IDE 2.3.2 for WINDOWS 10 - 64bit.
    But all the biobibliotheques needed I installed from scratch and there was no problem with the compilation.

    If you think that there is a difference between the boards, it is necessary to make a fix for a different type of display in the source code, but it is good that the author does it, because he knows the project best.

    Futek2
  • #145 21194071
    bolszoy
    Level 9  
    "I did the compilation in ARDUINO IDE 2.3.2 for WINDOWS 10 - 64 bits.
    But I installed all the libraries needed from scratch and there was no problem with the compilation.

    If you think there is a difference between the boards, then a fix needs to be made for a different type of display in the source code, but it would be good for the author to do this, as he knows the project best."


    I agree with you. As far as the board is concerned, with me there is a difference only in the addendum "-1"
    ESP32-S3-WROOM. On many forums, users are having problems connecting to the network.
    The display itself is not a problem as I can buy a second one.

    Also, in your case the RGB does not light up after loading the .bin file
    Greetings and thank you for your patience.

    Added after 53 [minutes]:

    Here is my plate.

    qrna I looked at the picture of the packages 30 times and did not zatryby to enlarge the tiles.....
  • #146 21194183
    khoam
    Level 42  
    bolszoy wrote:
    Otherwise in your case RGB does not light up after loading .bin file
    .
    If it "lights up" for you, it means that the new firmware is not uploaded - the "factory" firmware is still running. There is no other option.
  • #147 21194416
    MAJSTER XXL
    Level 29  
    @bolszoy do it this way, disconnect everything from the board and upload the program, then observe on the serial terminal the behavior of the radio, it should start on the default station from the first bank, of course first you need to connect the wifi network. That's it for starters, once the program is up and running, connect the DAC and then you can feed the audio signal to the amplifier. Let us know how it goes, preferably erase all flash memory before uploading the program.
  • #148 21194440
    futek2
    Level 19  
    Hi. When you upload the software, make a record of the terminal screen what it shows after a reset. It will display the text what it did after playing the software. In my opinion, do the test near the router because maybe there is a weak WIFI signal and it does not connect. Because if the software was faulty then you would not get the AP. When I have more time I will practice the examples of the WIFImenager library. Maybe it would be enough to increase the number of attempts to connect to the router or to increase the waiting time for connection.
    I think that the topic will become clear.
    And if you can, put an additional router to make a connection attempt to a less loaded router.
    Best regards and best wishes.
    Futek2
  • #149 21194465
    bolszoy
    Level 9  
    Hello to the author of the project.
    As I indicated at the beginning ESP is my first contact. But it turned out that my OLED was inadequate. Fortunately I was able to on alli.... To find its schematic. After a little modification and connecting the display reset and ESP I have "internet radio". And that's the end of it. No response is given by the encoders or the buttons. And now I am puzzled by the fact, no Wi-Fi connection, and that nothing else happens.
    I have only the OLED, encoders and buttons connected, no reaction - the RGB lights up. By way of deduction, I have come to the conclusion that I have an ESP32-S2 WROOM-1U. The pinology is apparently the same, but it is somehow very resistant to co-operation.
    I've ordered the WROOM-1 board, and it will probably arrive around Tuesday. I'm curious to see if it will kick off. At most, others will know what to watch out for. But I wouldn't recommend buying an ESP32-S3 with an external antenna output. There are some problems with these boards, according to foreign forums.
    Thank you for your interest and best regards.

    Added after 11 [minutes]: .

    I have 4 meters to the router. also thought about getting another one, but not today.
    Here is my dump:[/tr].
  • #150 21194487
    futek2
    Level 19  
    To me, it could be that your WIFI channel is clogged. Because everything is uploading fine and the ESP32S3 is booting correctly from what you have shown in the attached
    picture.
    I'm positive you will get the radio working.
    Best regards

    Futek2

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