ML_SynthTools sampler on a Wrover DevKit, stuck in a reboot loop. #72
Unanswered
KontinuumLab
asked this question in
Q&A
Replies: 2 comments 22 replies
-
|
Hi, I guess there is a problem with the buffer of the sampler data. There was a bug some days ago I've fixed. Do you use the latest version? |
Beta Was this translation helpful? Give feedback.
1 reply
-
|
I compiled the project with the ESP32 v2.0.13 board as ESP32 dev with PSRAM enabled and didn't see any boot loops. I guess there could be some issue when transferring the samples. It might be possible that the wav file could cause a problem too. Did you try out the wav file included in the project? |
Beta Was this translation helpful? Give feedback.
21 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi Marcel.
I’m still working on my instrument series, using your awesome sampler. Most recently you helped me get it working on a Wemos Lolin32 Lite, and I made this electronic hand pan: [link]
Since then, I have graduated to a Wrover module, which has an extra 4MB of flash memory for samples etc, but I haven’t been able to get the MLsampler fully working on it. My feeling is that the problem has something to do with the extra memory, which leads to a reboot loop.
I've been knocking my head against this for a while, and having trouble keeping track of everything I tried. But here goes my recounting of the issue, hoping that someone can spot some obvious error. Any help is much appreciated.
First of all, I’m working with the latest ML_SynthTools code, from this month, so I have the new “split” version of the library. The full electronics can be seen in the attached photos, but I get the same result and output from just the devkit, with nothing else connected.:


I’m able to upload and run the original ml_synth_sampler, and it gives me this Serial output:
As you can see, I've changed the pin definitions for I2S, to fit my use case. The board is set to ESP32_DOIT, and the board file has been edited. I'm using the DOIT board because it's what I initially got working on the Lolin32 Lite, but maybe another preset would be better...
Now, here’s my code, which is a modified version of the ml_synth_sampler example. This is just the main .iso, which is where all the modifications take place:
This code compiles and uploads, and I’m able to upload some samples using littleFS.
I’m using a custom partition scheme for this, with the maximum upload size set to 3145728. The only other partition schemes that I can get to upload are 8M and 16M with Spiffs, but I'm sort of understanding that the partition scheme is just supposed to reflect the main 4M, the other 4M chunk of flash is the domain of the littleFS. Is that correct?
Here’s the full Serial output between power on and reboot. After this it just keeps cycling the same output.
So it makes it most of the way through setup. It checks the chip, connects to the MPR121 via i2c, finds the sample files in memory, and starts loading one. But then it crashes just after outputting “data found”, which I have tracked to wav_to_sampler.cpp, line 241. Past that, I can’t figure out what the problem is, or why it crashes right there.
When I do try a larger partition scheme, like I mentioned, the result is a much shorter continuous reset loop, where I only get this from Serial:
I tried external power, with stable 5v applied on the devkit, in case it was a power issue, but that didn’t help or change anything.
I tried doing everything both in Arduino 2.3.2, and 1.8.19, as I was initially having some trouble with littleFS and the new IDE. However, ultimately I get the same result with both.
I've also tried a few of these boards (bought 10, tried 5 so far), although they were of course all from the same vendor, so any hardware issues might repeat across all or some of them.
I’m pretty sure I don’t understand the functionality and partition of the 2x4MB Flash memory, or the correct application of littleFS almost at all, so I assume the problem has something to do with that. But it could be something completely different, who knows…
Thanks for any help!
Beta Was this translation helpful? Give feedback.
All reactions