logo elektroda
logo elektroda
X
logo elektroda

Internet radio and audio file player on ESP32-S3

MAJSTER XXL 278199 2770

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):
  • ADVERTISEMENT
  • #2762 21920599
    ejcon
    Level 17  
    Posts: 287
    Help: 3
    Rate: 62
    Work on the ESP32 WROOM and NV3007 dynamics – LOVYANGFX library adaptation


    .

    STAB heap=131556 minheap=126468 style=15 name=APMS STYLE 15 vucycle=1 testgen=0 tauto=1 tband=0 tdb=1 audio=96394 fft=96394 draw=9022 LOOP_FPS=98 AUDIO_FPS=85 FFT_FPS=85 DRAW_FPS=8 i2sReady=1 fails=0 short=0 rms=1625/1737 peak=5019/4815 sens=350 dyn=5 fall=40 hi16=50 leveler=1 autotlumik=1 agcGain=50 bl=213 vusens=155 vudyn=14 rx=61 cmds=6 last=TESTGEN 0
    STAB heap=131556 minheap=126468 style=15 name=APMS STYLE 15 vucycle=1 testgen=0 tauto=1 tband=0 tdb=1 audio=96652 fft=96652 draw=9049 LOOP_FPS=98 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=8 i2sReady=1 fails=0 short=0 rms=18076/18042 peak=27995/30253 sens=350 dyn=5 fall=40 hi16=50 leveler=1 autotlumik=1 agcGain=35 bl=213 vusens=155 vudyn=14 rx=61 cmds=6 last=TESTGEN 0
    STAB heap=131556 minheap=126468 style=15 name=APMS STYLE 15 vucycle=1 testgen=0 tauto=1 tband=0 tdb=1 audio=96911 fft=96911 draw=9075 LOOP_FPS=98 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=7 i2sReady=1 fails=0 short=0 rms=11122/11696 peak=25577/23601 sens=350 dyn=5 fall=40 hi16=50 leveler=1 autotlumik=1 agcGain=35 bl=213 vusens=155 vudyn=14 rx=61 cmds=6 last=TESTGEN 0
    STAB heap=131556 minheap=126468 style=15 name=APMS STYLE 15 vucycle=1 testgen=0 tauto=1 tband=0 tdb=1 audio=97170 fft=97170 draw=9101 LOOP_FPS=98 AUDIO_FPS=85 FFT_FPS=85 DRAW_FPS=8 i2sReady=1 fails=0 short=0 rms=3768/4067 peak=11455/13414 sens=350 dyn=5 fall=40 hi16=50 leveler=1 autotlumik=1 agcGain=37 bl=213 vusens=155 vudyn=14 rx=61 cmds=6 last=TESTGEN 0
    STAB heap=131556 minheap=126468 style=15 name=APMS STYLE 15 vucycle=1 testgen=0 tauto=1 tband=0 tdb=1 audio=97429 fft=97429 draw=9127 LOOP_FPS=98 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=8 i2sReady=1 fails=0 short=0 rms=2159/1681 peak=6281/3858 sens=350 dyn=5 fall=40 hi16=50 leveler=1 autotlumik=1 agcGain=53 bl=213 vusens=155 vudyn=14 rx=61 cmds=6 last=TESTGEN 0
    STAB heap=131556 minheap=126468 style=15 name=APMS STYLE 15 vucycle=1 testgen=0 tauto=1 tband=0 tdb=1 audio=97688 fft=97688 draw=9153 LOOP_FPS=98 AUDIO_FPS=85 FFT_FPS=85 DRAW_FPS=8 i2sReady=1 fails=0 short=0 rms=7771/7497 peak=27770/25931 sens=350 dyn=5 fall=40 hi16=50 leveler=1 autotlumik=1 agcGain=37 bl=213 vusens=155 vudyn=14 rx=61 cmds=6 last=TESTGEN 0
    STAB heap=131556 minheap=126468 style=15 name=APMS STYLE 15 vucycle=1 testgen=0 tauto=1 tband=0 tdb=1 audio=97947 fft=97947 draw=9179 LOOP_FPS=98 AUDIO_FPS=85 FFT_FPS=85 DRAW_FPS=7 i2sReady=1 fails=0 short=0 rms=13536/13569 peak=27147/31937 sens=350 dyn=5 fall=40 hi16=50 leveler=1 autotlumik=1 agcGain=35 bl=213 vusens=155 vudyn=14 rx=61 cmds=6 last=TESTGEN 0
    STAB heap=131556 minheap=126468 style=15 name=APMS STYLE 15 vucycle=1 testgen=0 tauto=1 tband=0 tdb=1 audio=98206 fft=98206 draw=9205 LOOP_FPS=98 AUDIO_FPS=85 FFT_FPS=85 DRAW_FPS=8 i2sReady=1 fails=0 short=0 rms=3267/3849 peak=10981/11141 sens=350 dyn=5 fall=40 hi16=50 leveler=1 autotlumik=1 agcGain=36 bl=213 vusens=155 vudyn=14 rx=61 cmds=6 last=TESTGEN 0
    STAB heap=131556 minheap=126468 style=15 name=APMS STYLE 15 vucycle=1 testgen=0 tauto=1 tband=0 tdb=1 audio=98464 fft=98464 draw=9231 LOOP_FPS=98 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=8 i2sReady=1 fails=0 short=0 rms=4579/3904 peak=13852/11492 sens=350 dyn=5 fall=40 hi16=50 leveler=1 autotlumik=1 agcGain=37 bl=213 vusens=155 vudyn=14 rx=61 cmds=6 last=TESTGEN 0
    STAB heap=131556 minheap=126468 style=15 name=APMS STYLE 15 vucycle=1 testgen=0 tauto=1 tband=0 tdb=1 audio=98723 fft=98723 draw=9258 LOOP_FPS=98 AUDIO_FPS=85 FFT_FPS=85 DRAW_FPS=8 i2sReady=1 fails=0 short=0 rms=3807/2891 peak=9980/8470 sens=350 dyn=5 fall=40 hi16=50 leveler=1 autotlumik=1 agcGain=42 bl=213 vusens=155 vudyn=14 rx=61 cmds=6 last=TESTGEN 0
    
  • ADVERTISEMENT
  • #2763 21920624
    efi222
    Level 22  
    Posts: 759
    Help: 12
    Rate: 1198
    ejcon wrote:
    LOVYANGFX LIBRARY

    This library is even faster than TFT_espi.
    The FPS has improved dramatically – 98 instead of the previous 37.
    Where exactly is the "DRAW_FPS" measurement taken, because it’s a bit "thin" here...
    Do you have four displays connected to the MCU?
  • ADVERTISEMENT
  • #2764 21920636
    ejcon
    Level 17  
    Posts: 287
    Help: 3
    Rate: 62
    Not two ESP32 processors with the old program for the ST7789 and the new NV3007. Just for the sake of demonstration, I’m currently transferring the VU and editing the styles – we’ll see how it turns out.
  • #2765 21920657
    efi222
    Level 22  
    Posts: 759
    Help: 12
    Rate: 1198
    I don't quite understand something.
    Loop and FFT – 98 FPS, but only 8 frames?
  • ADVERTISEMENT
  • #2766 21920661
    grzes_dst
    Level 12  
    Posts: 79
    Rate: 7
    Hello
    I’ve added a PAM8406 amplifier to the PCB from @DJCheester’s project, but unfortunately there’s no sound coming from the speakers.
    The volume is set to halfway; when I turn it up to maximum using the remote, the ESP resets after a short while.
    With the previous version of the PCB fitted with a PAM8403, there were no issues with sound coming from the speakers.
    What could be the problem? I’ve tried two PAM8406 amplifiers.
  • #2767 21920687
    efi222
    Level 22  
    Posts: 759
    Help: 12
    Rate: 1198
    >>21920661
    Is there any sound coming from the PCM5102 output?
  • #2768 21920699
    grzes_dst
    Level 12  
    Posts: 79
    Rate: 7
    @efi222
    Internet radio and audio file player on ESP32-S3

    There is sound on the PCM5102 and the radio connected to the stereo system is working normally.
    The voltage measured at the PAM pins is 4.4V; of course, the power supply cables to the PAM amplifier are connected to the board.
    Only a faint hum can be heard in the speaker.
    It looks as though the audio signal is not reaching the amplifier.
    Attachments:
    • Internet radio and audio file player on ESP32-S3 IMG20260613213649.jpg (2.8 MB) You must be logged in to download this attachment.
  • #2769 21920795
    efi222
    Level 22  
    Posts: 759
    Help: 12
    Rate: 1198
    grzes_dst wrote:
    The Chinese guy soldered the pin header the wrong way round

    Are the pin descriptions incorrect? Because as far as I can see, all PAM8406s are mounted identically.
  • #2770 21920812
    grzes_dst
    Level 12  
    Posts: 79
    Rate: 7
    I’ve just been looking at AliExpress, and in the photos they all have the pins facing upwards, just like in my photo.
    The best thing would be to buy one to solder on; that would sort the problem.
    When mounting the PR with the pins facing downwards, the Vcc, Gnd and speaker output pins are not reversed.
  • #2771 21921403
    ejcon
    Level 17  
    Posts: 287
    Help: 3
    Rate: 62
    >>21920657
    Here is a description of how it is calculated:
    LOOP_FPS determines the speed of the main program loop and indicates how many times per second the entire control code is executed. A value of around 90–120 FPS indicates very good system performance. AUDIO_FPS determines the rate at which audio samples are retrieved and processed from the I2S interface. The higher the value, the faster the input signal is analysed and the more responsive the indicators are. FFT_FPS specifies the number of full FFT analyses performed per second. This parameter determines the speed at which spectrum data is updated and the levels of individual frequency bands are calculated. Values of around 80–100 FPS are very good and ensure smooth operation of the analyser. DRAW_FPS determines the speed at which graphics are drawn on the display. This is the number of full panel refreshes performed per second. In the case of the NV3007 configuration, DRAW_FPS is most often the main performance bottleneck. For example, with values of LOOP_FPS=92, AUDIO_FPS=86, FFT_FPS=86 and DRAW_FPS=14, this means that the processor has no problem retrieving audio data and performing FFT calculations, whilst the display is refreshed only 14 times per second. This results in jerky needle movement, less smooth bar movement, visualisation delays and the impression that the analyser is running more slowly, even though the audio section is functioning correctly. Therefore, when optimising the FFT panels, the greatest attention should be paid to increasing DRAW_FPS, limiting the number of graphics operations, reducing the number of full screen redraws, and updating only the elements that have changed. The target values for the NV3007 FFT analyser are LOOP_FPS 90–120, AUDIO_FPS 80–100, FFT_FPS 80–100 and DRAW_FPS a minimum of 25–40 FPS, which ensures smooth and stable operation of the entire system.

    This is the performance I am currently achieving:
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=32627 fft=32627 draw=11654 LOOP_FPS=93 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=33 i2sReady=1 fails=0 short=0 rms=345/360 peak=549/687 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=290 bl=213 vusens=50 vudyn=14 rx=67 cmds=8 last=STYLE 6
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=32886 fft=32886 draw=11753 LOOP_FPS=93 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=32 i2sReady=1 fails=0 short=0 rms=938/1038 peak=2186/2001 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=117 bl=213 vusens=50 vudyn=14 rx=67 cmds=8 last=STYLE 6
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=33145 fft=33145 draw=11853 LOOP_FPS=93 AUDIO_FPS=85 FFT_FPS=85 DRAW_FPS=32 i2sReady=1 fails=0 short=0 rms=312/265 peak=1016/906 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=361 bl=213 vusens=50 vudyn=14 rx=67 cmds=8 last=STYLE 6
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=33404 fft=33404 draw=11952 LOOP_FPS=92 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=32 i2sReady=1 fails=0 short=0 rms=617/433 peak=1410/1250 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=286 bl=213 vusens=50 vudyn=14 rx=67 cmds=8 last=STYLE 6
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=33662 fft=33662 draw=12051 LOOP_FPS=92 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=34 i2sReady=1 fails=0 short=0 rms=278/276 peak=1622/1686 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=337 bl=213 vusens=50 vudyn=14 rx=67 cmds=8 last=STYLE 6
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=33922 fft=33922 draw=12150 LOOP_FPS=92 AUDIO_FPS=85 FFT_FPS=85 DRAW_FPS=32 i2sReady=1 fails=0 short=0 rms=549/453 peak=1600/1436 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=181 bl=213 vusens=50 vudyn=14 rx=67 cmds=8 last=STYLE 6
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=34180 fft=34180 draw=12249 LOOP_FPS=94 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=32 i2sReady=1 fails=0 short=0 rms=648/788 peak=2549/3180 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=195 bl=213 vusens=50 vudyn=14 rx=67 cmds=8 last=STYLE 6
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=34440 fft=34440 draw=12348 LOOP_FPS=94 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=33 i2sReady=1 fails=0 short=0 rms=544/410 peak=2137/1353 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=291 bl=213 vusens=50 vudyn=14 rx=67 cmds=8 last=STYLE 6
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=34698 fft=34698 draw=12447 LOOP_FPS=93 AUDIO_FPS=85 FFT_FPS=86 DRAW_FPS=32 i2sReady=1 fails=0 short=0 rms=784/817 peak=1567/1355 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=255 bl=213 vusens=50 vudyn=14 rx=67 cmds=8 last=STYLE 6
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=34957 fft=34957 draw=12546 LOOP_FPS=93 AUDIO_FPS=85 FFT_FPS=85 DRAW_FPS=32 i2sReady=1 fails=0 short=0 rms=520/557 peak=1117/1620 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=239 bl=213 vusens=50 vudyn=14 rx=67 cmds=8 last=STYLE 6
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=35216 fft=35216 draw=12645 LOOP_FPS=94 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=32 i2sReady=1 fails=0 short=0 rms=1283/1381 peak=2501/2737 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=135 bl=213 vusens=50 vudyn=14 rx=67 cmds=8 last=STYLE 6
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=35475 fft=35475 draw=12744 LOOP_FPS=94 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=33 i2sReady=1 fails=0 short=0 rms=245/174 peak=576/620 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=391 bl=213 vusens=50 vudyn=14 rx=67 cmds=8 last=STYLE 6
    UNKNOWN CMD: FFTDIAG
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=35734 fft=35734 draw=12843 LOOP_FPS=93 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=34 i2sReady=1 fails=0 short=0 rms=574/506 peak=1113/1238 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=308 bl=213 vusens=50 vudyn=14 rx=75 cmds=9 last=FFTDIAG
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=35993 fft=35993 draw=12942 LOOP_FPS=92 AUDIO_FPS=85 FFT_FPS=85 DRAW_FPS=31 i2sReady=1 fails=0 short=0 rms=464/398 peak=1354/1178 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=276 bl=213 vusens=50 vudyn=14 rx=75 cmds=9 last=FFTDIAG
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=36252 fft=36252 draw=13041 LOOP_FPS=92 AUDIO_FPS=87 FFT_FPS=87 DRAW_FPS=32 i2sReady=1 fails=0 short=0 rms=1197/1586 peak=1676/2338 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=108 bl=213 vusens=50 vudyn=14 rx=75 cmds=9 last=FFTDIAG
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=36511 fft=36511 draw=13140 LOOP_FPS=93 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=32 i2sReady=1 fails=0 short=0 rms=99/91 peak=336/233 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=366 bl=213 vusens=50 vudyn=14 rx=75 cmds=9 last=FFTDIAG
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=36769 fft=36769 draw=13239 LOOP_FPS=94 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=32 i2sReady=1 fails=0 short=0 rms=1/1 peak=3/3 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=100 bl=213 vusens=50 vudyn=14 rx=75 cmds=9 last=FFTDIAG
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=37029 fft=37029 draw=13338 LOOP_FPS=94 AUDIO_FPS=85 FFT_FPS=85 DRAW_FPS=32 i2sReady=1 fails=0 short=0 rms=930/871 peak=1700/1556 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=97 bl=213 vusens=50 vudyn=14 rx=75 cmds=9 last=FFTDIAG
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=37287 fft=37287 draw=13437 LOOP_FPS=94 AUDIO_FPS=85 FFT_FPS=85 DRAW_FPS=32 i2sReady=1 fails=0 short=0 rms=396/460 peak=2388/1414 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=198 bl=213 vusens=50 vudyn=14 rx=75 cmds=9 last=FFTDIAG
    STAB heap=146436 minheap=116444 style=6 name=VU PHOTO HORIZONTAL origvu=1 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=37547 fft=37547 draw=13536 LOOP_FPS=95 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=34 i2sReady=1 fails=0 short=0 rms=464/212 peak=1403/705 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=402 bl=213 vusens=50 vudyn=14 rx=75 cmds=9 last=FFTDIAG
    OK STYLE 12
    APMS FULLCLEAR STYLE_SPECTRUM
    APMS FRAME RENDER sprite=OK
    STAB heap=121460 minheap=116444 style=12 name=A1 ORIGINAL 7 origvu=0 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=37806 fft=37806 draw=13606 LOOP_FPS=93 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=13 i2sReady=1 fails=0 short=0 rms=1278/1362 peak=4021/4104 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=125 bl=213 vusens=50 vudyn=14 rx=84 cmds=10 last=STYLE 12
    STAB heap=121460 minheap=116444 style=12 name=A1 ORIGINAL 7 origvu=0 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=38064 fft=38064 draw=13625 LOOP_FPS=93 AUDIO_FPS=87 FFT_FPS=87 DRAW_FPS=7 i2sReady=1 fails=0 short=0 rms=1520/1476 peak=3686/3099 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=60 bl=213 vusens=50 vudyn=14 rx=84 cmds=10 last=STYLE 12
    STAB heap=121460 minheap=116444 style=12 name=A1 ORIGINAL 7 origvu=0 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=38323 fft=38323 draw=13645 LOOP_FPS=93 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=5 i2sReady=1 fails=0 short=0 rms=713/761 peak=2021/1913 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=165 bl=213 vusens=50 vudyn=14 rx=84 cmds=10 last=STYLE 12
    STAB heap=121460 minheap=116372 style=12 name=A1 ORIGINAL 7 origvu=0 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=38582 fft=38582 draw=13664 LOOP_FPS=93 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=6 i2sReady=1 fails=0 short=0 rms=538/568 peak=1396/1224 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=244 bl=213 vusens=50 vudyn=14 rx=84 cmds=10 last=STYLE 12
    STAB heap=121460 minheap=116372 style=12 name=A1 ORIGINAL 7 origvu=0 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=38841 fft=38841 draw=13684 LOOP_FPS=92 AUDIO_FPS=85 FFT_FPS=85 DRAW_FPS=6 i2sReady=1 fails=0 short=0 rms=2000/1889 peak=4395/4622 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=109 bl=213 vusens=50 vudyn=14 rx=84 cmds=10 last=STYLE 12
    OK STYLE 11
    APMS FULLCLEAR STYLE_SPECTRUM
    STAB heap=121460 minheap=116372 style=11 name=A1 ORIGINAL 6 origvu=0 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=39100 fft=39100 draw=13703 LOOP_FPS=94 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=4 i2sReady=1 fails=0 short=0 rms=1166/2174 peak=3019/4524 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=72 bl=213 vusens=50 vudyn=14 rx=93 cmds=11 last=STYLE 11
    STAB heap=121460 minheap=116372 style=11 name=A1 ORIGINAL 6 origvu=0 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=39359 fft=39359 draw=13723 LOOP_FPS=93 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=5 i2sReady=1 fails=0 short=0 rms=263/319 peak=821/825 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=370 bl=213 vusens=50 vudyn=14 rx=93 cmds=11 last=STYLE 11
    STAB heap=121460 minheap=116372 style=11 name=A1 ORIGINAL 6 origvu=0 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=39618 fft=39618 draw=13742 LOOP_FPS=92 AUDIO_FPS=85 FFT_FPS=85 DRAW_FPS=6 i2sReady=1 fails=0 short=0 rms=196/172 peak=483/351 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=422 bl=213 vusens=50 vudyn=14 rx=93 cmds=11 last=STYLE 11
    STAB heap=121460 minheap=116372 style=11 name=A1 ORIGINAL 6 origvu=0 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=39877 fft=39877 draw=13762 LOOP_FPS=92 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=6 i2sReady=1 fails=0 short=0 rms=4003/3813 peak=5865/5572 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=58 bl=213 vusens=50 vudyn=14 rx=93 cmds=11 last=STYLE 11
    STAB heap=121460 minheap=116372 style=11 name=A1 ORIGINAL 6 origvu=0 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=40135 fft=40135 draw=13782 LOOP_FPS=93 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=6 i2sReady=1 fails=0 short=0 rms=155/122 peak=396/317 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=238 bl=213 vusens=50 vudyn=14 rx=93 cmds=11 last=STYLE 11
    STAB heap=121460 minheap=116372 style=11 name=A1 ORIGINAL 6 origvu=0 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=40395 fft=40395 draw=13801 LOOP_FPS=93 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=5 i2sReady=1 fails=0 short=0 rms=331/240 peak=1057/678 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=387 bl=213 vusens=50 vudyn=14 rx=93 cmds=11 last=STYLE 11
    STAB heap=121460 minheap=116372 style=11 name=A1 ORIGINAL 6 origvu=0 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=40654 fft=40654 draw=13821 LOOP_FPS=93 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=6 i2sReady=1 fails=0 short=0 rms=506/651 peak=1374/1540 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=311 bl=213 vusens=50 vudyn=14 rx=93 cmds=11 last=STYLE 11
    STAB heap=121460 minheap=116372 style=11 name=A1 ORIGINAL 6 origvu=0 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=40913 fft=40913 draw=13841 LOOP_FPS=91 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=6 i2sReady=1 fails=0 short=0 rms=3210/2991 peak=5798/5247 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=49 bl=213 vusens=50 vudyn=14 rx=93 cmds=11 last=STYLE 11
    OK STYLE 12
    APMS FULLCLEAR STYLE_SPECTRUM
    STAB heap=121460 minheap=116372 style=12 name=A1 ORIGINAL 7 origvu=0 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=41171 fft=41171 draw=13859 LOOP_FPS=92 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=6 i2sReady=1 fails=0 short=0 rms=295/501 peak=1026/1239 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=283 bl=213 vusens=50 vudyn=14 rx=102 cmds=12 last=STYLE 12
    STAB heap=121460 minheap=116372 style=12 name=A1 ORIGINAL 7 origvu=0 altright=0 vugain=58 vucycle=1 testgen=0 tauto=1 tband=0 tdb=0 audio=41430 fft=41430 draw=13879 LOOP_FPS=92 AUDIO_FPS=86 FFT_FPS=86 DRAW_FPS=5 i2sReady=1 fails=0 short=0 rms=342/256 peak=919/999 sens=200 dyn=3 fall=18 hi16=250 leveler=1 autotlumik=1 agcGain=396 bl=213 vusens=50 vudyn=14 rx=102 cmds=12 last=STYLE 12
📢 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