That said, this is very nicely-done and, for a mechanical, motion-based system, comes VERY close to being as random (or, at least, pseudorandom) as TPT allows. +1. You've posted some really good stuff lately, keep it up!
I tested the probability curve (I was bored), and there's a marginal, but non-zero, bias toward median values (a very slight bell curve, in other words). I think this is down to the way TPT processes the motion of the sand particle, and I don't know if you can eliminate it using this type of randomizer (I have an idea for another model which I THINK should have no bias, I'll test it now)