Giter Site home page Giter Site logo

I am using this library to listen to my favorite radios, from time to time (about 30-60min) the Esp32 reboots and then keeps rebooting for a few minutes immediately after the first sounds from the station comes out, then it functions normally again. Any ideas? about esp32_vs1053_stream HOT 13 CLOSED

lidense avatar lidense commented on June 18, 2024
I am using this library to listen to my favorite radios, from time to time (about 30-60min) the Esp32 reboots and then keeps rebooting for a few minutes immediately after the first sounds from the station comes out, then it functions normally again. Any ideas?

from esp32_vs1053_stream.

Comments (13)

CelliesProjects avatar CelliesProjects commented on June 18, 2024

Not really. Sounds like a failing or too hot 3.3v LDO.

-EDIT: You could try disabling psram, as this is implemented rather buggy on most older esps.

from esp32_vs1053_stream.

lidense avatar lidense commented on June 18, 2024

OK thanks.

from esp32_vs1053_stream.

lidense avatar lidense commented on June 18, 2024

But if I disable PSRAM I will not have the ringbuffer?
..that will increase the risk of having clicks during streaming?
Why is a ringbuffer only implemented if PSRAM is present? Isn't it possible to implement it in RAM using one of the 2 cores of the esp32?

from esp32_vs1053_stream.

CelliesProjects avatar CelliesProjects commented on June 18, 2024

But if I disable PSRAM I will not have the ringbuffer?

No ringbuffer without PSRAM. Normal RAM is too small for a second buffer.

..that will increase the risk of having clicks during streaming?

Yes, as the vs1053 is filled straight from the http buffer which has to fit in normal RAM.

Why is a ringbuffer only implemented if PSRAM is present? Isn't it possible to implement it in RAM using one of the 2 cores of the esp32?

Basically the same answer as the first question. Normal RAM is too small for a second buffer.

And for V0.0 ESP32 boards, I rarely have any dropouts listening without ringbuffer, but that might depend on your isp and which station you listen.

from esp32_vs1053_stream.

lidense avatar lidense commented on June 18, 2024

Thanks. I have an Adafruit_feather_esp32s3_tft with an Adafruit Music Maker FeatherWing , I like it because the esp32 and vs1053 are mounted one on top of the other with no wires (I had a lot of interference/instability when using a vs1053 board connected to the esp32 with Dupont wires).
Do you think my setup has good enough PSRAM? If not which esp32 board/vs1053 would you recommend?

from esp32_vs1053_stream.

CelliesProjects avatar CelliesProjects commented on June 18, 2024

That is a very nice combo. If Adafruit might ever stock up again on the featherwing boards I will get some myself.

Your hardware is more than capable.

from esp32_vs1053_stream.

CelliesProjects avatar CelliesProjects commented on June 18, 2024

To go back to your original question: I got no idea.

Which app do you use to tune in? Which station?

from esp32_vs1053_stream.

CelliesProjects avatar CelliesProjects commented on June 18, 2024

And maybe you could run the following code to actually see what hardware revision you have.

#include <Arduino.h>
#include <esp_chip_info.h>

/* https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/external-ram.html#chip-revisions */

void setup() {
#if defined(CONFIG_IDF_TARGET_ESP32S2) && ARDUHAL_LOG_LEVEL != ARDUHAL_LOG_LEVEL_NONE
    delay(3000);
    Serial.setDebugOutput(true);
#endif
    Serial.begin(115200);

    /* Print chip information */
    esp_chip_info_t chip_info;
    esp_chip_info(&chip_info);
    Serial.printf("This is ESP32 chip with %d CPU cores, WiFi%s%s\n",
            chip_info.cores,
            (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",
            (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "");

    Serial.printf("silicon revision %d\n", chip_info.revision);

    Serial.printf("%dMB %s flash\n", spi_flash_get_chip_size() / (1024 * 1024),
            (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");
}

void loop() {
}

from esp32_vs1053_stream.

lidense avatar lidense commented on June 18, 2024

from esp32_vs1053_stream.

lidense avatar lidense commented on June 18, 2024

I would like to listen to an italian radio that broadcasts in HLS:
https://radioitaliasmi.akamaized.net/hls/live/2093120/RISMI/master.m3u8
I have found some code developed for the M5stack that is supposed to decrypt HLS:
https://github.com/Yokohama-Miyazawa/M5HLSPlayer
It has a file
AudioGeneratorTS.cpp
that is supposed to decrypt the .ts files (demux?)
i was wondering if it is possible to use it to get an .aac file from the .ts using this converter (?) and pipe it to your ESP32_VS1053_Stream.cpp. I would like to learn more about all this to be able to do that but I could not find useful documents online that explain how to demux with an esp32...

from esp32_vs1053_stream.

CelliesProjects avatar CelliesProjects commented on June 18, 2024

For the rebooting problem I think I found the solution.

https://github.com/CelliesProjects/ESP32_VS1053_Stream#prevent-reboots-while-playing

Let me know if it works for you.

from esp32_vs1053_stream.

lidense avatar lidense commented on June 18, 2024

I have revision V3, so I put "-D BOARD_HAS_PSRAM" in platformio.ini and it seems to work OK.
Do you have any idea concerning the HLS question above (2 days ago)?
Thanks and regards

from esp32_vs1053_stream.

CelliesProjects avatar CelliesProjects commented on June 18, 2024

Closing as solved.

from esp32_vs1053_stream.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.