You can periodically store the randomly generated value to internal EEPROM, then read and use that value as your random seed the next time the microcontroller boots.
The random seed is then randomized by how long the pedal ran last time (whenever that was), which is pretty dang random unless you know exactly how long the pedal was powered up (in milliseconds) last time, and what the random seed was on that previous boot.
The way I used to do it was run a checksum on RAM right after boot and use the checksum as the seed. Since the vast majority of RAM was not initialized, the result was highly variable.
I agree that using something the user does to seed a PRG is about as random as you can get.
I’ve been giving my best effort to lay one out, but I haven’t been able to find time. Also, I keep hitting layout frustrations (clean, organization). Eagle being in Fusion is clunky, too.