I've been working on the random motion model that I planned yesterday with some success.

The toothed bar is hinged at the top so as the rotor is pulled up it catches on the teeth and the rotor turns. On the way down the teeth move out of the way.

The end result is that the rotor moves up and down turning on the way up then landing in a random position on the way back down. So, it sort of works and with a bit of tweaking it'll be spot on. The trouble is the complexity. This is just the core of the model. I still need to add the mechanism that takes the random position of the rotor and converts it into an output. 

It's going to need simplifying. Perhaps this could be the answer…

USEFUL LINKS: Random motion first article