#define NO_BATTERY_MONITOR = no random boot.wav

Interesting discovery. Just curious as to why?
NO_BATTERY_MONITOR is in battery monitor and ProffieOS.ino
It doesn’t look like there’s any reference to audio at all in battery_monitor.h, and ProffieOS.ino only deals with randomizing and reading an analog pin.

Is the random choice of sound files based on a battery level reading?

ProffieOS initializes the randomness by doing a bunch of analogRead() calls. Basically the last bit or two of analogRead() is essentially random, so if you do 1000+ calls to analogRead() you get a thousand bits of entropy to initialize the random generator with. Any analogRead()-capable pin which is hooked up to something works for initializing the random generator, but the only one which I know is hooked up to something is the battery monitor pin.

I suppose on a proffieboard I could use the VREF for randomness instead, which would be independent of if you have a battery monitor, but if it’s on some other board, it might be hard to know what pin to use to initialize the randomness.

Without initializing the random generator, you get the same boot.wav every time.

Makes perfect sense, that’s what I figured. Thank you.