My Beemer has been running a bit irregular at idle lately. It would usually idle too high (1300-1500 rpm), which after a while would drop to rpm's as low as 800. A short google search revealed that sticky timing weights might be the problem.
The part responsible for the timing on an airhead sits behind the front engine cover:
You see why the call it the 'Bean Can':
The bean can has a little hatch on the top which you can remove with a thin screwdriver, exposing the weights:
And than it's just a simple matter of lubricating them with an oil that's friendly to the plastic parts inside the bean can.
Note 1: You set the timing of an airhead by rotating the bean can. So it's advisable to mark the exact position of the bean can before you remove it so you can put it back exactly the same way. I would also advise you to check the timing afterwards. I have a strobe light, so I can check it dynamically. It only takes a few minutes this way.
Note 2: Don't forget to disconnect the battery before removing the front engine cover. Contact with the diode board of this cover while the battery is connected, might cause expensive damage to the diode board.
I took the BMW for a short ride afterwards and the improvement is significant. Idle rpm is now nice and stable.