Oopsy / MCU Boost

Hi all,

I’ve been working on a very computationally intensive gen patch, a granulator with individual bandpass filters per grains, various looping modes, and even some monoverb and other bling on a Terrarium-based 125B pedal. All of this has been running fine at 32KhZ, 48 block size with fast math enabled. Lately I’ve been noticing that if I leave it running for a few minutes, sometimes just 5 minutes or so, other times 15 minutes, I hear garbled noise and the device stops emitting sound, i.e., the result of hitting the CPU limit.

Whenever I flash the firmware, I always get an “unable to match requested speed” message, and the device clocks at 330 rather than 400 mhz. In Graham Wakefield’s NIME paper from 2021, he talks about the MCU boost taking the Daisy from a baseline 400 Mhz to 480 Mhz. So why am I seeing such different numbers? I can’t lower the sampling rate any further - I’d really love to be working with the numbers he documented.

Several of these pedals are supposed to be going to a handful of local non-profits for music ed tech, including Beats by Girlz, in the next month or so, so that students can use them with their instruments in a STEAM program. Any tips greatly appreciated. Thanks!

Here’s a video that shows what happens. It actually doesn’t seem to be hitting a CPU limit. It usually happens after about 5 minutes.

https://vimeo.com/865783052/8061a1cf97?share=copy

After this, I tried reducing the number of voices and turned off fast math (but manual coded [fastpow], etc., in a few select places, like in the monoverb), now it’s been running for 20 minutes with no problems.

I’m still not sure why this is happening, but if turning off fast math solves the problem, it would be great to get that MCU boost and clock the Daisy at its full potential.

I don’t think the ‘unable to match speed’ message is referring to the CPU speed when your program runs.

When I use OpenOCD + STLINK to program Seed, I get two messages saying:
Info : Unable to match requested speed 4000kHz, using 3300 kHz

4000 kHz is 4MHz, which has nothing to do with Daisy’s clock rate.

From what I’ve seen, these messages can be ignored.

Ok, thanks, it’s very helpful to know that!

I’m still having the problem of the sound gradually (over the course of 10 seconds or so) turning into digital noise when I keep the pedal on for a while (5, 10, 20 minutes). Does anyone have a sense of why this could happen? Here’s a link to the video again that shows this happening:

I won’t speculate on that, since I’m unable to see what kind of code is generated for your patch. My gut feeling is some sort of memory or stack corruption.

I have some troubleshooting ideas/tips, or ‘straws to grasp at’:

Try to prove that it’s hardware or software - when it fails, is the sound still present at the output of the seed?

If hardware:
Could it be related to the temp? Try cooling it, the unit and-or individual components.

How about knocking around various components with a non-conductive object.

If Software:
Can you ‘instrument’ the code so you can see where it goes or goes wrong - like a log file or to a serial port.