logo elektroda
logo elektroda
X
logo elektroda

Internet radio and audio file player on ESP32-S3

MAJSTER XXL 126474 1325
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
📢 Listen (AI):
  • #1261 21614351
    lanq98
    Level 1  
    
    // U8G2_SSD1322_NHD_256X64_F_4W_HW_SPI u8g2(U8G2_R2, /* cs=*/CS_OLED, /* dc=*/DC_OLED, /* reset=*/RESET_OLED);  // Hardware SPI 3.12inch OLED
    U8G2_SH1122_256X64_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ CS_OLED, /* dc=*/ DC_OLED, /* reset=*/ RESET_OLED);      // Hardware SPI  2.08inch OLED
    //U8G2_SSD1363_256X128_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/CS_OLED, /* dc=*/DC_OLED, /* reset=*/RESET_OLED);  // Hardware SPI 3.12inch OLED
    
    .

    I am using sh1122 to control the OLED 2.08 screen and the code has been set to U8G2_SH1122. What is the cause of the image distortion after uploading the software?
    Please advise.
    Greetings.
  • ADVERTISEMENT
  • #1262 21615090
    hevet
    Level 16  
    I tested on Platformio library version 54.03.20 and it seems that FLAC plays correctly.

    But in general I guess these newer libraries are more demanding, in mode=1, the seconds in the clock every which way jump by two, in the older version 51.03.07, this does not occur, so I went back to the older version. In the case of Yoradio, it's said to run worse in the pilot on newer kernel versions.
  • #1263 21615320
    Lechuuu
    Level 13  
    @hevet I've also noticed that with the new audioI2S library version 3.4.0 our radio freezes - e.g. VU freezes terribly. And regarding Yo, on core 2.x the remote control handling works perfectly, but on core 3.x the lag is terrible. Apparently espressif changed something in the timers in version 3.x, and the IRremoteESP8266 library is not updated to version 3.x.
  • #1264 21615375
    hevet
    Level 16  
    From probably version 3.3 onwards, PSRAM is required, it is possible that this needs to be implemented in code somehow.
  • #1265 21633059
    nouki
    Level 25  
    Welcome.

    Has anyone connected these bt china transmitters? At my place after powering up the Bt the wifi range disappears and the radio won't connect. After unplugging the Bt module power is ok.

    Greetings
  • ADVERTISEMENT
  • #1268 21637582
    amrowek
    Level 12  
    hevet wrote:
    These displays are not for this project.

    Eh then what display is suitable for this project?
  • ADVERTISEMENT
  • #1270 21640115
    amrowek
    Level 12  
    Hm on the fejs in the YoRadio Polska group, ST7996 displays are running on an ESP 32S3
  • #1271 21640121
    hevet
    Level 16  
    But this is not a topic about Yoradio, you haven't read as I wrote.
  • #1272 21640185
    DJCheester
    Level 26  
    Buddy amrowek this project has two types of display specified and if you want to build this radio then I recommend getting a display for this project the prices are not cosmic, you connect everything according to the schematic diagram you win the soft and run.

    It is logical that ESP can handle another display in another project, all you need to do is use a good library and you can display what you want, but the software on this page is written for dedicated displays.

    Unless you are a programmer and you are good at it, there are sources available in this thread and if you feel up to it, rewrite the software for a new display and then add something to this topic.

    Best regards...
  • ADVERTISEMENT
  • #1274 21643183
    Lechuuu
    Level 13  
    @nouki have a colleague go to your drive to the folder:

    c:username<user_name>appDataLocalAppData.

    and will delete all folders in that location. These are temporary files - it is likely that something has been saved there incorrectly.
    If you can't see the folder then have it turn on show hidden folders.

    After deleting the files, it's good to restart the Arduino IDE and start uploading again.
  • #1277 21643856
    nouki
    Level 25  
    >>21643664 Run it and you can even on 16x2 as you make changes. There the software is written for everything and nothing and here it is for a particular thing.
  • #1278 21644159
    DJCheester
    Level 26  
    I can see that my colleague amrowek wants to have two birds with one stone, YoRadio is a completely different project and no one is preventing him from using it and making it according to that project, we are basing ourselves here on the projections of our colleague Majstra, who was the first to launch this project and write the software for it for the OLED displays mentioned in the project. On the other hand, a new alternative software for the same hardware has been prepared by our colleague Robgold.

    The hardware issues have already been finalised, the circuit diagram and layout are unlikely to change, Robgold is only improving the project in terms of software.

    I suggest you either buy and make your own according to the design available in this topic or use YoRadio. I am honestly not familiar with the YoRadio project and don't know what it offers there.

    This radio from our topic meets my expectations in 1000% and I will not change anything (well, maybe I will inject new software when my colleague Robgold updates it).

    Greetings ...
  • #1279 21644335
    amrowek
    Level 12  
    Ok, gentlemen, don't hit me... I thought it was basically the same ... project, because both here and there the same board and dac and only somehow the screens differ. Is there then a chance to implement a colour display into this project?
  • #1280 21644362
    DJCheester
    Level 26  
    To use a different (colour) display, you would first need to see if it is supported by the u8g2lib library used in this project, if so, you would need to define the pins for that display in your software and use a different connection (hardware), but that's not the end of the story, the hardest part in my opinion is to rewrite the code (lines) that are responsible for the positioning of the lettering and display elements, and modify it with colour information. The question is whether these other displays have the same or a different resolution, because if different, then you have to arrange it somehow sensibly on the screen. As currently (in my opinion) nicely done by colleague Robgold.

    A difficult task (at least for me), but not impossible. If I have written something wrong, please correct others (more experienced) - I am also learning some things.

    Best regards...
  • #1283 21648430
    rp02
    Level 5  
    Welcome,

    when trying to compile version 3.18.12, with version ESP32_radio_evo3.18.13.ino - same message

    the following error appears:

    exit status 1

    Compilation error: 'class Audio' has no member named 'inBufferSize'; did you mean 'inBufferFree'


    change in code
    // Wait until there is *free* room to write len bytes
    while (audio.inBufferFree() < len) {
    delay(1);
    }
    audio.write(data, len);

    cleared the error message, but I don't know if it should stay that way.
  • #1285 21653510
    Slawek K.
    Level 35  
    It is not possible to make a two-layer ? these bridges look unprofessional to say the least, since nowadays in general few people make the tiles themselves and most order from China.
  • #1286 21653527
    AdamC
    Level 29  
    pepepe1 posted the pcb and you should rather thank him and here you are complaining.
    I suggest you do a professional design and post instead of complaining.
    Which despite good intentions and a professional pcb will not save you from the disgruntled.
  • #1287 21653598
    MAJSTER XXL
    Level 29  
    I've taken on another version of the project, this time on the ILI9488 display, the FreeSans12pt7b font fits me quite nicely here.
    Can someone please adapt the header file with bitmaps of Polish uppercase and lowercase diacritical characters Ą Ć Ę Ł Ń Ó ¶ Ź Ą ć ń ó ¶ ź ż
    so that it can be handled by Adafruit_GFX.h ?

    file attached

    Code: C / C++
    Log in, to see the code
    .



    Colorful Polish text displayed on a TFT ILI9488 screen .

    The calendar card is in abundance today:


    Color LCD ILI9488 displays date, sunrise and sunset info, and name days
  • #1288 21653753
    Slawek K.
    Level 35  
    AdamC wrote:
    pepepe1 posted the pcb and you should rather be thanked and here you are complaining.
    I suggest you do a professional design and post instead of complaining.
    Which despite good intentions and a professional pcb will not save you from the disgruntled.
    .
    A colleague is confusing complaining with constructive comments.

    Greetings
  • #1289 21653866
    pepepe1
    Level 13  
    >>21653753 the board is to do in half an hour and difficult to mess up: large, wide paths etc. As one alternative to put together on a factory development board, or a factory ordered one from the Chinese.

    I will try a professional approach to the case - inspiration:
    Black electronic panel with wooden base and analog voltage meters .
  • #1290 21653900
    DJCheester
    Level 26  
    Slawek K. wrote:
    AdamC wrote:
    pepe1 posted the pcb and rather should be thanked and here the complaining.
    I suggest you make a professional design and post it instead of complaining.
    Which despite good intentions and a professional pcb will not save you from the disgruntled.
    .
    A colleague is confusing complaining with constructive comments.

    Greetings
    .

    Hello I am in favour of developing the project and thanks to colleague pepepe1 for adding something of his own to the project, if someone can do better what is the harm in making a project and posting it.

    Slawek K. wrote:
    It is not possible to make a double layer ? these bridges look unprofessional to say the least, since nowadays in general few people make the boards themselves and most order from China.


    Sławek colleague I do bridges on boards in the version rewired, it has its advantages because I still do the boards with a thermal transfer and as pepepe1 writes it is half an hour and the board is ready.

    ESP32 Web Radio PCB layout with labeled components and jumpers .
    PCB layout view with ESP32, PAM8403, WM5102A components and signal traces

    The board under the Robgold colleague's version of the radio checked (Gerber attached) an electrode colleague ordered in China from this Gerber and everything works and fits.

    If you are doing a thermal transfer then one side is enough and you do the jumpers with wires and if you decide to order from China then the jumpers are factory made on the second layer so no need to wire.

    Also attached is a brd file you can generate yourself a pdf file for thermal transfer or use the one in the attachment

    This is how the radio looks assembled and running on the board

    Assembled PCB with ESP32 module and various electronic components
    Assembled single-sided PCB with electronic components on a carpet

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