While I love the esp32, it feels underutilized. I wonder if instead of the hardcoded "randomness" it could traverse a 1-D perlin noise field with a large scale but maybe varying sharpness. That way you can get long stretches of nothing, maybe a slow move, maybe a fast move.
Oh I'm well aware it's underutilized, it's simply what I had on hand. I love the idea of adding variations to the speed as well, maybe a future revision. I programmed and wired this together initially in a hotel room. I didn't put much thought into the esthetic, that needs work.