I have had two of those odometers go out on two separate e30s for two different reasons. The first car, and the first reason, was dried out solder joints on the cluster. The speedo would work sometimes then not, then it stopped all together. Re-flowing the joints with a soldering iron fixed it.
On my second e30, the plastic gears were shot. This is a known issue with those clusters. You can find replacement gears online. If you take the cluster apart, its easy to see if the gears are the problem. They will look crumbly and the teeth will be broken.